URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 1061
[ Назад ]

Исходное сообщение
"Помогите плиз с ipfw+natd под FreeBSD"

Отправлено Android , 17-Дек-03 15:41 
Значит ситуация такая
Есть машина с 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+natd под FreeBSD"
Отправлено ShadoW , 17-Дек-03 19:16 
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+natd под FreeBSD"
Отправлено Android , 17-Дек-03 19:31 
>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+natd под FreeBSD"
Отправлено ShadoW , 17-Дек-03 19:44 
ipfw add pass ip from any to any via rl0

"Помогите плиз с ipfw+natd под FreeBSD"
Отправлено Android , 17-Дек-03 20:18 
>ipfw add pass ip from any to any via rl0

у меня стояло
add allow ip from any to any

по моему это одно и тоже, пробовал и так, как ты сказал, все равно та же беда, в сеть лезет только один хост, а на шлюзе и, как следствие, на остальных машинах в сети намертво пропадает


"Помогите плиз с ipfw+natd под FreeBSD"
Отправлено ShadoW , 17-Дек-03 21:51 
поробуй добавить все что добавлял для 192,168,0,25 и для шлюза
ipfw add divert natd ip from 192.168.0.x to any out via rl0

"Помогите плиз с ipfw+natd под FreeBSD"
Отправлено Android , 18-Дек-03 12:45 
>поробуй добавить все что добавлял для 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 - внешний ай-пи шлюза,
и все заработало как полагается!!!

Большое спасибо!!!