Практика использования iptables: продолжение
Вот мы понастраивали фаервол ручным образом. Рчевидно, что если есть много правил, в разное время появившихся, то достаточно неудобно писать их все вручную. Первый способ это полуавтоматизировать: /etc/sysconfig/iptables (осталось от Mandrake).
Второй способ --- отредактировать в /etc/net/
Посмотрим в /usr/share/doc/etcnet-.../examples/firewall-hissenman/ifaces/default/fw/iptables/nat и сделаем cat POSTROUTING
В ксах есть два места для копирования информации --- есть cutbuffer, причём их несколько. Второй из них --- copy area. cutbuffer заполняется автоматически поо выделению текста. copyarea заполняется, если вы явно вызываете команду копирования. То же с операцией вставки. П средней кнопке мыши --- из cutbuffer, по команде --- из copyarea. Идея с cutbuffer хороша, но на не принимается виндузовыми пользователями.
Создаём каталоги fw/iptables/nat в /etc/net/ifaces/eth0:
# cd /etc/net/ifaces/eth0 # mkdir -p fw/iptables/nat # cp fw/iptables/nat # echo 'snat-to 10.0.2.15' > POSTROUTING
Проблема вот какая: существует два синтаксиса управления etc-net'ом iptables'ом. Один приближенный к iptables, другой human-readable. Есть в документации файл, который описывает взаимооднозначное соответствие этих форматов: /etc/net/ifaces/default/fw/iptables/syntax
Чтобы было совсем правильно, заменить ip-адрес на ${IPV4ADDRESS}:
...
В задачу этой лекции не входило рассказать про весь iptables и etcnet, лектр только хотел показать примеры работы с ними.
Чего мы дбидись? Включение и выключение iptables через etcnet. При этом iptables вообще мжет быть выключен по умолчанию (например, в Lite), и как вы не редактируете etcnet, пка вы не включите, оно бы не заработало. Тем не менее, iptables неявн включился.
Теперь забаним lor. Сначала добавим его ip:
$ host linux.org.ru
Теперь добавим правило (по умолчанию исп. таблоица filter)
iptables -t filter -A FORWARD -d linux.org.ru -j LOG --log-level warning iptables -t filter -A FORWARD -d linux.org.ru -j DROP
Понятно, что этот способ общения с iptables --- традиция. Ведь это всё ключи, и правила можно добавлять не в свои таблицы, но так мы плоучим такой же сервер, в ктором каша.
Этими командами мы добавим в syslog варнинг о том, что кто-то лмится на лор и выбрасываем этот пакет.
Обратите внимание, что мы написали правила для форвардящихся пакетов, следовательно, к пакетам, которые идут с маршрутизатора, эти правила не применяются. Проверка:
на demo
# cal | netcat linux.org.ru 80
всё работает.
на localhost {{( # cal | netcat linux.org.ru 80 }}} не работает.
на demo
# tail /var/log/syslog/messages
Сведения о ресурсах
Готовность (%) |
Продолжительность (ак. ч.) |
Подготовка (календ. ч.) |
Полный текст (раб. д.) |
Предварительные знания |
Level |
Maintainer |
Start date |
End date |
0 |
1 |
1 |
1 |
|
1 |
|
|