freebsd с 2 мрежови карти
едната идва интернет от adsl (нат с линукс работи - не е проблемът в adsl-a)
ifconfig_bge0="inet 192.168.1.2 netmask 255.255.255.0"
defaultrouter="192.168.1.1"
на другата трябва да излязат 2 подмрежи
192.168.2.0 и 192.168.4.0
ifconfig_bge1="inet 192.168.2.1 netmask 255.255.255.0"
ifconfig_bge1_alias0="inet 192.168.4.1 netmask 255.255.255.0"
имам още
gateway_enable="YES"
pf_enable="YES" # Enable PF (load module if required)
pf_rules="/etc/pf.conf" # rules definition file for pf
pf_flags="" # additional flags for pfctl startup
pflog_enable="YES" # start pflogd(

pflog_logfile="/var/log/pflog" # where pflogd should store the logfile
pflog_flags=""
в rc.conf
в pf.conf опитах
ext_if="bge0" # replace with actual external interface name i.e., dc0
int_if="bge1" # replace with actual internal interface name i.e., dc1
internal_net_1="192.168.2.0/16"
internal_net_2="192.168.4.0/16"
external_addr="192.168.1.2"
IP gateway=YES
# tables
table <firewall> const { self }
# options
set block-policy drop
set state-policy if-bound
# scrub incoming packets
scrub all reassemble tcp fragment reassemble
# nat
nat on $ext_if from $internal_net_1 to any -> ($ext_if)
nat on $ext_if from $internal_net_2 to any -> ($ext_if)
# setup a default deny policy
block drop log all
но явно не е правилно - нат- а го няма
не можах да открия про подобна ситуация как се прави нат-а