Pf

модуль pf загрузить kldload pf

pfctl -e сказать (хотя он, думаю, при загрузке модуля сам про`enabl`ится) pfctl -e No ALTQ support in kernel ALTQ related functions disabled pf enabled

прописать правило для ната в какой-нибудь конфиг и загрузить его

nat on age0 from 172.16.0.0/24 to any -> (age0) static-port pfctl -f /etc/pf.conf

rc.conf pf_enable="YES" pf_rules="/etc/pf.conf"

Просмотр состояния
pfctl -sn  No ALTQ support in kernel ALTQ related functions disabled nat on age0 inet from 172.16.0.0/24 to any -> (age0) round-robin static-port 

pfctl -sn -v  No ALTQ support in kernel ALTQ related functions disabled nat on rl0 inet from 192.168.0.0/24 to any -> (rl0) round-robin static-port [ Evaluations: 676      Packets: 257       Bytes: 88046       States: 4     ] [ Inserted: uid 0 pid 3366 ] rdr pass on rl0 inet proto tcp from any to any port = 809 -> 192.168.0.253 port 22 [ Evaluations: 767      Packets: 662       Bytes: 105080      States: 1     ] [ Inserted: uid 0 pid 3366 ] 

Port Forwarding
Проброс 8000 порта на локальный 80 на адресе 192.168.0.2

rdr pass on age0 proto tcp from any to any port 8000 -> 192.168.0.2 port 80

nat on $ext_if from $int_net to any -> ($ext_if) static-port это то, что мы в дц-6 включали $ext_if - внешний интерфейс, $int_net - внутренняя сеть

static-port мы как раз для гаджима

или так

nat on $ext_if from $int_net to any -> $ext_addr

$ext_addr внешний адрес