The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Доступиться к локальному WEB-серверу из локалки, роутера"
Отправлено vadim007, 14-Мрт-10 20:11 
Имеется: локалка 192.168.6.0/24 с виндовыми машинами, роутер на linux с двумя интерфейсами, eth0 смотрит наружу, eth1 - внутрь сети, и имеет адрес 192.168.6.67. На роутере настроен кэширующий Squid, слушающий порт 3128. Также в локалке установлен WEB-сервер с адресом 192.168.6.71 на порту 80. Проброс порта осуществляется на роутере с помощью iptables. Этот WEB-сервер прекрасно виден из интернета.
Требуется, чтобы он был виден и из локалки, а также с самого роутера.
Документацию https://www.opennet.ru/docs/RUS/iptables/ изучил вдоль и поперек, но решения не нашел. Вот выдержка из документа:
===========================================================
А теперь посмотрим, что произойдет, если запрос посылается с узла, расположенного в той же локальной сети. Для простоты изложения примем адрес клиента в локальной сети равным $LAN_BOX.
1. Пакет покидает $LAN_BOX.
2. Поступает на брандмауэр.
3. Производится подстановка адреса назначения, однако адрес отправителя не подменяется, т.е. исходный адрес остается в пакете без изменения.
4. Пакет покидает брандмауэр и отправляется на HTTP сервер.
5. HTTP сервер, готовясь к отправке ответа, обнаруживает, что клиент находится в локальной сети (поскольку пакет запроса содержал оригинальный IP адрес, который теперь превратился в адрес назначения) и поэтому отправляет пакет непосредственно на $LAN_BOX.
6. Пакет поступает на $LAN_BOX. Клиент "путается", поскольку ответ пришел не с того узла, на который отправлялся запрос. Поэтому клиент "сбрасывает" пакет ответа и продолжает ждать "настоящий" ответ.
Проблема решается довольно просто с помощью SNAT. Ниже приводится правило, которое выполняет эту функцию. Это правило вынуждает HTTP сервер передавать ответы на наш брандмауэр, которые затем будут переданы клиенту.
iptables -t nat -A POSTROUTING -p tcp --dst $HTTP_IP --dport 80 -j SNAT \
--to-source $LAN_IP
===============================================================
В моем случае это правило ничего не дает, т.к. у меня имеется еще одно звено прохода пакетов - это Squid, на роутере, на порту 3128. По каким цепочкам-таблицам пакеты из локалки прибудут на Squid, и по каким доставятся обратно - не могу разгрести. Прошу помощи.
 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру