Страница 1 из 1

Замена демона NATD

Добавлено: 2009-05-27 23:27:19
super-fox
Здраствуйте всем! Столкнулся с такой проблемкой, есть роутер на freebsd, стоит там IPFW+NATD, под вечерок, когда много народу юзает NATD загружает процессор на 60-80% , пришла пора мне собрать в ядре nat, прошу поделиться опытом, кто что использует для трансляции пакетов?

Re: Замена демона NATD

Добавлено: 2009-05-28 0:28:19
Alex Keda
Juniper

Re: Замена демона NATD

Добавлено: 2009-05-28 1:06:57
super-fox
Спасибо, мне бы бюджетный вариант :) Я думаю что если нат загрузить не как модуль, а скомпилить в ядре, то производительность будет намного лучше.

Re: Замена демона NATD

Добавлено: 2009-05-28 8:51:24
princeps
я юзаю ipfw с kernel nat и pf.

Re: Замена демона NATD

Добавлено: 2009-05-28 10:18:10
ViktorichZ
имхо самое самое на сегодняшний день ng_nat

Re: Замена демона NATD

Добавлено: 2009-05-28 13:52:22
buryanov
Если будет дцать nat"ов, то

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

/usr/src/sys/netinetip_fw.h
#define NAT_BUF_LEN     1024
меняешь на чтото вроде

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

#define NAT_BUF_LEN     2*1024
или

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

#define NAT_BUF_LEN     4*1024
и пересобираешь ядро

Re: Замена демона NATD

Добавлено: 2009-05-28 13:55:57
super-fox
nat у меня один, говорят pf собраный в ядре отлично работает, может кто покажет конфиги?

Re: Замена демона NATD

Добавлено: 2009-05-28 15:03:34
princeps
nat в ipfw, собранный в ядре, тоже работает нормально. Раз у тебя уже стоит ipfw, то стоит ли заморачиваться с pf?

Re: Замена демона NATD

Добавлено: 2009-05-28 15:59:16
buryanov
Если будешь делать port/proto/address_redirect > 16 раз, то тогда понадобится это
у меня сделано так

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

${FwCMD} nat 4 config ip ${ip_nat33}
${FwCMD} add nat 4 all from ${lan} to any out via ${ifwan}
${FwCMD} add nat 4 all from any to ${ip_nat33} in via ${ifwan}

Re: Замена демона NATD

Добавлено: 2009-05-28 18:01:51
super-fox
princeps, может покажеш конфиги, как єто все правильно стелать с natd, или ссылку на статейку даш?

buryanov, а зачем столько натов? Зачем их вообще столько?

Re: Замена демона NATD

Добавлено: 2009-05-29 0:54:29
buryanov
super-fox писал(а):а зачем столько натов? Зачем их вообще столько
У меня 4 ip на инрерфейсе, 2 провайдера + ngх. Разные чтоб было проще, есть удалённый ip, и к нему мы конектимся чемто(это уже кто,чем из пользователей), а на удалённой стороне прописан portmapping в зависимости от моего адреса, проэктов несколько таких, плюс, исходя из горького опыта командаровок, частенько у людей открыт только 80,443 порты, и у меня на 443 висит ssh, который мапится в локалку на сервак, потом на другом ip на 443 висит OWA,OMA, на ещё одном 443 ClearQuest и так далее
И получается проще, когда надо закрыть или открыть доступ или поменять настройки я перезагружаю именно для него фаер и нат соответственно. Но в этом методе тоже есть свои нюансы, очень легко запутатся, что где натится и куда должно возвращатся

Re: Замена демона NATD

Добавлено: 2009-05-29 1:36:23
super-fox
buryanov, спасибо за обьяснение, а можно например сделать так, что-бы пользователи попадали рандом на какой-то нат с определенным внешним ай пи? А то с рапидами да депозитами туговато :smile:

Re: Замена демона NATD

Добавлено: 2009-05-30 19:39:58
Alex Keda
super-fox писал(а):Спасибо, мне бы бюджетный вариант :)
ну, вы спросили кто что юзает - я вам ответил

Re: Замена демона NATD

Добавлено: 2009-05-31 17:35:42
qwe
Реализация с pf.

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

/boot/loader.conf
pf_load="YES"

/etc/rc.conf
pf_enable="YES"

/etc/pf.conf
set limit states 30000
set optimization normal
set skip on lo0
scrub in all

nat on <имя_интерфейса, через который уходит на дефолт роут> from <серые адреса, которые нужно натить> to any -> <ip, на который натим>

pass all no state

Пример строки с nat:

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

nat on vlan200 from 10.10.1.0/24 to any -> 21.21.21.21