kernel nat freebsd 8.0
Добавлено: 2010-08-12 12:06:09
Собрал схему
PC1(192.168.10.254)<<------------>> (192.168.10.7)Gateway(1.1.1.1)<<-------------->>PC2(1.1.1.2)
Вопрос в следующем
На шлюзе вопрос трансляции решается kernel nat, в качестве firewall ipfw (ниже приведена выдержка из правил)
В изначальном состоянии пинг инициированный PC2(1.1.1.2) --> Gateway(1.1.1.1) не проходит , что предусмотрено опцией deny_in в конфиге ната
Но стоит запустить пинг с 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)
После команды ipfw pipe flush пинг не пролазит
P.S.
Предположение 1. таблица nat, но она должна иметь формат
Local IP Port Global IP Port
192.168.10.254 5433 213.45.67.2 5433
Предположение 2. Динамически созданные Pipe
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