>[оверквотинг удален]
> fwcmd 00300 allow udp from me to X.X.X.X
> 53 out via re1 keep-state #ДНС ЗАПРОС К СЕРВЕРУ ПРОВАЙДЕРА
> В чем тут опасность создания динамического правила? Отправил запрос к
> днс, и на основе его автоматом создалось разрешающее правило для входящего
> ответа, а если не использовал бы, тогда пришлось бы дописывать вторую
> строчку с разрешением для входящего ответа.
> $fwcmd 00110 allow ip from any to any via
> re1
> Не могу понять смысла этого правила, ведь оно по
> сути разрешает все на отправку и вход по внешнему интерфейсу.Опасность динамики в том, что нужно тщательнее учитывать порядок прохождения пакетов в правилах. Как говорит ман, keep-state (и все правила с limit) одновременно является и check-state, в сложных конфигурациях (с несколькими интерфейсами или правилами, создаваемыми скриптами) можно огрести по полной, когда пакет, для которого есть динамическое правило, проверяется не там, и не отрабатывает какой-то нужный запрет или (что чаще) NAT.
Но динамика очень хороша, когда NAT не нужен или не используется deny_in. И очень нужна при внедрении IPv6 (так как там NAT почти не нужен, а фаерволить всё равно нужно).
Когда есть NAT с его deny_in, он делает всю работу по отбрасыванию ненужных входящих, действуя по правилу "всех выпускать, впускать только уже вышедших". Если deny_in нет, динамические правила предпочтительны, вы правы.
> ----------------
> По поводу правил 100 и 110
> Могу ошибаться, но "лишнее" тут 100, поскольку оно разрешает весь
> входящий поток по всем интерфейсам и всего лишь делает skipto на
> дальнейшие правила которые разбивают поток по интерфейсам лан и инет.
> Вот если убрать правило 110, то весь исходящий траф будет
> порезан правилом 1999, который для правила 1000 режет все пакеты которые
> не имели тега recv для интерфейсов инет и лан.
Да, верно, но только потому, что нет других правил между 110 и 1000. Если бы были - о то оба нужны.
Напоминание по поводу NAT: для маршрутизатора в NAT нужно заворачивать весь трафик - входящий, понятно, и так весь, но ошибочно делают NAT только исходящего трафика других компов, а исходящий самого шлюза не делают, и потом удивляются разным глюкам.
ipfw - это как ассемблер, too easy to shoot the leg.