URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 31589
[ Назад ]

Исходное сообщение
"divert и документация по ipfw (FreeBSD 4.7 RELEASE)"

Отправлено S0lver , 30-Июн-03 11:10 
В man ipfw в разделе BUGS читаем:

Packets diverted to userland, and then reinserted by a userland process
(such as natd(8)) will lose various packet attributes, including their  
source interface.  If a packet is reinserted in this manner, later rules
may be incorrectly applied, making the order of divert rules in the rule
sequence very important.

Однако как показывает практика, после прохождения через natd входящие пакеты не теряют source интерфейс. Ошибка в документации?


Содержание

Сообщения в этом обсуждении
"divert и документация по ipfw (FreeBSD 4.7 RELEASE)"
Отправлено SVK , 30-Июн-03 18:33 
>В man ipfw в разделе BUGS читаем:
>
>Packets diverted to userland, and then reinserted by a userland process
>(such as natd(8)) will lose various packet attributes, including their
>source interface.  If a packet is reinserted in this manner, later
>rules
>may be incorrectly applied, making the order of divert rules in the
>rule
>sequence very important.
>
>Однако как показывает практика, после прохождения через natd входящие пакеты не теряют
>source интерфейс. Ошибка в документации?

Теряет.

192.168.0.0/24 - локальная сеть
192.168.0.8 - машина в этой сети
192.168.0.1 (xl0) - интерфейс роутера, смотрящий во внутреннюю сеть
211.107.250.132 (xl1) - интерфейс роутера, смотрящий в Internet

пингуем со 192.168.0.8 хост в Internet 211.107.250.129

accept icmp:8.0 192.168.0.8 211.105.250.129 in via xl0 (пакет вошел (in) в ipfw через xl0 (via xl0))
divert natd icmp:8.0 192.168.0.8 211.107.250.129 out via xl1 (пакет ушел из ipfw в natd (divert natd) ; natd поменял ему source адрес (про эту способность даже написано в man 8 natd :) ; natd вернул пакет в поток пакетов)
accept icmp:8.0 211.107.250.132 211.107.250.129 out via xl1 (пакет ушел (out) из ipfw через xl1 (via xl1))

А представь, source адрес остался 192.168.0.8. И куда пингуемый будет ответы слать?

man 8 natd и man 4 divert