Значит ситуация такая
Есть машина с 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 - не помогает.
Может я че не так сделал, буду благодарен за любой совет...
ipfw add divert natd ip from 192.168.0.25 to any out via rl0 (rl0 твой внешний интерфейс)
ipfw add divert natd ip from any to x.x.x.x in via rl0 (x.x.x.x- твой внешний IP)
>ipfw add divert natd ip from 192.168.0.25 to any out via rl0
>(rl0 твой внешний интерфейс)
>ipfw add divert natd ip from any to x.x.x.x in via rl0
>(x.x.x.x- твой внешний IP)Спасибо, сделал все также. Но появилась другая проблема еще хуже первой. Теперь сеть видит только одна машина с IP 192.168.0.25, а на шлюзе сеть сразу же исчезает, машина с FreeBSD перестает пинговать какой-бы то ни было ай-пи-адрес в Интернете, в т. ч. и DNS провайдера... Так что вернул пока все в исходное состояние и копаю в чем дело...
ipfw add pass ip from any to any via rl0
>ipfw add pass ip from any to any via rl0у меня стояло
add allow ip from any to anyпо моему это одно и тоже, пробовал и так, как ты сказал, все равно та же беда, в сеть лезет только один хост, а на шлюзе и, как следствие, на остальных машинах в сети намертво пропадает
поробуй добавить все что добавлял для 192,168,0,25 и для шлюза
ipfw add divert natd ip from 192.168.0.x to any out via rl0
>поробуй добавить все что добавлял для 192,168,0,25 и для шлюза
>ipfw add divert natd ip from 192.168.0.x to any out via rl0
>Добавил add divert natd ip from xxx.xxx.xxx.xxx to any out via rl0
где xxx.xxx.xxx.xxx - внешний ай-пи шлюза,
и все заработало как полагается!!!Большое спасибо!!!