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

ipfw и ограничение колличества сессий

Добавлено: 2009-03-02 19:03:00
skeletor
Есть связка ipfw+ipnat. Есть несколько качков, которые переполняют таблицу ipnat'a. Вопрос, как ограничить количество сессий с помощью ipfw? Пробовал через limit src-addr/dst-addr, но что-то ничего не помогает.
Как всё-таки можно ограничить?

FreeBSD 6.1.

Re: ipfw и ограничение колличества сессий

Добавлено: 2009-03-03 11:19:11
RusBiT

Re: ipfw и ограничение колличества сессий

Добавлено: 2009-03-03 11:43:26
skeletor
Спасибо, но к сожалению я уже так пробовал. И у меня не срабатывает src-addr. Количество коннектов всё равно больше допустимого :(

Re: ipfw и ограничение колличества сессий

Добавлено: 2009-03-03 18:57:43
RusBiT
Как я понимаю вам надо ограничить по портам, адресам источников и получателей (src-dst-addr-port), тогда смотрите в сторону pf.

Re: ipfw и ограничение колличества сессий

Добавлено: 2009-03-05 10:57:04
schizoid

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

/sbin/ipfw add  allow ip from any to any via rl0 limit src-addr 40
rl0 - локальный
на каждый ИП из сети не более 40 сессий (UDP и TCP)
работает

Re: ipfw и ограничение колличества сессий

Добавлено: 2009-04-15 18:07:00
RusBiT
Нашел сегодня одного активного торрент пользователя. Решил провести экспримент, ng67 - его интерфейс.

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

ipfw add 47 allow log logamount 100 ip from any to any via ng67 limit dst-addr 1
ipfw add 48 allow log logamount 100 ip from any to any via ng67 limit dst-port 1
ipfw add 49 allow log ip from any to any via ng67 limit src-port 1
Но trafshow показывает 170-250 пакетов :( Трафик идет. Что не так делаю?

Re: ipfw и ограничение колличества сессий

Добавлено: 2009-04-21 15:32:42
schizoid
а ipfw -d show что говорит?

Re: ipfw и ограничение колличества сессий

Добавлено: 2009-04-21 15:42:55
abanamat
RusBiT писал(а):Но trafshow показывает 170-250 пакетов :( Трафик идет. Что не так делаю?
ipfw show 49 счетчик пакетиков ненулевой?

Re: ipfw и ограничение колличества сессий

Добавлено: 2012-12-25 17:35:39
derikpro
Подскажите, похоже что проблема такая же как и у автора темы.
Правила:

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

${cmd} add divert 8668 ip from ${NetIn} to any via ${IfOut}                    
${cmd} add divert 8668 ip from any to ${IpOut} via ${IfOut}
${cmd} add allow all from 10.18.2.0/24 to any                                  
${cmd} add allow all from any to 10.18.2.0/24

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

ipfw -d show | grep 10.18.2.0
09700    49     6041 allow ip from 10.18.2.0/24 to any
09800    96    87404 allow ip from any to 10.18.2.0/24
Работает.
---------------------------------------------------------------------------------------
Добавляю лимит и перестает работать. С клиентского компа смотрю что сессии вообще не устанавливаються.

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

${cmd} add divert 8668 ip from ${NetIn} to any via ${IfOut}                    
${cmd} add divert 8668 ip from any to ${IpOut} via ${IfOut}
${cmd} add allow all from 10.18.2.0/24 to any  limit dst-addr 50                                 
${cmd} add allow all from any to 10.18.2.0/24 

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

ipfw -d show | grep 10.18.2.0
09700   108     5440 allow ip from 10.18.2.0/24 to any limit dst-addr 50
09800    16      748 allow ip from any to 10.18.2.0/24
Не работает