Пакетный фильтр PF

Первым делом вносим в /etc/rc.conf :
gateway_enable="YES"
После этого создадим файл /etc/pf.rules с помощью команды:
ee /etc/pf.rules
и вносим в него следующее базовые настройки (где if_ext - внешний интерфейс, if_int - внутренний, а net_int - ваша локальная подсеть. Проверить название интерфейсов можно командой ifconfig):


if_ext = "le0"
if_int = "em0"
net_int = "192.168.1.0/24"
set block-policy drop
set state-policy if-bound
scrub all reassemble tcp fragment reassemble 

 # NAT для локальной сети
nat pass on $if_ext from $net_int -> ($if_ext) static-port

# Запрещаем весь лишний трафик
block drop all

# Разрешаем всё на loopback-интерфейсе
pass quick on lo0 all

# Разрешаем исходящий трафик
pass out quick on $if_ext inet proto tcp from ($if_ext) to any flags S/SA keep state
pass out quick on $if_ext inet proto { udp, icmp } from ($if_ext) to any keep state
pass out quick on $if_int from ($if_int) to $net_int

# Разрешем любой трафик со стороны локальной сети
pass in quick on $if_int from $net_int to any keep state

После этого в файл /etc/rc.conf дописываем:
pf_enable="YES"
pf_rules="/etc/pf.rules"

А так же не забываем прописать в /etc/rc.conf разрешение маршрутизации:
gateway_enable="YES"

Комментарии

Популярные сообщения из этого блога

FreeBSD: gpart — пример работы с дисками