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

Увеличение количество записей в таблице трансляции (ipnat)

Добавлено: 2010-11-11 16:12:08
nikodim
есть маршрутер под FreeBSD 8.1 на нем: ipnat+ipfw+pipe. Все работает, в инет ходит примерно машин 20. Есть любители покачать с сайтов с именами *torent*. Количество записей в таблице трансляции только 30 000, по этому даже при слабой нагрузке канала свободных всего 80-100. Нашел решение для этого:

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

ipfilter_enable="YES"
ipfilter_rules="/etc/ipf.rules"
ipfilter_flags="-D -T ipf_nattable_sz=10009,ipf_nattable_max=300000 -E"
ipnat_enable="YES"
ipnat_rules="/etc/ipnat.rules"
Два вопроса:
1. Как с помощье ipf нарезать каналы.
2. Если нельзя, то как увеличить количество записей в таблице трансляции. (Пробовал /usr/src/sys/contrib/ipfilter/netinet/ip_nat.h, ищем словосочетание #undefine LARGE_NAT (#undef LARGE_NAT) и меняем на #define LARGE_NAT, пересобрал ядро).

Re: Увеличение количество записей в таблице трансляции (ipna

Добавлено: 2010-11-11 17:17:56
Dog
Насколько я знаю, нарезать каналы ipf не умеет. Правда, подобные схемы вида "файрволим одним, натим другим" использовать не приходилось со времен 5-ки или 6-ки, после того как появился kernel nat (сначала через netgraph) и был портирован pf. Делал конфиги либо полностью на pf, либо полностью на ipfw.
Насчет увеличения количества записей - пардон, не знаю.

Re: Увеличение количество записей в таблице трансляции (ipna

Добавлено: 2010-11-12 9:54:17
skeletor
Что касается п2, то почитай, ДО КОНЦА мою заметку (с чем мне пришлось столкнуться) http://skeletor.org.ua/?p=101

Re: Увеличение количество записей в таблице трансляции (ipna

Добавлено: 2010-11-12 11:19:26
Shuriks
А почему бы просто не ограничить количество соединений для торрентов?
В моем случае реализовано так:

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

fw="/sbin/ipfw -q"
lan1="192.168.1.0/24"
inet="not 192.168.0.0/16,172.16.0.0/12,10.0.0.0/8,169.254.0.0/16,224.0.0.0/4"
safe_ports="25,53,80,110,123,443,5190,5222,8080"
...
$fw add 4000 check-state
...
$fw add 8000 allow ip from $lan1 to $inet $safe_ports
$fw add 8100 allow ip from $inet $safe_ports to $lan1 
$fw add 8200 allow ip from $lan1 to $inet setup limit src-addr 50 
Пояснение:
Правилами 8000 и 8100 разрешаем соединение с объектами не создающими большое количество соединений. По вкусу можно в safe_ports добавить свои порты. А правилом 8200 ограничиваем количество остальных соединений, под которое попадут все торренты.