имеентся:
de0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 194.85.83.56 netmask 0xfffffc00 broadcast 194.85.83.255
inet6 fe80::280:c8ff:fe33:561eч0 prefixlen 64 scopeid 0x1
inet 192.168.90.1 netmask 0xffffff00 broadcast 192.168.90.255
ether 00:80:c8:33:56:1e
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
Необходимо, чтобы любые пакеты из 192.168.90.2 траснлэйтились обратно в de0 (но с ip 194.85.83.56).
в кернеле добавил:
# firewall
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=10
options IPDIVERT
options DUMMYNET
rc.conf:
ifconfig_de0="inet 194.85.83.56 netmask 255.255.252.0"
ifconfig_de0_alias0="inet 192.168.90.2 netmask 255.255.255.0"
defaultrouter="194.85.80.1"
hostname="fruha.8ka.mipt.ru"
sshd_enable="YES"
firewall_enable="YES"
firewall_script="/etc/firewall/fwrules"
natd_enable="YES"
natd_interface="de0"
gateway_enable="YES"
/etc/fiewall/fwrules:
#!/bin/sh
ipfw="/sbin/ipfw -q"
$ipfw flush
$ipfw add divert natd all from 192.168.90.2 to any out via de0
$ipfw add divert natd all from any to 194.85.83.56 in via de0
$ipfw add allow all from any to any
с 192.168.90.2 без проблем идут icmp и udp пакеты во внешнюю сеть уходят (ping проходит и имена резолвятся на внешних ДНС) - но tcp пакеты не проходят.
Пробывал natd -a 194.85.83.56 - эффект тот же.
в чём могут быть грабли?