Jump to content

Recommended Posts

Posted

Всем привет.

Есть связка 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

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

 

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.