Ничем оно не лучше , да и не хуже - это вообще разные продукты. Вы ведь не сравниваете что лучше BSD или Linux - разные задачи, разные методы их решения. Вопрос был задан чтобы потроллить в стиле LOR ?
> Правила красиво и правильно писать куда сложнее
а какой критерий?
я лично постоянно пользуюсь цепочками - удобно и скорость обработки выше и нагляднее (и по -L -n -v сразу всё понятно чего куда и ограничить обась просмотра рпоще по -L CHAIN)
Ничего кроме того, что 9/10 "линукс-одминов" при написании мало-мальски сложной конфигурации пишут здоровенные километровые "портянки", в которых поправить хоть что-нибудь оказывается не самой приятной работой. А создать наборы пользовательских цепочек для типовых задач, и впоследствии ссылаться на них, этим недоадминам даже не приходит в голову.
>Ничего кроме того, что 9/10 "линукс-одминов" при написании мало-мальски сложной конфигурации пишут здоровенные километровые "портянки", в которых поправить хоть что-нибудь оказывается не самой приятной работой. А создать наборы пользовательских цепочек для типовых задач, и впоследствии ссылаться на них, этим недоадминам даже не приходит в голову.
тут вы правы. Не совсем осознав работу iptables и нахватавшись примеров - правила вырастают в венигрет.
цепочки позволяют сильно разгрузить кол-во переходов для принятия решения в итоге для пакета.
Дистрибутив - mandriva 2007.0
Ядро - 2.6.19
Вот эта строчка спокойно инициализировалась
-A INPUT -i eth0 -m state --state RELATED,ESTABLISH -j ACCEPT
Поставил ядро 2.6.22.7 - стала на нее ругаться.
Сделал вот так
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
Все равно ругается.
В чем может быть прикол?
Plazmid
Разобрался.
В новом ядре новые функции добавились - и некоторые модули, которые были
в config в старом ядре в новом не включились - еще раз сконфигурировал ядро - и все заработало.
Хотя вопрос есть - приведенная строка
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
Я эту строку понимаю так - пропускать пакеты через интерфейс eth0, у которых состояние Установлено, либо Относительное (т.е., открыто еще одно соединение тем соединением, которое уже установлено).
Эта строка пойдет для случая, когда я хочу с компьютера ходить куда угодно, а к себе пускать только те пакеты, которые относятся к моим
соединениям.
>Я эту строку понимаю так - пропускать пакеты через интерфейс eth0, у которых состояние Установлено, либо Относительное (т.е., открыто еще одно соединение тем соединением, которое уже установлено).
Совершенно верно.
>Эта строка пойдет для случая, когда я хочу с компьютера ходить куда угодно, а к себе пускать только те пакеты, которые относятся к моим соединениям.
Тоже верно. Конечно, она не запрещает исходящих соединений (т.е. ходить куда угодно с этого же компьютера - еще нужно на OUTPUT смотреть). Я подобную строчку читаю, как - уменьшение нагрузки на принятия решения о действии с пакетом, т.е. эта строчка должна стоять "почти" в начале основной цепи условий.
У меня она в начале и стоит.
В принципе, этой строки достаточно для домашнего компьютера - понятно, что
там еще разные моменты для icmp и udp прописать - и в принципе, можно считать, что машина защищена?
если весь трафик на соединение (SYN к примеру) с внешних сетей - реджектишь\друпаешь, то к воздействию из вне более устойчив стал.
Остается обезопасить свои программы по инициализации соединений (например ходить по вэб-страницам\получать почту и т.п.).
Вообще, для обычной клиентской машины с линуксом - правила iptables почти для всех будет одинаковые. Хотя сам, признаюсь, на ноутбуке не задействовал оное. Наверное могу поплатиться, но почему-то думается, что роутер от D-Link 604 возьмет на себя весь первый удар и сдохнет быстрее сам, чем даст через него работать внутри сети + сильно не переживаю, пусть ломают домашние машинки, не жалко. Нафлудил, блин, тема для отдельного разговора...
По большому счету, весь остальной внешний траффик отбрасывается. Есть несколько адресов как исключение - и все.
Вот той строки - ее достаточно, чтоб всякие нехорошие вещи мимо проходили?