1. Почему может не работать конструкция :
Код: Выделить всё
ipfw add nat 1 ip from $lan to any out via $if_ext
ipfw add nat 1 ip from any to $ip_ext in via $if_ext
Код: Выделить всё
ipfw add nat 1 ip from any to any via $if_ext
2. ЧТо происходит с пакетом попавшим в nat с deny_in извне ? Он блокируется наглухо ? или тупо nat с ним ничего не делает и он идёт дальше по правилам ? (кажется мне что наглухо блокируется, если в таблице ната нет соответствующей записи).
Далее, как разделить траффик инициированный самим шлюзом от трафика лок сети ? (ну то есть не отправлять в нат, то, что не должно туда итти ?). У меня пока мысль использовать что то типа
Код: Выделить всё
ipfw add check-state
ipfw add allow ip from me to any out xmit $if_ext setup keep-state
Есть ли в ipfw конструкция чтобы проверить, что у пакета нет заданного тага ? чтобы можно было сделать а ля :
Код: Выделить всё
...
ipfw add tag THIS_IS_FOR_NAT ip from $lan to any
....
ipfw add allow ip from me to any out xmit $if_ext <<NOT_TAGGED THIS_IS_FOR_NAT>> setup keep-state
Или тупо не бабахать мозг и убрать deny_in ?