*Сюда буду скидывать всякие полезности, относительно линукса.
**Некоторая инфа исключительно под 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.