ipfw nat

FreeBSD, NetBSD, OpenBSD, DragonFly и т. д.

Модератор: arachnid

Аватара пользователя
LZOmgi
Сообщения: 67
ОС: FreeBSD Current

ipfw nat

Сообщение LZOmgi »

Вопрос №1
выдает ошибку:
$/etc/rc.firewall
...
nat 10 ip4 from XXX to YYY
serialized data buffer not big enough: please increase NAT_BUF_LEN
ipfw: getsockpot (IP_FW_GET_CONFIG) no space left on device
две последние строки белым (от ядра? кажется)
настройки на 2 провайдера на несколько пользователей с редиректом портов на каждого, когда кол-во интерфесов и пользователей было меньше (соответвенно и правил) было все нормально, изменения только в количестве правил

Интернет еле работает... проблемы в установлении соединения (могут быть не обязательно на роутере, но возможно это взаимосвязано, появилось одновременно), на сайты заходит после 2-3-го F5, если же там infram-ы то зайти вообще невозможно - загружаются по одному каждый раз.

Извените, гуглил сколько было сил, с таким инетом это сложно, но нашел маты на ipfw nat с "неправильным" NAT_BUF_LEN.

А такой же ошибки, похоже, гугл не знает.

==edit==

количество потоков, похоже не с этим связано.
Спасибо сказали:
Аватара пользователя
LZOmgi
Сообщения: 67
ОС: FreeBSD Current

Re: ipfw nat

Сообщение LZOmgi »

Вопрос №2
(не в отдельной теме, дабы не засорять своими глупыми вопросами)
у меня на одной сетевой два IP
как сказать кернел нату что инет на ip1, а (локалка) на ip2.

в ipfw задаем внешний интерфейс, а не ip (но я может плохо разбираюсь)
С первого взгляда nat выходит в свет с ip присвоенного последним, но оказалось что это не так (бывает выходит и с первого, бывает что nat вообще отключается и вместо маршрутизатора получаю коммутатор)
примерный отрезок /etc/rc.firewall (весь несколько страниц)
ipfw nat 1 config if re0
ipfw add 100 nat 1 ip4 from X.X.X.X, Y.Y.Y.Y to any via re0
ipfw add 110 allow ip4 from any to any via me0
X.X.X.X на re0
Y.Y.Y.Y на me0
все работало, работало, пока не перезагрузился
потом сидел тарабанил:
ifconfig re0 add / ifconfig re0 delete
route flush / route add (после ifconfig delete маршруты слетают)
/etc/rc.firewall
пока чудом незаработало, пока не трогаю, но хотелось бы настроить чтобы при старте было все нормально.
Спасибо сказали:
Аватара пользователя
LZOmgi
Сообщения: 67
ОС: FreeBSD Current

Re: ipfw nat

Сообщение LZOmgi »

Со вторым вопросом разбрался - просто нужна "магическая комбинация" (в правильном порядке запустить правила файервола и настройки интерфейса)

С первым пришел к выводу что без правки исходников ядра не обойтись. (Хотя С я "знаю".. врятли самостоятельно рискну).
В 8.0 (по ошибке обновился до 8-й версии) все еще работает, хотя матюкается. Все редиректы портов, все наты, хотя (похоже) нахватает конектов, а в 7-й просто ограничено кол-во nat настроек - если выставить больше, ядро такие фейерверки выдает... (мгновенный переход во время загрузки в режим одного пользователя, выгрузка рута, падение интерфейсов, таблицы маршрутизации...) А еще и стабильная версия... : )

Всем спасибо что прослушали радиостанцию "садомазохизм с kernel nat"!
Спасибо сказали:
o6s
Сообщения: 187

Re: ipfw nat

Сообщение o6s »

может стоит попробывать pf ?
Спасибо сказали:
Аватара пользователя
LZOmgi
Сообщения: 67
ОС: FreeBSD Current

Re: ipfw nat

Сообщение LZOmgi »

Все-таки kernel nat, хотя и так не очень быстрый (не в пропускной способности а в задержке), хотя это мб. еще и железо не совсем серверное.

Только перешел с natd, думал будет быстрее, я новичок в FreeBSD (unix вообще) и в ошибках и путях решений разбираюсь не очень быстро. Этих натов еще, ng_nat, ipnat...

Ползу потихоньку... Пока попробую еще что-то придумать, если не получится буду пробовать другой nat.

З.Ы. О, тут еще пропатчить ядро говорят надо для редиректа портов. :blush: http://www.opennet.ru/cgi-bin/openforum/vs...mID3&omm=26
Спасибо сказали: