URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 85461
[ Назад ]

Исходное сообщение
"Очень большие конфигурации kernel NAT (FreeBSD 7.2)"

Отправлено Призрак , 30-Май-09 01:33 
Здравствуйте ^_^

Очень удобная штука этот kernel NAT, в 7.2 версии даже багов почти нет уже, однако, есть одна неприятность, с которой видимо должно быть можно что-то сделать, вот мне и интересно, есть ли варианты. Как известно, kernel NAT конфигурится конструкцией вроде:

ipfw nat 123 config if ng0 same_ports \
redirect_port 192.168.1.3:1234 1234 \
redirect_port 192.168.1.4:5678 5678

...однако, когда количество строчек (проброшенных портов или диапазонов портов - ужимаем как можем) вырастает до неприличного предела (в 7.2 версии это - меньше 20-ти) - то ipfw просит увеличить некий buf :

ipfw: redirect_port: buf is too small

Должно же быть можно как-то увеличить этот buf, будь он хоть переменной которую придётся править в сорцах и перекомпилировать ipfw !!.. Ведь вроде не такое уж и редкое дело, даже хардверные роутеры со своим busybox-ом позволяют делать гораздо больше этих правил (хоть у них и файерволл+нат другой, линуксовый)...


Содержание

Сообщения в этом обсуждении
"Очень большие конфигурации kernel NAT (FreeBSD 7.2)"
Отправлено vityan666 , 30-Май-09 17:37 
>[оверквотинг удален]
>можем) вырастает до неприличного предела (в 7.2 версии это - меньше
>20-ти) - то ipfw просит увеличить некий buf :
>
>ipfw: redirect_port: buf is too small
>
>Должно же быть можно как-то увеличить этот buf, будь он хоть переменной
>которую придётся править в сорцах и перекомпилировать ipfw !!.. Ведь вроде
>не такое уж и редкое дело, даже хардверные роутеры со своим
>busybox-ом позволяют делать гораздо больше этих правил (хоть у них и
>файерволл+нат другой, линуксовый)...

Откройте файлы исходников /usr/src/sys/netinet/ip_fw.h и /usr/include/netinet/ip_fw.h и увеличьте размер буффера(В обоих файлах) с
#define NAT_BUF_LEN     1024
     на
#define NAT_BUF_LEN     8192

После чего пересоберите мир(сам ipfw завязан на этом параметре) и ядро(для netinet).
Увеличение буффера до 8192 увеличит предел с 20-и до преблизительно 120-200 -а.