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

ipfw+ipnat+limit dst-addr

Добавлено: 2012-05-17 14:32:09
skeletor
Всем привет.
Есть связка ipfw+ipnat (используется только для NAT). Захотелось ввести ограничения на количество исходящих\входящих подключений в интернет. Собираю такую конструкцию:

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

ipfw add check state
ipfw add allow all from 10.10.10.15 to any limit dst-addr 20
ipfw add deny all from 10.10.10.15 to any
По счётчикам ipfw show вижу, что правило срабатывает. Так же смотрю ipfw -d show и считаю, сколько динамических правил создалось для 10.10.10.15 и вижу, что их количество превышает 20.
Так же смотрю сессии NAT через ipnat -l и тоже их количество превышает 20 для данного ИПа. Делаю заключение, что ограничение может и работает, но неправильно, так как у юзера более 1000 подключений.
Поскольку фактически у меня 2 файервола (ipfw и ipfilter), то нужно смотреть ещё и порядок прохождения пакета через файерволы. Нашёл статью http://www.opennet.ru/tips/info/1431.shtml , если верить которой
на вход: ipfilter, pf, ipfw
на выход: ipfw, pf, ipfilter
То есть иными словами подключения юзера 10.10.10.15 в инет НАТятся раньше, чем они доходят до правила

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

ipfw add allow all from 10.10.10.15 to any limit dst-addr 20
?

Попробовал по другому (пробовал с in/out и без них):

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

ipfw add check state
ipfw add allow all from 10.10.10.15 to any via $int_if limit dst-addr 20
ipfw add deny all from 10.10.10.15 to any

но ограничения так и не срабатывают.
То есть по идее они хоть как должны сначала пройти через это правило, так как оно написано для внутреннего интерфейса, а потом уже будут НАТится на внешнем.

Ещё как вариант - это писать ограничения непосредственно в ipfilter (не тестировал)

Подскажите, где я ошибся и как всё-таки заставить работать ограничения?

ПС. FreeBSD Release 8.1 amd64
Сейчас этот сервер в работе, поэтому что-то кардинальное смогу сделать только вечером.

Заранее спасибо.

Re: ipfw+ipnat+limit dst-addr

Добавлено: 2012-05-20 9:44:56
ChihPih
То есть иными словами подключения юзера 10.10.10.15 в инет НАТятся раньше, чем они доходят до правила
Так ничего не сделать. Надо до ната ))
Может проще один фаер использовать?

Re: ipfw+ipnat+limit dst-addr

Добавлено: 2012-05-21 13:34:06
skeletor
Может, но выбрал эту связку из-за того, что можно смотреть текущие сессии и потом их считать.