(Zywall USG 300) Обход NAT при доступе к внутреннему серверу из локальной сети через доменное имя

Мои ситуации таковы; Я размещаю несколько веб-сайтов в рамках нашего совместного сетевого решения. В сети в основном 3 категории:

  1. известной публике, зарегистрированной через mac, предоставляется статическая аренда dhcp
  2. анонимные LAN-соединения, предоставляемые в аренду от определенного диапазона DHCP
  3. коммутаторы, unix hosts firewall

Теперь рассмотрим следующие хосты, которые представляют интерес

  1. 111.111.111.111 (Zywall USG 300 WAN)
  2. 192.168.1.1 (ZyWall USG 300 LAN) балансировки нагрузки и мониторов bw плюс ручки NAT
  3. 192.168.1.2 (Linux www) обслуживает mydomain1.tld и mydomain2.tld
  4. 192.168.123.123 (Случайный клиент локальной сети) обращается к mydomain1.tld из локальной сети
  5. 23.234.12.253 (Случайный внешний клиент) обращается к mydomain1.tld через WAN

Записи DNS A настраиваются таким образом, чтобы mydomain1.tld и mydomain2.tld указывали на 111.111.111.111 - и Linux www обслуживает части http с конфигурациями VirtualHost, устанавливая корни документов pr ServerName, хотя это не так интересно.

Правило NAT переводит 111.111.111.111:80 в 192.168.1.2:80 (1:1 NAT) следующим образом:

  • Тип: Виртуальный сервер
  • Интерфейс: WAN
  • Оригинальный IP: любой
  • Сопоставленный IP: 192.168.1.2
  • Оригинальный порт: 80
  • Сопоставленный порт: 80

Когда NAT-Loopback активирован, он вызывает недоступность устройства из внешних интерфейсов (хотя и не пытался, если работает LAN -> WAN IP:80)

Наша проблема следует;

При доступе к http://mydomain1.tld/ извне (пример хоста 23.234.12.253) объединенная сеть - все в порядке, zywall получает запросы через порт 80 и сопоставляет его с хостом linux ' httpd. Однако - однажды пытаясь пройти через NAT со стороны локальной сети (внутренний, пример хоста 192.168.123.123), тогда он фильтруется в брандмауэре порта 80 Zywall.

Я знаю это только потому, что порт 443 открыт для интерфейса администрирования и https://mydomain1.tld/ запрашивает логин zywall.

Таким образом, мой вывод заключается в том, что локальная сеть, которая имеет доступ к 111.111.111.111, фактически маршрутизируется на 192.168.1.1, минуя таблицу NAT.

Мне нужно знать, как настроить NAT / Policy Route, чтобы LAN > WAN > LAN работала с правильными сетевыми трансляциями вместо того, чтобы выполнять "быстрый поиск по серверу имен" или чем-то еще.

2 ответа

Решение

Решением стало поддержание внутренней таблицы поиска DNS (во многом аналогично файлу /etc/hosts), где я поместил mydomainX.tld и сопоставил его с соответствующими IP-адресами. Хотелось бы обойти это, хотя есть награда для ответа, который позволяет для LAN -> WAN IP: PORT пройти через таблицу NAT

Так что я боролся с этим сам и разобрался с ответом. Чтобы заставить это работать, используйте стандартное правило NAT (то же самое правило, которое работает, чтобы позволить миру получить доступ к веб-сайту), просто измените правило так, чтобы Исходный IP был IP WAN. Затем вы можете включить NAT loopback, и все работает нормально.

Дайте мне знать, если у вас есть еще вопросы.

Другие вопросы по тегам