Сетевые настройки машины следующие:
ip 192.168.1.2/24
gw 192.168.1.1
Конфигурация роутера такая:
ip 192.168.1.1/24 - внутренний интерфейс
внешний такой:
ip 10.44.44.215/16
gw 10.44.0.254
dns 192.168.0.3
(это адреса выданные провайлером)
В rc.conf на роутере написано написано так (именно в такой последовательности):
Код: Выделить всё
ifconfig_rl0="inet 10.44.44.215 netmask 255.255.0.0"
defaultrouter="10.44.0.254"
ifconfig_rl1="inet 192.168.1.1 netmask 255.255.255.0"
hostname="Progress.localhost"
gateway_enable="YES"
natd_enable="YES"
natd_interface="rl0"
natd_flags="-l yes"
Так всё работает:
Код: Выделить всё
in=rl1 #to me
out=rl0 #to internet
inip=192.168.1.1
outip=10.44.44.215
maskin=24
netin=192.168.1.0/24
ipfw -f flush
ipfw add allow ip from any to any via lo0
ipfw add deny ip from any to 127.0.0.0/8
ipfw add deny ip from 127.0.0.0/8 to any
ipfw add check-state
ipfw add divert natd all from ${netin} to any out via ${out}
ipfw add divert natd all from any to 10.44.44.215 in via ${out}
ipfw add allow all from me to any keep-state
ipfw add allow all from any to any via ${in}
Код: Выделить всё
...Переменные аналогичны...
ipfw -f flush
ipfw add allow ip from any to any via lo0
ipfw add deny ip from any to 127.0.0.0/8
ipfw add deny ip from 127.0.0.0/8 to any
ipfw add check-state
ipfw add divert natd all from ${netin} to any out via ${out}
ipfw add divert natd all from any to 10.44.44.215 in via ${out}
ipfw add allow all from me to any out xmit ${out} keep-state
ipfw add allow all from any to any via ${in}
Получается, что "обратный билет" по keep-state не действует...
Что не так?