Краткий свалочный справочник по Linux.

Dec 06, 2011 10:17


*Сюда буду скидывать всякие полезности, относительно линукса.
**Некоторая инфа исключительно под SalixOS.

1. Организация NAT:
          iptables -t nat -A POSTROUTING -o  eth1 -j MASQUERADE
где eth1 -- интерфейс для второй сети, к примеру, интернет. Трансляция адресов будет вестись от eth1 к eth0.

Я использую Webmin, поэтому сохраняю в настройки файерволла файла Webmin'a:
          iptables-save > /etc/webmin/firewall/iptables.save
^Конечный файл может отличаться.
^^Можно записать сие в одноразовый скрипт типа ip_tables.sh с правами запуска.
^^^В SalixOS не забываем включить service start ip_forward, для других версий линей -- echo 1 > /proc/sys/net/ipv4/ip_forward

2. Настрйка маршрутизации для локальной сети с использованием интернета через NAT, объединение двух шлюзов:
          route add -net 0.0.0.0 gw 154.3.253.77 netmask 0.0.0.0
          route add -net 10.0.0.0 gw 10.0.0.1 netmask 255.255.255.0
^При условии, что до этого вся таблица маршрутизации очищена, кроме loopback (lo)
^^154.3.253.77 -- шлюз интернета, 10.0.0.1 шлюз локальной сети (или IP-адрес этого компьютера, тот же лупбэк)
^^^Если адреса локальным компьютерам раздает DHCP, то он должен указать этот компьютер в качестве шлюза в локальной сети.

3. Простая настройка DHCP-сервера (dhcpd):
Конфиг dhcpd.conf:
subnet 10.10.1.0 netmask 255.255.255.0
{
      option subnet-mask              255.255.255.0;
      option routers                       10.0.0.1;
      option domain-net-servers      10.0.0.1, 8.8.8.8;
      option domain-name              "net.local";
      range                                    10.0.0.15 10.0.0.150;
}
^ subnet-mask -- маска подсети, routers -- шлюзы, domain-net-servers -- DNS-серверы, domain-name -- имя доменной сети/подсети, range -- диапазон аренды.
^^ Маршрутизаторы и DNS-серверы можно перечислять через запятую до трех штук.
^^^ каждая опция завершается в конце строки точкой с запятой.

4. Настройка сети из командной строки (ifconfig, route, rc.inet1.conf(slackware)):
Не забываем, товрищи, что в самых минималистичных дистрах бывает костыль в виде коммандера -- mc (Midnight Commander), который практически ничем не отличается от остальных коммандеров даже по своим горячим клавишам. Плюс еще, если сервер без иксов, можно соединяться с шарами SMB и SSH (F9).
F4 -- редактирование файлов/конфигов
F3 -- просмотр --//--
Ctrl+o -- скрыть/показать панель mc

Примеры использования ifconfig:
            ifconfig eth0 up                     #включить/поднять сетевой интерфейс eth0
            ifconfig eth0 down                 #выключить/опустить сетевой интерфейс eth0
            ifconfig eth0 192.168.2.132 netmask 255.255.255.0     #присвоить IP-адрес 192.168.2.132 сетевому интерфейсу eth0 с маской подсети 255.255.255.0
            ifconfig eth0 mtu 1350           #сменить MTU пакетов интерфейса eth0 на 1350
Если в сети есть DHCP-сервер, порой, достаточно будет выполнить команду dhcpcd от суперюзера, чтобы принять все настройки.
Настройками ifconfig не ограничивается, ибо не настроена маршрутизация и DNS'ы.

Настройка маршрутизации для компьютера со статическим IP-адресом после ifconfig:
            route add -net 192.168.2.0 gw 192.168.2.1 netmask 255.255.255.0 eth0
     где -net -- подсеть, gw -- шлюз, netmask -- маска подсети, eth0 -- настраиваемый интерфейс.

Настройка DNS-серверов в файле /etc/resolv.conf (в случае с dhcpcd -- обновляется автоматически):
                   domain net.local
                   nameserver 192.168.1.1
                   nameserver 8.8.8.8
С этого момента можно считать, что сеть настроена, но до следующего перезапуска, поэтому можно сделать свой собственный скрипт настройки и пихнуть его в /etc/rc.d/rc.local отдельной строчкой -- так будет производиться запуск скрипта настройки при загрузке.

Есть второй способ, применимый к slackware-системам -- файл настройки сети при загрузке /etc/rc.d/rc.inet1.conf -- там все прекрасно описано, только редактируй на свой вкус.

5. Маленький нюансик соединения через SSH:
Простое соединение по SSH  с другим компьютером:
            ssh 10.10.1.34
^Клиент SSH попытается авторизоваться с текущим логином консоли и запросит пароль.
^^При первом соединении потребует доверия к ключу SSH
^^^Если через время IP-адрес достанется другому компьютеру, то соединение будет невозможно из-за несовпадения ключей в home-директории. Нужно будет удалить, чтобы произвести первый запуск снова.

Итак, чтобы зайти по ssh с отличным от консольного логина пользователя достаточно:
            ssh user@10.10.1.34
где user -- имя пользователя, под которым логинимся к удаленной машине.
Пароль потом спросит.
Подключение с отличным от 22 порта номером:
            ssh -p 2222 user@10.10.1.34
где -p -- ключ для указания номера порта, 2222 -- сам порт.
В окне консоли через SSH возможна такая же полноценная работа на удаленном компьютере, как и на локальной системе.
Клиент под Win -- putty.exe

