Патч для ограничения трафика в ipfw

6 мая 2005 года

Andrey V. Elsukov предложил протестироать патч для ipfw, позволяющий задавать правила срабатывающие в зависимости от объема трафика прошедшего в соответвсии с определенным правилом.

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

  • в IPFW добавляется новая опция (см. man ipfw: RULE OPTIONS/MATCH

PATTERNS) bound числовое_значение. Правила с этой опцией проходят дополнительную проверку. Проверка заключается в сравнении байтового счётчика правила со значением указанном в bound. Если значение счётчика меньше значения в bound, то правило срабатывает (конечно при этом делаются все остальные проверки), иначе - пропускается.

  • необходимые для поддержки выше описанного изменения в утилите

/sbin/ipfw.

Пример использования:

ipfw add 100 allow ip from any to hostA in recv internet bound 10000000

ipfw add 200 deny ip from any to any

Здесь hostA - это хост, у которого лимит входящего траффика ~10 MБайт. Сотое правило перестанет срабатывать когда лимит будет исчерпан. Можно придумать и более сложные конструкции.

Установка

Патч писался для FreeBSD 5.4-STABLE, т.е. RELENG_5. Исходя из этого ставим так:


1. Патчим:
# cd /usr/src
# patch

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Патч для ограничения трафика в ipfw», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.