В правилах IPFW заменил "divert" на "tee". Окончательный вариант фаервола IPFW (лишнее убрал):
Код:
# ipfw list
00050 allow tcp from any to me dst-port 22
00051 allow tcp from me 22 to any
00080 setfib 1 ip from 10.0.10.128/25 to any
00090 setfib 1 ip from any to 10.0.10.128/25
00110 allow ip from any to any via lo0
00120 skipto 1000 ip from me to any
00130 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17
00160 skipto 2000 ip from any to me
00200 skipto 500 ip from any to any via em0
00201 skipto 500 ip from any to any via vlan1200
00300 skipto 4500 ip from any to any in
00400 skipto 450 ip from any to any recv em0
00401 skipto 450 ip from any to any recv vlan1200
00420 allow ip from any to any
00450 tee 2 ip from any to any
00490 allow ip from any to any
00500 skipto 32500 ip from any to any in
00510 tee 1 ip from any to any
00540 allow ip from any to any
01000 allow udp from any 53 to any
01010 allow tcp from any to any setup keep-state
01020 allow udp from any to any keep-state
01100 allow ip from any to any
02000 check-state
02010 allow icmp from any to any
02015 allow tcp from any to me dst-port 80 limit src-addr 16
02020 allow tcp from any to me dst-port 443,25,21
02050 deny ip from any to any via em0
02051 deny ip from any to any via vlan1200
02060 allow udp from any to any dst-port 53
02100 deny ip from any to any
04800 fwd 127.0.0.1,83 ip from table(35) to not me dst-port 80
04900 fwd 127.0.0.1,82 ip from not table(0) to not me dst-port 80
05000 deny ip from not table(0) to any
05001 skipto 5010 ip from table(127) to table(126)
05002 skipto 5030 ip from any to not table(2)
05003 deny ip from any to not table(1)
05004 pipe tablearg ip from table(21) to any
05005 deny ip from any to any
05010 pipe tablearg ip from table(127) to any
05030 deny tcp from table(15) to any dst-port 25,465
05226 allow ip from table(127) to table(126)
05400 pipe tablearg ip from table(11) to any
32000 deny ip from any to any
32490 deny ip from any to any
33000 pipe tablearg ip from table(126) to table(127)
33001 skipto 33010 ip from not table(2) to any
33002 pipe tablearg ip from any to table(20)
33003 deny ip from any to any
33226 allow ip from table(126) to table(127)
33400 pipe tablearg ip from any to table(10)
65535 deny ip from any to any
Перед этим в конфиге PF настроил NAT для нужных диапазонов адресов. Также были прописаны нужные направления во второй таблице маршрутизации через setfib 1.
PS Версия nodeny - 50.32