IPFW

Теория

Краткое резюме из статьи1) Александра Сысоева о работе сетевого стека.

Стек

  • Существует два прохода трафика: IN и OUT.
  • Система, исходя из правил маршрутизации, помечает, какому сетевому итерфейсу соответствует трафик. Таким образом, логически на каждом сетевом интерфейсе мы имеем два направления трафика.
  • При поступлении в каждый из проходов трафика он попадает на правила фильтрации firewall-а, согласно которым и обрабатывается.
  • Правила firewall-а могут выводить трафик из прохода, запускать в проход во второй раз (при смене информации в пакете), а также убивать его.
  • При выходе трафика из прохода, он либо отправляется на сетевой интерфейс, либо обрабатывается и направляется в другой проход.

NAT

  • NAT разделяет трафик на входящий и исходящий: из прохода OUT трафик маскируется, из IN - демаскируется.
  • NAT позволяет запускать несколько своих экземпляров с собственными таблицами.
  • После применения NAT-фильтрации выйти из текущего прохода firewall-а
    net.inet.ip.fw.one_pass=1
  • После применения NAT-фильтрации снова попасть в проход для прохождения СЛЕДУЮЩИХ правил
    net.inet.ip.fw.one_pass=0

Включение IPFW

В /etc/rc.conf:

firewall_enable="YES"

Там же указываются дополнительные опции:

  • NAT:
    firewall_nat_enable="YES"
  • логирование:
    firewall_logging="YES"
  • режим фильтрации:
    firewall_type="тип(open, closed,...)"

    в этом случае применяются стандартные настройки firewall-а указанного типа,

  • скрипт обработки:
    firewall_script="путь к скрипту"

    вместо стандартных правил

В /etc/sysctl.conf:

  • метод прохождения:
    net.inet.ip.fw.one_pass=1
  • уровень логирования:
    net.inet.ip.fw.verbose_limit=5

Пример

Ссылки

1)
см. ссылку ниже
freebsd/ipfw.txt · Последние изменения: 29.10.2014 20:14:39 — Ладилова Анна
Наверх
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0