Код: Выделить всё
options ROUTETABLES=2
Код: Выделить всё
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1460
inet 93.88.130.* --> 1.1.1.1 netmask 0xffffffff
ng1: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1460
inet 212.232.4.* --> 1.1.1.2 netmask 0xffffffff
setfib 0 netstat -rn
Код: Выделить всё
Destination Gateway Flags Refs Use Netif Expire
default 1.1.1.1 UGS 0 51526733 ng0
1.1.1.1 93.88.130.* UH 1 17 ng0
1.1.1.2 212.232.4.* UH 0 0 ng1
Код: Выделить всё
Destination Gateway Flags Refs Use Netif Expire
default 1.1.1.2 UGS 0 1517 ng1
1.1.1.1 93.88.130.* UH 0 0 ng0
1.1.1.2 212.232.4.* UH 1 0 ng1
фаер
Код: Выделить всё
10 check-state
20 setfib 1 ip from 192.168.2.55 to any in recv fxp0 keep-state
30 allow ip from 192.168.2.55 to any in via fxp0
40 deny ip from 192.168.2.0/24 to any in via fxp0
50 divert 8669 ip from any to any via dc0
60 divert 8668 ip from any to any via ng0
70 divert 8670 ip from any to any via ng1
80 allow ip from any to any via ng1 keep-state
90 allow ip from any to any
пакет попадает на in интерфейса fxp0, видит правило 20, где ему будет назначен шлюз (1.1.1.2) и соответственно интерфейс ng1, далее пакет доходит до правила 30 и выходит из IN
на втором проходе пакет выглядит как 192.168.2.55 на ya.ru out ng1, правилом 70 дивертится и либо 80-90 уходит в сеть.
Ответ из сети попадает на 70 правило, где должно ставится соответствие и на втором проходе 90 правилом доходить до адресата.
Но, пинги не идут, не пойму даже почему,
tcpdump -i ng1 'ip proto \icmp' ловит вот что
Код: Выделить всё
12:33:03.763169 IP 212.232.4.* > http://www.yandex.ru: ICMP echo request, id 10760, seq 1, length 64
12:33:03.778033 IP http://www.yandex.ru > 212.232.4.*: ICMP echo reply, id 10760, seq 1, length 64
net.inet.ip.fw.one_pass в 0