Это старая версия документа!
ext_if="re0" # внешний аплинк провайдера ext_addr="x.x.x.x" # IP-адрес, который выдал провайдер int_if="em0" # внутренний интерфейс wlan_if="wlan0" # wi-fi интерфейс yota_addr="10.8.0.2" # адрес роутера Yota Drytek Vigor Fly 200 svn_srv="10.8.0.230" # адрес сервера разработчиков table <localnet> { 10.8/16 } table <yota> persist file "/etc/pf.yota.conf" # файл со списком адресов, которые будут выходить через Yota scrub in all # собираем проходящие пакеты nat on $ext_if inet from $int_if:network to any -> ($ext_if) # НАТ для пользователей сети nat on $ext_if inet from $wlan_if:network to any -> ($ext_if) # НАТ для пользователей сети Wi-Fi rdr on $ext_if proto tcp from any to $ext_if port 444 -> $svn_srv port 443 pass in on $int_if from $int_if:network to any keep state pass in on $wlan_if from $wlan_if:network to any keep state pass in on $int_if route-to ($int_if $yota_addr) from $int_if:network to <yota> keep state pass in on $wlan_if route-to ($wlan_if $yota_addr) from $wlan_if:network to <yota> keep state pass in on $int_if route-to ($int_if $yota_addr) proto { udp, icmp } from $int_if:network to <yota> keep state pass in on $wlan_if route-to ($wlan_if $yota_addr) proto { udp, icmp } from $wlan_if:network to <yota> keep state pass in on $int_if reply-to ($int_if $yota_addr) proto tcp from ! $int_if:network to self port 222 flags S/SA keep state