>Научите, пожалуйста, задавать 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 тоже перечисляют внутри, но скрывают это от пользователя, здесь же в показе всех редиректов это будет видно. Но думаю, что это не проблема :)