The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Раздел полезных советов: Трансляция адресов во FreeBSD средствами ng_nat"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Раздел полезных советов: Трансляция адресов во FreeBSD средс..." +/
Сообщение от nuclight (??), 10-Июн-09, 17:11 
>Научите, пожалуйста, задавать description через ngctl.
>
>На такое ругается:
>msg nat1: redirectport { local_addr=x.x.x.x local_port=8865 alias_port=8865 proto=6 description="aaaa"}

Вообще, надо показывать, как ругается. Подозреваю, что пробел перед закрывающей фигурной забыли.

>И кто-нибудь знает ещё, как ограничить размер таблицы соединений NAT, чтобы ядерная
>память не кончалась,  а наиболее старые соединения выкидывались.  А
>также как увеличить память ядра под эту таблицу.
>У меня тысячи одновременных коннектов. Через несколько дней начинает глючить.  sysctl
>показывает полную загрузку одного проца, а ping любого адреса выдает: cannot
>allocate memory. Причем память свободная есть.  

Это памяти ядра ему не хватает. Да, есть такая проблема, но, к сожалению, полного решения для неё нет. Во-первых, можно увеличить в /boot/loader.conf значение vm.kmem_size, во-вторых, прошлым летом в 7-ку был патч, который более агрессивно удаляет старые соединения, чтобы меньше текло: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/libali... (это только часть, в том коммите еще и другие файлы трогали, чтоб побыстрее работало). Если у вас 7-ка старше года - обновитесь.

В 6-ку его, к сожалению, не смержили, можно попробовать накатить руками.

> Лечится ребутом машины.

Ну, это вы зря. Достаточно рестартовать ноды ng_nat, оно тогда эту память освободит. Я так делаю по крону, а вот к ipfw nat такое не приделано. Да, костылик, но тем не менее, на ng_nat это возможно.

>Насчет преимуществ ipfw nat - можно задавать диапазон портов для перенаправления.
>Или в ng_nat такое тоже есть, просто я не умею?  Перечислять
>все не подходит. Потому что допустим я хочу направить 1000-2000 на
>некий хост, а _все_остальные_ на другой (в SOHO роутерах это называется
>DMZ).

Воспользуйтесь rc-скриптом с http://antigreen.org/vadim/freebsd/ng_nat/ - там рядом описано, как пользоваться, пишется в rc.conf в стиле natd (а ipfw nat тоже старается быть похожим на natd). Он диапазоны умеет, перечислит все порты за вас. На самом деле, технически ipfw nat и natd тоже перечисляют внутри, но скрывают это от пользователя, здесь же в показе всех редиректов это будет видно. Но думаю, что это не проблема :)

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Раздел полезных советов: Трансляция адресов во FreeBSD средствами ng_nat, auto_tips, 12-Мрт-09, 08:33  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру