IPA_IP6FW(8) IPA_IP6FW(8)
НАИМЕНОВАНИЕ
ipa_ip6fw -- IPA модуль учёта трафика для FreeBSD IPv6 Firewall
ОПИСАНИЕ
ipa_ip6fw это IPA модуль учёта, обладающий следующими свойствами:
- Модуль разработан для учёта трафика при помощи байтовых счётчи-
ков правил FreeBSD IPv6 Firewall;
- Модуль распознаёт переполнение байтовых счётчиков IPv6 Firewall
правил;
- Возможно суммировать и вычитать статистику байтовых счётчиков
IPv6 Firewall правил;
- Возможно различать IPv6 Firewall правила с одинаковыми номерами;
- IPv6 Firewall правила могут быть динамически добавлены или уни-
чтожены в системе, модуль будет корректно работать в такой ситу-
ации.
Перед чтением следующего параграфа необходимо прочитать в документации
к IPv6 Firewall как устанавливать IPv6 Firewall правила для подсчёта
трафика.
Имя системы учёта -- ip6fw.
ФОРМАТ КОНФИГУРАЦИОННОГО ФАЙЛА
Конфигурация модуля интегрирована в ipa.conf(5). Конфигурационный пре-
фикс модуля -- ``ip6fw''.
Чтобы получать статистику трафика некоторого IPv6 Firewall правила,
используйте параметр ip6fw:rules:
ip6fw:rules = [-]номер[.подномер];
Этот параметр должен быть расположен в секции rule.
В оригинальном формате IPv6 Firewall правила присутствует только один
номер правила. Дополнительный подномер может быть добавлен чтобы раз-
личать правила с одинаковыми номерами, первое правило с некоторым номе-
ром имеет подномер равный 0, второе правило с таким же номером имеет
подномер 1 и т.д. Если подномер не указан, то он считается равным 0.
Понятие подномер в IPv6 Firewall правиле является новым и не упомина-
ется в странице документации ip6fw(8).
Перед номером IPv6 Firewall правила может быть поставлен знак `-', в
этом случае модуль будет вычитать статистику этого правила.
Несколько IPv6 Firewall правил, разделённые пробелами, могут быть ука-
заны в параметре ip6fw:rules, в этом случае их статистика будет сумми-
роваться или вычитаться, в зависимости от знака перед номером правила.
Параметр ip6fw:maxchunk позволяет безопасно очищать таблицу IPv6 Fire-
wall правил или уничтожать и добавлять одни и те же правила во время
работы ipa(8):
ip6fw:maxchunk = <bytes>;
Этот параметр должен быть расположен в секциях global и rule.
Если старое значение байтового счётчика больше чем новое значение этого
же счётчика некоторого IPv6 Firewall правила и если различие (учитывая
переполнение) между ними больше чем значение параметра ip6fw:maxchunk,
то модуль берёт абсолютное значение байтового счётчика этого правила
как прирост статистики этого правила.
Слишком малое значение параметра ip6fw:maxchunk может привести к непра-
вильным результатам. Значение этого параметра должно быть больше чем
различие между байтовыми счётчиками любого IPv6 Firewall правила, ука-
занного в правиле в ipa.conf(5), в течении времени обновления базы дан-
ных.
Было бы лучше проверять некоторые переменные в структурах ядра IPv6
Firewall и определять было ли изменено IPv6 Firewall правило. Но таких
переменных нет в структурах ядра IPv6 Firewall (на момент написания
этой страницы документации), поэтому необходимо использовать параметр
ip6fw:maxchunk.
Модуль всегда отправляет лог-сообщение, когда IPv6 Firewall правило
переполняется или вероятно было изменено (это проверяется при помощи
параметра ip6fw:maxchunk) и когда IPv6 Firewall правило добавляется в
или уничтожается из IPv6 Firewall таблицы ядра. Возможно подавить эти
сообщения используя параметр ip6fw:quiet:
ip6fw:quiet = <value>;
Этот параметр может быть расположен в секциях global и rule.
По умолчанию значение этого параметра равно нулю, это означает, что все
предупреждающие сообщения посылаются в лог. Если значение этого пара-
метра имеет бит 0x1, то лог-сообщение не посылается если какое-то IPv6
Firewall правило переполнилось. Если значение этого параметра имеет
бит 0x2, то лог-сообщение не посылается если какое-то IPv6 Firewall
правило было добавлено или уничтожено.
Параметр ip6fw:debug помогает отладить модуль:
ip6fw:debug = <level>;
Этот параметр должен быть расположен отдельно.
Разрешены только два значения для уровня отладки: 0 и 1. По умолчанию
значение этого параметра равно 0, это означает, что отладка отключена.
Пример:
ac_mod "ipa_ip6fw.so";
global {
/* ... */
ac_list = ip6fw;
ip6fw:quiet = 3;
ip6fw:maxchunk = 1G;
}
rule 1 {
/* ... */
ip6fw:rules = 100 200.1 300;
}
rule 2 {
/* ... */
ip6fw:rules = 100 -200 300.0 300.1;
ip6fw:maxchunk = 500M;
}
Первое правило наследует параметр ip6fw:maxchunk из секции global, оба
правила наследуют параметр ip6fw:quiet из секции global.
ДРУГИЕ ИСТОЧНИКИ
ip6fw(8)
СОВМЕСТИМОСТЬ
IPv6 Firewall впервые появился в FreeBSD 4.0-RELEASE и был убран из
FreeBSD 7.0 (>= 700017). Этот модуль должен работать с любой версией
FreeBSD, которая содержит IPv6 Firewall.
АВТОР
Andrey Simonenko <simon@comsys.ntu-kpi.kiev.ua>
НЕДОРАБОТКИ
Если вы используете систему FreeBSD до 4.2-RELEASE, то модуль ipa_ip6fw
будет работать только если в таблице правил IPv6 Firewall не больше чем
1024 правил, на таких системах ip6fw(8) также не может вывести полную
таблицу IPv6 Firewall правил если она содержит более 1024 правил.
Из-за не идеального интерфейса между пользовательским режимом и IPv6
Firewall частью ядра, ipa_ip6fw модуль не будет работать корректно если
IPv6 Firewall не включён в ядро.
Если вы проинсталлируете новое ядро FreeBSD с изменённым IPv6 Firewall
API, то необходимо пересобрать этот модуль.
Если вы обнаружите какие-либо ошибки, то, пожалуйста, сообщите мне по
email.
4 января 2008 г. IPA_IP6FW(8)