Практика использования iptables: продолжение

Вот мы понастраивали фаервол ручным образом. Очевидно, что если есть много правил, в разное время появившихся, то достаточно неудобно писать их все вручную. Первый способ это полуавтоматизировать: /etc/sysconfig/iptables (осталось от Mandrake). Туда можно написать все правила кучей, и они будут добавляться при запуске iptables.

Второй способ --- вписать нужные настройки в соответствующий подкаталог /etc/net/.

Посмотрим в /usr/share/doc/etcnet-<version>/examples/firewall-hiddenman/ifaces/default/fw/iptables/nat и сделаем cat POSTROUTING

Для примера, настроим для второй машины, подключенной по eth1, NAT, и заблокируем для неё соединения с некоторым адресом.

Создаём каталоги 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

Проблема вот какая: существует два синтаксиса управления iptables в etc-net. Один с синтаксисом iptables, другой human-readable. Есть в документации файл, который описывает взаимооднозначное соответствие этих форматов: /etc/net/ifaces/default/fw/iptables/syntax

Чтобы было совсем правильно, заменить ip-адрес на ${IPV4ADDRESS}:

...

В задачу этой лекции не входило рассказать про весь iptables и etcnet, лектр только хотел показать примеры работы с ними.

Чего мы доидись? Включение и выключение iptables через /etc/net. При этом iptables вообще мжет быть выключен по умолчанию (например, в Lite), и как вы не редактируете /etc/net, пока вы не включите, оно бы не заработало. Тем не менее, 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

11

1

1

1

1

MaximByshevskiKonopko, BorisTsema


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex