Пакетная фильтрация (pf)

Общие сведения по настройке модуля пакетной фильтрации

Статья включает:

Формирование белого списка IP-адресов (на получение и отправку пакетов)
Отключение пакетного фильтра

Формирование белого списка IP-адресов (на получение и отправку пакетов)

Рассмотрим пример настройки пакетного фильтра для разрешения получения и отправки пакетов только с IP адресов из некоторого "белого" списка.

В первую очередь необходимо создать файл /etc/pf.conf со следующим содержимым:

# Интерфейс с которым работать: If="wm0" # Адрес текущей машины IfIp="192.168.175.216" # Таблица разрешенных адресов: table <allow_ip> {192.168.175.214, 192.168.175.1} # Запрещаем весь трафик block all # Проверяем входящий пакет на адрес отправителя и # если адрес в списке, то разрешаем его pass in quick on $If from <allow_ip> to $IfIp # Проверяем исходящий пакет на адрес получателя и # если адрес в списке, то разрешаем его pass out quick on $If from $IfIp to <allow_ip>

Следующим шагом проверяем конфигурационный файл на корректность:

pfctl -nf /etc/pf.conf

и запускаем пакетный фильтр с данным конфигурационным файлом:

pfctl -f /etc/pf.conf

Наконец, разрешаем пакетному фильтру менять трафик:

pfctl -e

Подробнее о настройке "белых" списков можно прочитать на страницах pf, /etc/pf.conf, pfctl, pfctl-ksz и pflogd.


Note: Данное решение мошет применяться в случае, если необходимо решение для защиты от DoS-атак.

Отключение пакетного фильтра

Если требуется отключить пакетный фильтр, следует выполнить следующую команду:

pfctl -d




Предыдущий раздел: перейти