LINUX.ORG.RU
ФорумAdmin

доступ к веб серверу в локальной сети извне


0

0


Во внутренней локальной сети имеется веб-сервер, доступ к которому должны иметь как пользователи извне (Интернет), так и из локальной сети.
На opennet.ru, в руководстве по айпитейблес http://www.opennet.ru/docs/RUS/iptables/ , дивно описано, как разрешить эту ситуацию, я понял, что нужно сделать, понял как это все ДОЛЖНО РАБОТАТЬ.

Следуя этим инструкциям я сделал так:


iptables -t nat -A PREROUTING --dst $INET_IP -p tcp --dport 80 -j DNAT --to-destination $WEB_SERVER

iptables -t nat -A POSTROUTING --dst $WEB_SERVER -p tcp --dport 80 -j SNAT --to-source $LANSERV_IP

iptables -t nat -A OUTPUT --dst $INET_IP -p tcp --dport 80 -j DNAT --to-destination $WEB_SERVER


Но это НЕ РАБОТАЕТ ! Из-за чего это может быть.Что можно еще попробовать ?

Re: доступ к веб серверу в локальной сети извне

> я понял, что нужно сделать, понял как это все ДОЛЖНО РАБОТАТЬ
Наверное еще нужно слегка потренироваться...
На internet-шлюзе должно быть такое:
iptables -t nat -A PREROUTING -d $INET_IP -p tcp --dport 80 -j DNAT --to-destination $WEB_SERVER
iptables -t nat -A POSTROUTING -s $WEB_SERVER -p tcp --sport 80 -j SNAT --to-source $INET_IP
iptables -A FORWARD -d $WEB_SERVER -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s $WEB_SERVER -p tcp --sport 80 -j ACCEPT
Если доступ к этому web-серверу из локальной сети будет осуществляться через $INET_IP (т.е. пользователи локальной сети несмотря на то, что имеют непосредственный доступ к web-серверу, захотят подключиться к нему как http://$INET_IP/), добавить такое:
iptables -t nat -A POSTROUTING -s x.x.x.x/YY -d $WEB_SERVER -p tcp --dport 80 -j SNAT --to-source $INET_IP
Но такого лучше не делать, т.к. все подобные запросы web-сервер будет видеть как запросы со шлюза, а не от конкретного клиента.

spirit ★★★★★ ()

Re: доступ к веб серверу в локальной сети извне

P.S. x.x.x.x/YY - адрес локальной сети (например 192.168.0.0/16).

spirit ★★★★★ ()

Re: доступ к веб серверу в локальной сети извне

2spirit

самая фигня в таком решении - то что если http-сервер сломают, то потом ищи ветра в поле. куда надежнее использовать прокси (по крайней мере она будет передавать X-Forwarded-For, который уже можно (в апаче точно можно) запихивать в REMOTE_ADDR)

borisych ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.