kernel nat freebsd 8.0

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
nordest
проходил мимо

kernel nat freebsd 8.0

Непрочитанное сообщение nordest » 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 (ниже приведена выдержка из правил)

Код: Выделить всё

#------------- 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
#---------------------------------------------------------------
В изначальном состоянии пинг инициированный 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)

Код: Выделить всё

/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/>
После команды 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

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35426
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: kernel nat freebsd 8.0

Непрочитанное сообщение Alex Keda » 2010-10-10 13:46:07

ничё не понял =(
Убей их всех! Бог потом рассортирует...