Есть две машинки FreeBSD-7 и FreeBSD-8 с одинаковыми настройками.
DG: 192.168.0.1 Одинаковая настройка ipfw
FreeBSD-7:
> 00100 fwd 192.168.0.2 ip from 192.168.0.7 to any
> 01000 allow ip from any to any
FreeBSD-8:
> 00100 fwd 192.168.0.2 ip from 192.168.0.4 to any
> 01000 allow ip from any to any
Почему-то на FreeBSD-7 PBR работает, на FreeBSD-8 - нет.
> FreeBSD-7:/home/drtr0jan# traceroute -s 192.168.0.7 -n ya.ru
> traceroute: Warning: ya.ru has multiple addresses; using 93.158.134.8
> traceroute to ya.ru (93.158.134.8) from 192.168.0.7, 64 hops max, 40 byte packets
> 1 192.168.0.2 0.507 ms 0.896 ms 0.986 ms
> ^C
> FreeBSD-7:/home/drtr0jan# traceroute -n ya.ru
> traceroute: Warning: ya.ru has multiple addresses; using 77.88.21.8
> traceroute to ya.ru (77.88.21.8) from 192.168.0.8, 64 hops max, 40 byte packets
> 1 192.168.0.1 1.175 ms 1.091 ms 1.206 ms
> ^C
.
> FreeBSD-8:/var/log# traceroute -n ya.ru
> traceroute: Warning: ya.ru has multiple addresses; using 93.158.134.8
> traceroute to ya.ru (93.158.134.8) from 192.168.0.3, 64 hops max, 52 byte packets
> 1 192.168.0.1 1.214 ms 1.054 ms 1.048 ms
> ^C
> FreeBSD-8:/var/log# traceroute -s 192.168.0.4 -n ya.ru
> traceroute: Warning: ya.ru has multiple addresses; using 77.88.21.8
> traceroute to ya.ru (77.88.21.8) from 192.168.0.4, 64 hops max, 52 byte packets
> 1 * * *
Проверял tcpdump'ом на FreeBSD-8: фактически пакет уходит на DG.
С setfib и pf аналогичная ситуация - пакеты на 192.168.0.2 не уходят.
Ядро само-собой: Код:
> options IPFIREWALL
> options IPFIREWALL_FORWARD
> options ROUTETABLES=4
Схема http://admins.rapid.khv.ru/PBR.png