к веб-серверу позади NAT не может получить доступ та же сеть с помощью IP маршрутизатора NAT или домена

У меня есть 1 хост-сервер как сервер NAT, он имеет имя общественного достояния example.com связанный с его общедоступным IP-адресом PUB_IP_ADD.

У меня есть другой веб-сервер позади NAT с IP-адресом 192.168.1.100 и правила перенаправления портов сделаны на хост-сервере:

- PREROUTING-i eth0-p tcp-m tcp - dport 80-j DNAT - к месту назначения 192.168.1.100:80

У меня есть некоторые другие серверы позади NAT с фиксированным диапазоном IP-адреса 192.168.1.101-110 и masquerade правила сделаны для целого 192.168.1.0/24 диапазон:

- ПОДМЕНА POSTROUTING-s 192.168.1.0/24-o vmbr0-j

вышеупомянутые правила могут позволить моим серверам позади Интернета доступа NAT. (загрузите и проверьте с помощью ping-запросов общедоступного дюйм/с).

К моей веб-странице можно получить доступ из Интернета путем посещения example.com но не может быть получен доступ из сети NAT в тех 192.168.1.0/24 при помощи того же IP-адреса сервера доменных имен или хост-сервера.

Интересно, почему к веб-серверу позади брандмауэра NAT не могут получить доступ его коллеги при помощи доменного имени сервера NAT или IP?

Сделайте я должен добавить SNAT правила конкретно к веб-серверу и удаляют masquerade строка?

0
задан 8 September 2015 в 05:52
1 ответ

Вы можете использовать SNAT, если вы используете статические IP-адреса, поскольку MASQUERADE страдает штрафом, поскольку ему необходимо получить IP-адрес из сетевого интерфейса.

Кроме того, если вы проводите тестирование с компьютера с брандмауэром, он попытается получить доступ к своему собственному веб-серверу, а не к выделенному веб-серверу. Нам нужно поместить правило в цепочку OUTPUT, чтобы справиться с этим случаем:

iptables -t nat -A OUTPUT -d $INET_IP --dport 80 -j DNAT --to-destination $HTTP_IP
0
ответ дан 5 December 2019 в 12:04

Теги

Похожие вопросы