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

Исходное сообщение
"Проблема с Iptables"

Отправлено opticus , 20-Июл-07 11:20 
Собственно проблема, перенесли веб сервер внутрь локальной сети.
Раньше веб сервер висел на машине которая смотрит в инет. В iptables прописал правила, вобщем когда я захожу на сервер по www или по ip с наружи с другого компа не из моей сети, то все работает. Но из нутри я не могу зайти на сайт, только если набирать локальный ip этого сервера. Делал так как написанно в Iptables Tutorial 1.1.19, там есть такой пример, но не помогает...


Содержание

Сообщения в этом обсуждении
"Проблема с Iptables"
Отправлено reader , 20-Июл-07 11:46 
>Собственно проблема, перенесли веб сервер внутрь локальной сети.
>Раньше веб сервер висел на машине которая смотрит в инет. В iptables
>прописал правила, вобщем когда я захожу на сервер по www или
>по ip с наружи с другого компа не из моей сети,
>то все работает. Но из нутри я не могу зайти на
>сайт, только если набирать локальный ip этого сервера. Делал так как
>написанно в Iptables Tutorial 1.1.19, там есть такой пример, но не
>помогает...

правила DNAT и SNAT пакажите.


"Проблема с Iptables"
Отправлено opticus , 20-Июл-07 12:09 
>>Собственно проблема, перенесли веб сервер внутрь локальной сети.
>>Раньше веб сервер висел на машине которая смотрит в инет. В iptables
>>прописал правила, вобщем когда я захожу на сервер по www или
>>по ip с наружи с другого компа не из моей сети,
>>то все работает. Но из нутри я не могу зайти на
>>сайт, только если набирать локальный ip этого сервера. Делал так как
>>написанно в Iptables Tutorial 1.1.19, там есть такой пример, но не
>>помогает...
>
>правила DNAT и SNAT пакажите.

DNAT
-A PREROUTING -p tcp -m tcp -d INET IP --dport 80 -j DNAT --to-destination 192.168.0.51:80
SNAT
-A POSTROUTING -p tcp -m tcp --dst 192.168.0.51 --dport 80 -j SNAT --to-source 192.168.0.97
192.168.0.97 это второй интерфейс


"Проблема с Iptables"
Отправлено opticus , 20-Июл-07 13:14 
>[оверквотинг удален]
>>
>>правила DNAT и SNAT пакажите.
>
>DNAT
>-A PREROUTING -p tcp -m tcp -d INET IP --dport 80 -j
>DNAT --to-destination 192.168.0.51:80
>SNAT
>-A POSTROUTING -p tcp -m tcp --dst 192.168.0.51 --dport 80 -j SNAT
>--to-source 192.168.0.97
>192.168.0.97 это второй интерфейс

Отключаю в браузере работу через прокси , сайт нормально работает, чета я вообще понять не могу...где смотреть



"Проблема с Iptables"
Отправлено reader , 20-Июл-07 15:51 
>[оверквотинг удален]
>>DNAT
>>-A PREROUTING -p tcp -m tcp -d INET IP --dport 80 -j
>>DNAT --to-destination 192.168.0.51:80
>>SNAT
>>-A POSTROUTING -p tcp -m tcp --dst 192.168.0.51 --dport 80 -j SNAT
>>--to-source 192.168.0.97
>>192.168.0.97 это второй интерфейс
>
>Отключаю в браузере работу через прокси , сайт нормально работает, чета я
>вообще понять не могу...где смотреть

А DNS при этом какой адрес возвращает 192.168.0.51 или INET IP?
Прокси на какой машине?


"Проблема с Iptables"
Отправлено opticus , 21-Июл-07 13:41 
>[оверквотинг удален]
>>>SNAT
>>>-A POSTROUTING -p tcp -m tcp --dst 192.168.0.51 --dport 80 -j SNAT
>>>--to-source 192.168.0.97
>>>192.168.0.97 это второй интерфейс
>>
>>Отключаю в браузере работу через прокси , сайт нормально работает, чета я
>>вообще понять не могу...где смотреть
>
>А DNS при этом какой адрес возвращает 192.168.0.51 или INET IP?
>Прокси на какой машине?

Прокси стоит на машине которая смотрит в инет, ДНС возвращает INET IP, вроде я решил эту проблему прописав в hosts на машине которая смотрит в инет. Не знаю правильно ли это.


"Проблема с Iptables"
Отправлено reader , 21-Июл-07 20:22 
>Прокси стоит на машине которая смотрит в инет, ДНС возвращает INET IP,
>вроде я решил эту проблему прописав в hosts на машине которая
>смотрит в инет. Не знаю правильно ли это.

Не понял, что прописали в hosts?

Попробуйте этот абзац из Iptables Tutorial.
Если вы думаете, что на этом можно остановиться, то вы ошибаетесь! Представим себе ситуацию, когда в качестве клиента выступает сам брандмауэр. Тогда, к сожалению, пакеты будут передаваться на локальный порт с номером 80 самого брандмауэра, а не на $HTTP_IP. Чтобы разрешить и эту проблему, добавим правило:

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


"Проблема с Iptables"
Отправлено opticus , 23-Июл-07 05:55 
>[оверквотинг удален]
>Попробуйте этот абзац из Iptables Tutorial.
>Если вы думаете, что на этом можно остановиться, то вы ошибаетесь! Представим
>себе ситуацию, когда в качестве клиента выступает сам брандмауэр. Тогда, к
>сожалению, пакеты будут передаваться на локальный порт с номером 80 самого
>брандмауэра, а не на $HTTP_IP. Чтобы разрешить и эту проблему, добавим
>правило:
>
>iptables -t nat -A OUTPUT --dst $INET_IP -p tcp --dport 80 -j
>DNAT \
>--to-destination $HTTP_IP

В hosts я прописал соответствие типа 192.168.0.51 www.site.ru site.ru
теперь с локальной сети я могу зайти на сайт, хотя мне кажется что это не правильно


"Проблема с Iptables"
Отправлено reader , 23-Июл-07 10:42 
>В hosts я прописал соответствие типа 192.168.0.51 www.site.ru site.ru
>теперь с локальной сети я могу зайти на сайт, хотя мне кажется
>что это не правильно

Если DNS сервером для локалки служит 192.168.0.97 , то этой записью в его hosts вы заставляете локальных клиентов, при обращении по адресу www.site.ru, идти непосредственно на
IP 192.168.0.51, мимо шлюза. А вот правельно это или нет, зависит от того что вы хотите. Другой вопрос повлияло ли это на клиентов из инета.


"Проблема с Iptables"
Отправлено opticus , 23-Июл-07 10:56 
>>В hosts я прописал соответствие типа 192.168.0.51 www.site.ru site.ru
>>теперь с локальной сети я могу зайти на сайт, хотя мне кажется
>>что это не правильно
>
>Если DNS сервером для локалки служит 192.168.0.97 , то этой записью в
>его hosts вы заставляете локальных клиентов, при обращении по адресу www.site.ru,
>идти непосредственно на
>IP 192.168.0.51, мимо шлюза. А вот правельно это или нет, зависит от
>того что вы хотите. Другой вопрос повлияло ли это на клиентов
>из инета.

В том то и дело что DNS стоит на другом сервере, а 192.168.0.97 это внутрений адрес шлюза(фаервола). При добавлении данной записи   в hosts, внешнии клиенты заходят на сайт корректно, без проблем.