Denis A. Kulgeyko wrote:
А зачем писать их все руками?
Когда-то был написан один, а в дальнейшем все остальные писались с него
исправлениями под конкретные нужды. ;)
Надо было очень быстро поставить firewall'ы на несколько хостов.
Там одна RH7.x была, так я посмотрел на тот default'ный шкрыпт для firewall'а
(shell'овый), что там есть .. так жутко стало. Одноразовый он больно. Тяжело
его перенести на другой хост, а тем более на его базе сделать сразу для
нескольких.
А потом уже просто написал один базовый, с которого уже всегда дописываю под
конкретные нужды.
В ferm мне синтаксис очень понравился. Очень наглядный и понятный. И писать
проще.
Один из рабочих вариантов приложу к письму, поизучайте, кому будет интерестно,
может и пригодится. ;)
Это прямо со своей машинки ("woody",2.4.18), у нее реальный ip. forwarding'а
нет. Там еще мне было лень вправлять локальные порты в соответствии с
"http://www.iana.org/assignments/port-numbers" - работает, и так сойдет. :)
Некогда. И не охвачены tcp с флагом "rst", но они бывают очень редко, пока
сильно не допекало. :) До других (более навороченых) конфигов для ferm просто
сейчас "стучаться" долго.
Эо не как самое универсальное решение (хотя по крайней мере для меня в
большинстве случаев так), просто как вариант. :)
Конфиг кидается в /etc, перестраиваем firewall только руками (генерим,
проверяем, запускаем, сохраняем), а для woody используем
/etc/init.d/iptables load/save :)
Я имел в виду так: текущий firewall хранится в /var/lib/iptables/active,
Оттуда грузится при загрузке хоста, туда сохраняется вместе со счетчиками.
ipac-ng запускается после iptables. Иначе ip-accounting на нем нормально
работать не будет.
Если надо что-то исправить - вправляю /etc/ferm.conf, потом генерю, проверяю,
если что-то очень критично и работаю удаленно - то на at или cron вешаю
восстановление оригинального firewall'а минут эдак через 15, чтобы себя не
заблокировать, если все нормально - /etc/init.d/iptables save active.
А вот на эту фичу я посмотрел, почитал комментарии мейнтейнера и
последовал его совету - не использовать, а использовать что-нибудь
другое.
А можно линку где он это пишет или хотя бы направление поисков ? Я только что
попробовал - сам не нашел. А стало интерестно. Не спроста ж ведь он так :)
В данном случае развил свой старый /etc/init.d/firewall
IMHO, в potato. Потому как там специальных скриптов для менеджмента firewall'а
(типа /etc/init.d/iptables) не видел - потому свой писать надо.
Впрочем ferm в набор рекомендуемых ВМЕСТО /etc/init.d/iptables
инструментов вполне себе входит.
Большой "минус" - медленно генерит правила. Потому как perl.
При загрузке хоста это время может оказаться критично.
И еще один - если в момент изменения firewall'а произойдет краш (мало ли ..
питание отключат а в УПС в этот же момент "боинг" попадет), то есть риск что
firewall будет частично недостроен из-за ошибок в конфиге (сохранили еще не
доделаный), а последствия могут быть самые разные, от "ничего" вплоть до
весьма неприятных.
WBR, Burzumie.
Здравствуйте
Вопрос:
Для чего у вас в цепочке INPUT таблицы filter правило "interface $IF_WAN
daddr ! $NET_LAN {LOG "..."; DROP;}"? Ведь оно никогда не срабатывает,
или я чего то не понимаю?
Заранее спасибо.
--
С уважением,
Кондрашов Николай,
ИТ-менеджер
ЗАО "Автоматика-Север"
+7(812) 1183238, 3039648
http://www.avt.com.ru/
mailto:[EMAIL PROTECTED]