natd vs kernel nat
Добавлено: 2009-02-18 10:51:33
в общем суть вопроса. есть сейчас такая вот схема
все работает как нада.
но решил таки заюзать ядерный НАТ, т.к. таки смог переехать на фрю 7.1
что делаю
собсна тоже самое.
но при этом перестает работать данная схема.
т.е. к примеру если на серваке шлюз по умолчанию через sk0 (192.168.30.1), то трафик через канал fxp0 (192.168.40.1) перестает ходить
т.е. грубо говоря, для natd это 02600 divert 8669 ip from table(2) to table(3) срабатывает, а для NAT - нет.
какая между ними разница в прохождении пакетов, между этими двумя натами?
пока логов выложить не могу, т.к. сейча юзается натд (конторе нужен инет)
пока только теоретически выскажете свои предположения.
снкс.
Код: Выделить всё
# 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 - нет.
какая между ними разница в прохождении пакетов, между этими двумя натами?
пока логов выложить не могу, т.к. сейча юзается натд (конторе нужен инет)
пока только теоретически выскажете свои предположения.
снкс.