PC1(192.168.10.254)<<------------>> (192.168.10.7)Gateway(1.1.1.1)<<-------------->>PC2(1.1.1.2)
Вопрос в следующем
На шлюзе вопрос трансляции решается kernel nat, в качестве firewall ipfw (ниже приведена выдержка из правил)
Код: Выделить всё
#------------- pipe И queue NAT config------------------------------
ipfw pipe 1 config bw 500Kbit/s queue 40 gred 0.002/10/30/0.1
ipfw queue 1 config pipe 1 mask src-ip 0xffffffff queue 10 gred 0.002/10/30/0.1
ipfw queue 3 config pipe 1 weight 80
ipfw queue 5 config pipe 1 weight 20
ipfw pipe 2 config bw 500Kbit/s queue 40 gred 0.002/10/30/0.1
ipfw queue 2 config pipe 2 mask src-ip 0xffffffff queue 10 gred 0.002/10/30/0.1
ipfw queue 4 config pipe 2 weight 80
ipfw queue 6 config pipe 2 weight 20
ipfw nat 1 config if $e_int reset same_ports deny_in \
redirect_port tcp 192.168.10.10:80 80 \
redirect_port tcp 192.168.10.10:3389 3389 \
redirect_port tcp 192.168.10.10:25 25
#------------------------------------------------------------------
#--------------------NAT action-----------------------------------
----------OUT-------------------------------------------------------
ipfw add 1000 set 1 queue 2 log ip from any to any out xmit $e_int
ipfw add set 1 queue 4 log tcp from any to any out xmit $e_int
ipfw add set 1 queue 6 log udp from any to any out xmit $e_int
ipfw add set 1 queue 6 log icmp from any to any out xmit $e_int
ipfw add set 1 nat 1 log ip from any to any out xmit $e_int
ipfw add set 1 allow log ip from any to any out xmit $e_int
#---------------IN-------------------------
ipfw add 2000 set 1 nat 1 log ip from any to any in recv $e_int
ipfw add set 1 queue 1 log ip from any to any in recv $e_int
ipfw add set 1 queue 3 log tcp from any to any in recv $e_int
ipfw add set 1 queue 5 log udp from any to any in recv $e_int
ipfw add set 1 queue 5 log icmp from any to any in recv $e_int
ipfw add set 1 allow log ip from any to any in recv $e_int
#---------------------------------------------------------------
Но стоит запустить пинг с PC1(192.168.10.254) ---> PC2(1.1.1.2)
И тут же начинают пролазить пинги с PC2(1.1.1.2) ---> GAteway (1.1.1.1) , и будут продолжаться не скончаемо долго
Также приводится вывод уже загруденных в ОЗУ правил касающихся pipe (в момент пинга PC2(1.1.1.2) ---> Gateway(1.1.1.1)
Код: Выделить всё
/home/admin/>ipfw pipe show
00001: 500.000 Kbit/s 0 ms 40 sl. 0 queues (1 buckets)
GRED w_q 0.001999 min_th 10 max_th 30 max_p 0.099991
burst: 0 Byte
00002: 500.000 Kbit/s 0 ms 40 sl. 0 queues (1 buckets)
GRED w_q 0.001999 min_th 10 max_th 30 max_p 0.099991
burst: 0 Byte
q00001: weight 1 pipe 1 10 sl. 1 queues (64 buckets)
GRED w_q 0.001999 min_th 10 max_th 30 max_p 0.099991
mask: 0x00 0xffffffff/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
5 ip 1.1.1.2/0 0.0.0.0/0 2311 138660 0 0 0
q00002: weight 1 pipe 2 10 sl. 1 queues (64 buckets)
GRED w_q 0.001999 min_th 10 max_th 30 max_p 0.099991
mask: 0x00 0xffffffff/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
20 ip 192.168.10.254/0 0.0.0.0/0 2311 138660 0 0 0
q00003: weight 80 pipe 1 50 sl. 0 queues (1 buckets) droptail
q00004: weight 80 pipe 2 50 sl. 0 queues (1 buckets) droptail
q00005: weight 20 pipe 1 50 sl. 1 queues (1 buckets) droptail
mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
0 icmp 1.1.1.2/0 192.168.10.254/0 2311 138660 0 0 0
q00006: weight 20 pipe 2 50 sl. 1 queues (1 buckets) droptail
mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
0 icmp 192.168.10.254/0 1.1.1.2/0 2311 138660 0 0 0
/home/admin/>
P.S.
Предположение 1. таблица nat, но она должна иметь формат
Local IP Port Global IP Port
192.168.10.254 5433 213.45.67.2 5433
Предположение 2. Динамически созданные Pipe