Это старая версия документа.


Маскарадинг (FreeBSD pf)

собираем ядро с опциями:

device          pf                      #PF OpenBSD packet-filter firewall
device          pflog                   #logging support interface for PF
device          pfsync                  #synchronization interface for PF

Автозагрузка /etc/rc.conf добавляем:

pf_enable="YES"
pf_rules="/etc/pf.rules"
pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_flags=""

Файл настроек pf.rules:

 ext_ip="19х.1хх.хх.хх" # внешний ip-адрес сервера
 int_if="rl1" # интерфейс смотрящий в локалку
 int_net_vpn="xx.yy.zz.ff" # внутренняя VPN-сеть
 local_net="..." # внутрення локалка
 int_ip="..." # внутренний ип в локалке
 
 nat on rl0 from $int_net_vpn to any -> $ext_ip # собсно NAT
 
 pass quick on lo0 all # разрешаем все на lo0
 
 pass quick from $ext_ip to any # Разрешаем траф
 pass quick from any to $ext_ip # на внешнем ip
 
 pass quick from $int_net_vpn to any # разрешаем любой траф
 pass quick from any to $int_net_vpn # по впн-сети
 
 pass in quick on $int_if from $local_net to $int_ip
 
 block in all # все осальное блокируем по умолчанию
 

Дополнительно