Это старая версия документа.
Маскарадинг (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 # все осальное блокируем по умолчанию