>>Насколько мне известно, пакет проходящий через нат
>>/sbin/ipfw add divert natd all from any to any via dc0
>>возвращается обратно с новым адресом (-ми). И проверка правил фаерволла производится применительно
>>к новым адресам если правила стоят после указанной строчки?
>>правильно ли положение, что
>>ДО того как встретиться строчка с natd должны следовать правила для всех
>>ВХОДЯЩИХ пакетов во внешний и внутренний интерфейсы,
>>а ПОСЛЕ - для ИСХОДЯЩИХ пакетов.
>
>Нет, не совсем так. Точнее, совсем не так.
>
>Параметр via на машине-роутере предполагает трактовку всех исходящих пакетов как `out xmit`,
>а входящих пакетов как `in recv` и `out recv`, соответственно, все
>пакеты, входящие и исходящие, и обрабатываются на соответсвующих этапах прохождения через
>указанный интерфейс. Так как во избежание зацикливания после отработки правила типа
>divert пакеты вновь попадают в обработку со СЛЕДУЮЩЕГО за divert правила,
>то в случае с входящими пакетами они будут обрабатываться ТОЛЬКО на
>этапе `in recv`.
>Более подробно эти нюансы описаны в `man ipfw` и `man divert`.
>Переводя все вышесказанное на человеческий язык и применительно к заданному вопросу можно
>ответить следующее. Любой пакет, проходящий через машину-роутер, проходит три этапа, на
>которых он может быть обработан фаерволлом: 1) в момент приема на
>входной интерфейс из внешнего мира `in recv`, 2) в момент покидания
>входного интерфейса и проброса на выходной интерфейс внутри роутера `out recv`,
>3) в момент покидания выходного интерфейса `out xmit`. Чаще всего правило
>дайверта стоит в самом начале правил фаерволла, при этом оно срабатывает
>только в момент, когда исходящий пакет покидает указанный интерфейс и направляется
>во внешний мир, а входящий из внешнего мира пакет принимается на
>указанный интерфейс. Что понимать под внешним миром - зависит от того,
>какой это интерфейс. Если это интерфейс в сторону Инета - то
>тогда внешний мир и есть Инет, если это интерфейс в сторону
>внутренней локальной сети, то внешний мир в этом случае - внутрення
>локалка. Чаще всего трансляция адресов осуществляется на внешнем в сторону Инета
>интерфейсе, поэтому в таком случае правила, касающиеся внутреннего интерфейса в сторону
>локалки, спокойно могут располагаться за указанным правилом дайверта, так как под
>это правило не подпадают. Что касается правил работы с внешним интерфейсом
>- ну тут все зависит от конкретной задачи, чаще всего их
>можно также разместить не до, а после правила дайверта, ведь внутренние
>адреса локалки во внешнем мире не видны и пакет идет скорее
>всего на адрес внешнего интерфейса. Ну а в остальном - тут
>надо четко представлять картинку хождения пакетов и чего с ними в
>какой момент происходит - тогда ответ насчет где какое правило ставить
>приходит сам собой ;-). Удачи!
Как может быть такое что на внешний интерфейс из мира....
Sep 13 14:24:59 sun /kernel: ipfw: 7300 Deny TCP 195.209.49.242:80 192.168.1.17:1160 in via dc0
И самое интересно , пока я не разрешаю этим пакетам ходить на внешний интерфейс..( это пакетам то с дистенейшин 192.168!!!!!!!!!!!!!!) Во вонутренней сети нет интернета!!!! Как только разрешаю так все в порядке!!!
Что за дела?