Есть две машинки 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 anyFreeBSD-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
sysctl net.inet.ip.fw.one_pass ?
>sysctl net.inet.ip.fw.one_pass ?Хм, недосмотрел. Сейчас у себя попробую смоделировать.
>sysctl net.inet.ip.fw.one_pass ?Без толку. :(
>>sysctl net.inet.ip.fw.one_pass ?
>
>Без толку. :(net.inet.ip.forwarding?
у меня с setfib все прекрасно работает:
$fwa 01100 setfib 0 ip from "table(5)" to any in recv $lan
$fwa 01110 setfib 0 ip from "table(5)" to any in recv $vlan
setfib 1 route delete default
setfib 1 route add default $gw
$fwa 01120 setfib 1 ip from "table(6)" to any in recv $lan
$fwa 01130 setfib 1 ip from "table(6)" to any in recv $vlan
setfib 2 route delete default
setfib 2 route add default $gw2
$fwa 01140 setfib 2 ip from "table(7)" to any in recv $lan
$fwa 01150 setfib 2 ip from "table(7)" to any in recv $vlan
setfib 3 route delete default
setfib 3 route add default $gw_khd
$fwa 01160 setfib 3 ip from "table(8)" to any in recv $lan
$fwa 01170 setfib 3 ip from "table(8)" to any in recv $vlanВ итоге юзеры уходят на четыре разных шлюза (setfib 0 уходит на DG)
> Есть две машинки FreeBSD-7 и FreeBSD-8 с одинаковыми настройками.
> Почему-то на FreeBSD-7 PBR работает, на FreeBSD-8 - нет.Чем история закончилась? Не вижу ответа ни на форумах FreeBSD, ни в рассылке.
На 8.1 или 8.2 это поправили?