Пакетный фильтр 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"
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"
Комментарии
Отправить комментарий