Centos 7 не разрешает входящее TCP-соединение через порт 80 при подключении к двум сетевым интерфейсам
Я подключил два сетевых интерфейса к серверу под управлением centOS 7 и настроил общедоступную зону для разрешения входящих TCP-подключений через порты 80 и 443, затем я установил один из сетевых интерфейсов в публичную зону. Кроме того, я настроил общедоступный IP-адрес на брандмауэре, чтобы пересылать все входящие соединения через порт 80 или 443 на IP-адрес сервера.
Следовательно, я настроил другой сетевой интерфейс для внутренней зоны
Но проблема в том, что когда оба сетевых интерфейса активны, я не могу подключиться к веб-странице, размещенной на сервере. Но когда интерфейс, настроенный во внутренней зоне, отключен, веб-страница становится доступной.
1 ответ
Как намекнул @ Khaled, это похоже на проблему маршрутизации.
Одной из возможных причин может быть использование DHCP во "внутренней" зоне, если DHCP предоставляет маршрут по умолчанию.
Первый шаг, чтобы проверить работает ip r
и ищет строку, которая начинается с default
:
$ ip r
default via 10.0.253.1 dev wlp3s0 proto static metric 600
Если это указывает на внутреннюю зону, то это, скорее всего, причина вашей проблемы. Если у вас есть два маршрута по умолчанию, один с наименьшей метрикой "выигрывает", и если это ваша внутренняя зона, то это наиболее вероятная причина вашей проблемы.
Может быть проще статически настроить внутреннюю сетевую карту на этом сервере, либо вы можете игнорировать любой маршрут по умолчанию, проталкиваемый DHCP, добавив DEFROUTE=no
в скрипте вашего внутреннего интерфейса (например, /etc/sysconfig/network-scripts/ifcfg-INTERFACE