6. iptables -- сброс настроек.
Все время пытаюсь выбросить эту бумажку, которая у меня лежит  в тумбочке... ну да ладно.
Простой шелл-скриптик для сброса в дефолт всех цепочек, или тупо, прописать команду за командой в терминале:
            iptables -F INPUT
            iptables -P INPUT ACCEPT
            iptables -F OUTPUT
            iptables -P OUTPUT ACCEPT
            iptables -F FORWARD
            iptables -P FORWARD ACCEPT
            iptables -F PREROUTING
            iptables -P PREROUTING ACCEPT
            iptables -F POSTROUTING
            iptables -P POSTROUTING ACCEPT
Значит второй способ (вероятно, будет требовать некоторых корректировок). Пробуем:
            iptables -F     # сброс всех правил
            iptables -X     # сброс всех, кроме дефолтных

7. Установка 'slack.Build'ов', касательно SalixOS*.
Недавно установил на свою убогую нокию jar-приложение telnet/ssh-клиента "midpSSH". Возник вопрос, как скачать и установить слакбилд с помощью slapt-src через командную строку.
             slapt-src -u      # обновить список слакбилдов из интернета
             slapt-src -w     # показать указанный слакбилд
             slapt-src -i       # установить указанный слакбилд
Пример использоания:
             slapt-src -i pptpd      # установит слакбилд pptpd из оригинальных исходников poptop -- vpn-server

8. Запуск скриптов и бинарников, настройка прав доступа chmod.
Есть два способа запуска исполняемых скриптов/модулей:
             ./bin.run      # если бинарник находится в текущем активном каталоге
              bin.run      # если бинарник прописан в /bin /sbin /usr/bin /usr/sbin
Запуск скрипта:
              sh bin.sh    # запуск shell-скрипта утилитой sh, в текущем каталоге, или если указан путь файла типа /home/user/doc/bin.sh
              ./bin.sh      # запук shell-скрипта непосредственно в активном каталоге

Если скрипт запуска нужно отредактировать или создать атрибут доступа юзера к запуску:
    7 = read, write & execute
    6 = read & write
    5 = read & execute
    4 = read
    3 = write & execute
    2 = write
    1 = execute
Выполняется в виде триады цифр после утилиты chmod:
              chmod 777 filename      # где первая цифра - доступ юзера от владельца, вторая - группы владельца, третья - остальным.

9. Добавить/удалить виртуальный сетевой интерфейс.
Бывает так, что провайдер выдает нам по несколько "белых" айпишников. Их можно забить виртуальными сетевыми интерфейсами от "железного" с присвоенными IP, ткскзть заполнить алиасами:
              ifconfig eth1:1 56.68.188.21 up      # добавить виртуальный интерфейс eth1:1 к интерфейу eth1 с ip:56.68.188.21 с ключом up(запустить/поднять интерфейс)
Выключить же алиас можно подав ключ down (ip-адрес можно уже не указывать):
              ifconfig eth1:1 down
Естественно, все это можно запихнуть в стартап. Роутинг настраивается относительно физического интерфейса, к которому присвоен алиас.

10. Запуск MySQL в SalixOS -- ВАЖНО!
MySQL можно установить из менеджера пакетов gslapt.
Первый запуск mysqld из меню 'System services' или командной строки типа 'service start mysqld' категорически не рекомендуется!
В файле /etc/rc.d/rc.mysqld есть сообщение:

# Before you can run MySQL, you must have a database.  To install an initial
# database, do this as root:
#
#   mysql_install_db --user=mysql

# To start MySQL automatically at boot, be sure this script is executable:
# chmod 755 /etc/rc.d/rc.mysqld

Итог:
              mysqld_install_db --user=mysqld      # инициализируем БД перед первым запускам от рута
              chmod 755 /etc/rc.d/rc.mysqld      # задаем права на скрипт автозапуска
              service start mysqld      # стартуем сервис MySQL (можно через графическую утилиту 'System services')

11. Отключить пинг.
Чтобы скрыть в сети машину по пингу ;)
              echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
Естессна, чтобы отключить, вместо единицы ставим 0.
Второй вариант, более гибкий, но небезопасный (народная примета: удаленные игры с файерволлом - к поездке):
              iptables -A INPUT -i ppp0 -p icmp -icmp-type 8 -j DROP
Запрещаем пинги на ppp0-интерфейсе.

12. Если в Tuxguitar не работает звук MIDI.
Обычно после первой установки Tuxguitar все работает, но при первой перезагрузке все слетает. На форумах пишут об установке Timidity++. Но есть более простой вариант из командной строки:
              aoss tuxguitar

13. Gslapt и подобные через прокси.
Не на всех linux-машинах присутствует прямое соединение с нтернетом через шлюз по умолчанию, поэтому стоит прибегать к костылям из командной строки, для соединения с репозиториями через прокси-сервер (никак не пойму, почему нельзя было запилить это в стандартный гуевый интерфейс?):
              http_proxy=http://host:port gslapt
Соответственно по FTP-протоколу:
              ftp_proxy=ftp://host:port gslapt
Где http и ftp -- ip или dns-имя прокси-сервера интернет-соединения; port -- порт, на котором поднят сам прокси.
Данный метод справедлив и для slapt-get; slapt-src -- не пробовал :)

14. Низкоуровневое форматирование HDD и прочих носителей:
Для заполнения запоминающей жестянки нулями и затирания данных и таблиц разделов используем:
              dd if=/dev/zero of=/dev/sdb
Важно знать, sdb ли подключенный винт или флешь)) А то не то затрете, потом будете меня убивать)
Как создать таблицу разделов -- другая история... :)

15.

краткий спрвочник по linux, линукс, linux

Previous post Next post
Up