Назад | Перейти на главную страницу

Проблема с подключением порта 80 (от XenServer к виртуальной машине WebServer)

У меня есть арендованный сервер с XenServer 6.2. У меня только 1 общедоступный IP-адрес, поэтому я сделал несколько NAT для перенаправления портов 22 и 80 на мою виртуальную машину WebServer. У меня проблема с перенаправлением порта 80.

Когда я использую это перенаправление, я могу войти в Apache веб-сервера, но этот сервер теряет доступ к сети.

Я получаю такую ​​ошибку:

W: Failed to fetch http://http.debian.net/debian/dists/wheezy/main/source/Sources  404  Not Found [IP: 46.4.205.44 80]

но я могу пинговать где угодно.

XenserverIP: 80 перенаправлено на 10.0.0.2:80 (WebServer).

Это часть перенаправления порта 80 моего IPTables XenServer:

-A PREROUTING -i xenbr1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.0
.2:80

-A INPUT -i xenbr1 -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
COMMIT

Что не так в моей конфигурации? Есть проблема с XenServer?

Спасибо за вашу помощь !

Изменить: вот мой полный контент iptables:

*nat
:PREROUTING ACCEPT [51:4060]
:POSTROUTING ACCEPT [9:588]
:OUTPUT ACCEPT [9:588]
-A PREROUTING -p tcp -m tcp --dport 1234 -j DNAT --to-destination 10.0.0.2:22
-A PREROUTING -i xenbr1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.0
.2:80
-A POSTROUTING -s 10.0.0.0/255.255.255.0 -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [5434:4284996]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5014:6004729]
-A INPUT -i xenbr1 -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
COMMIT

Обновить :

У меня есть второй сервер с IP-адресом 10.0.0.3, и у него та же проблема, что и у 10.0.0.2.

Думаю, я нашел небольшое объяснение:

У меня есть apache, который прослушивает 10.0.0.2:80 Поскольку у меня есть правило переадресации NAT на моем Xenserver, весь входящий трафик из внешней сети (запросы веб-сайтов, загрузки ...) направляется на 10.0.0.2:80, потому что он использует порт 80.

Вот почему у меня такая же проблема на моей второй виртуальной машине. Если я пытаюсь выполнить обновление apt-get, я делаю запрос на веб-сайты, которые возвращаются на порт 80, поэтому перенаправляются на apache.

Кто-нибудь может помочь мне решить эту проблему? (Это проблематично, я не могу получить доступ к веб-сайтам во внутренней сети, если мой сервер Apache работает ^^)

Ваше правило DNAT должно включать "-d your-public-external-ip", иначе правило NAT будет сопоставлять все пакеты на порт 80, включая исходящие пакеты. Вероятно, вы перенаправляете исходящие HTTP-запросы на свой собственный веб-сервер. Это должно подтвердить просмотр журналов доступа.