Шлюз под FreeBSD перебрасывает входящие соединения на 80 порт из инета на веб-сервак в локалке. Допустим у внешнего интерфейса ip-адрес 1.2.3.4. Когда в браузере захожу на http://1.2.3.4 из интернета - все замечательно работает. Если я захожу на http://1.2.3.4 из локальной сети, то получаю облом. Вопрос: куда копать?Если по аналогии с линуксом, то в нем в таком случае надо ручками менять адрес источника на адрес шлюза, иначе веб-сервер ответить напрямую локальному компьютеру, а тот совсем не ждет ответа из локалки:
iptables -t nat -A POSTROUTING -p tcp --dst $HTTP_IP --dport 80 -j SNAT \
--to-source $LAN_IP
(руководствуясь, например, http://www.opennet.me/docs/RUS/iptables/#DNATTARGET)Уместна ли эта аналогия для FreeBSD? Если да, то как решить проблему, используя natd и ipfw? Если нет, куда копать?
Возможно лучше будет из локальной сети заходить по имени типа http://www.mydomain.ru тогда надо настроить DNS или в файле hosts прописать. В Freebsd /etc/hosts , а в Windows c:/windows/system32/drivers/etc/hosts
Так а какая разница по ip или по имени? Все равно ж пакеты шлются по ip...
>Так а какая разница по ip или по имени? Все равно ж
>пакеты шлются по ip...Дык... В намеде настрой views для инета и локалки, локалке отдавай по имени внут. адрес сервака, инету отдавай внешний
>iptables -t nat -A POSTROUTING -p tcp --dst $HTTP_IP --dport 80 -j
>SNAT \
>--to-source $LAN_IP
>(руководствуясь, например, http://www.opennet.me/docs/RUS/iptables/#DNATTARGET)
>
>Уместна ли эта аналогия для FreeBSD? Если да, то как решить проблему,
>используя natd и ipfw? Если нет, куда копать?Уместна. Не знаю как natd и ipfw но делал такое с помошью pf.
Правда, советую, при всей уместности данного способа, все же прислушаться к рекомендациям данным выше и заходить по имени использую view для отдачи необходмого правильного адреса.Так как надо учитывать, что при способе предложеном вами возрастет нагрузка на шлюз.
Про DNS дошло :)
Всем большое спасибо!!!