natd vs kernel nat

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

natd vs kernel nat

Непрочитанное сообщение schizoid » 2009-02-18 10:51:33

в общем суть вопроса. есть сейчас такая вот схема

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

# ipfw list 2400-3300
02400 divert 8667 ip from table(2) to 192.168.1.0/24
02500 divert 8669 ip from table(1) to any
02600 divert 8669 ip from table(2) to table(3)
02700 divert 8668 ip from table(2) to any
02800 fwd 192.168.40.1 tcp from any to table(3)
02900 fwd 192.168.30.1 ip from 192.168.30.2 to any
03000 fwd 192.168.40.1 ip from 192.168.40.2 to any
03100 divert 8667 ip from any to 192.168.5.54
03200 divert 8668 ip from any to 192.168.30.2
03300 divert 8669 ip from any to 192.168.40.2

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

# ps -aux| grep natd
root   67796  0,0  0,2  3372  1252  ??  Rs   10:01    27:31,14 /sbin/natd -n sk0 -p 8668
root   67798  0,0  0,2  3372   960  ??  Is   10:01     0:00,32 /sbin/natd -n ng2 -p 8667
root   68809  0,0  0,2  3372  1140  ??  Ss   10:03     0:40,77 /sbin/natd -n fxp0 -p 8669 -f /etc/natd.conf
все работает как нада.
но решил таки заюзать ядерный НАТ, т.к. таки смог переехать на фрю 7.1
что делаю

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

${fwcmd} nat 100 config if fxp0
${fwcmd} nat 200 config if sk0
${fwcmd} nat 300 config if ng2

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

        ${fwcmd} add nat 300 log ip from 'table(2)' to 192.168.1.0/2
        ${fwcmd} add nat 100 log ip from 'table(1)' to any
        ${fwcmd} add nat 100 log ip from 'table(2)' to 'table(3)'
        ${fwcmd} add nat 200 log ip from 'table(2)' to any
        ${fwcmd} add fwd ${sgw} log tcp from any to 'table(3)'
        ${fwcmd} add fwd ${dgw} log ip from ${dip} to any
        ${fwcmd} add fwd ${sgw} log ip from ${sip} to any
        ${fwcmd} add nat 300 log ip from any to 192.168.5.54
        ${fwcmd} add nat 100 log ip from any to ${sip}
        ${fwcmd} add nat 200 log ip from any to ${dip}
собсна тоже самое.
но при этом перестает работать данная схема.
т.е. к примеру если на серваке шлюз по умолчанию через sk0 (192.168.30.1), то трафик через канал fxp0 (192.168.40.1) перестает ходить
т.е. грубо говоря, для natd это 02600 divert 8669 ip from table(2) to table(3) срабатывает, а для NAT - нет.

какая между ними разница в прохождении пакетов, между этими двумя натами?

пока логов выложить не могу, т.к. сейча юзается натд (конторе нужен инет)
пока только теоретически выскажете свои предположения.
снкс.
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Хостинговая компания 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/

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: natd vs kernel nat

Непрочитанное сообщение schizoid » 2009-02-22 16:58:56

в общем вот взялся снова за настройку.
что-то у меня вкрадываются смутные сомнения, на счет того, что пакет при использовании kernel nat больше в файер не попадает.
ведь после диверта, пакет возвращается в фаервол и продолжает путь со следующего правила, т.е. у меня после диверта на НАТД шел форвад и все было пучком. а вот в случае с кернел-НАТом правило форварда вообще не срабатывает, похоже, что пакет при попадании в НАТ просто выходит из фаервола....
кто-нить что-нить про это знает?
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: natd vs kernel nat

Непрочитанное сообщение schizoid » 2009-02-22 19:18:13

протупил

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

net.inet.ip.fw.one_pass=0
и все пашет.
ядерный взрыв...смертельно красиво...жаль, что не вечно...