Значит ситуация такая
Есть машина с 2-мя интерфейсами, служащая роутером в инет.
Стоит FreeBSD 5.0 Release
Необходимо настроить так, чтобы natd переадресовывал глобальный ай-пи только на одну указанную мной машину локальной сети, т. е. чтобы с нее можно было лезть в инет напрямую и пинговать сервера в инете, а с других нельзя.
Ядро как и полагается перекомпилил со следующими опциями:
options IPFIREWALL
options IPDIVERT
options IPFIREWALL_VERBOSE
options IPFIREWALL_DEFAULT_TO_ACCEPT
options BRIDGE
options IPFIREWALL_FORWARD
options DUMMYNET
Содержимое файла rc.conf привожу ниже:
defaultrouter="my router ip"
gateway_enable="YES"
hostname="myhostname"
ifconfig_rl0="inet public_ip netmask 255.255.255.252"
ifconfig_rl1="inet 192.168.0.1 netmask 255.255.255.0"
kern_securelevel_enable="NO"
linux_enable="YES"
usbd_enable="NO"
inetd_enable="YES"
sendmail_enable="YES"
sendmail_flags="-bd -q30m"
sshd_enable="YES"
firewall_enable="YES"
firewall_script="/etc/rc.firewall"
firewall_type="/etc/ipfw.rules"
firewall_quiet="NO"
firewall_logging="YES"
natd_enable="YES"
natd_interface="rl0"
natd_flags="-redirect_address 192.168.0.25 public_ip"
При таком раскладе никакой переадресации не происходит на мою машину в локальной сети с ай-пиадресом 192.168.0.25
Если добавить в /etc/ipfw.rules правило
add 100 divert natd all from any to any via rl0
то в инет можно выходить напрямую с любой машины, а мне этого не надо.
А при любых других комбинациях правил машина с ай-пи 192.168.0.25 не хочет выходить в инет.
Пробовал писать add divert natd all from 192.168.0.25 to any via rl0 и add divert natd all from any to 192.168.0.25 via rl0 - не помогает.
Может я че не так сделал, буду благодарен за любой совет...