В моей системе два сетевых адаптера с centos 7 в качестве ОС. Один интерфейс общедоступен с ip 172.68.122.120 (em1)
а второй с ip 10.11.15.20 (p4p1)
. Теперь, когда я перезагружаю свою систему, по умолчанию общедоступный IP-адрес не будет пинговать, в то время как частный IP-адрес может пинговать в подсети. Затем я отключаю свой частный интерфейс и снова включаю его. Теперь оба IP будут пинговать. В чем проблема ? Я думаю, что у сетевых адаптеров есть приоритетный вопрос. Если я сбегу netstat -rn
команда Я получаю следующий вывод во время загрузки.
0.0.0.0 10.11.15.1 0.0.0.0 UG 0 0 0 p4p1
0.0.0.0 172.68.122.10 0.0.0.0 UG 0 0 0 em1
После сброса моего личного интерфейса. Выше вывод для команды netstat -rn
заменен на следующий
0.0.0.0 172.68.122.10 0.0.0.0 UG 0 0 0 em1
0.0.0.0 10.11.15.1 0.0.0.0 UG 0 0 0 p4p1
в чем проблема и как я могу ее решить?
Похоже, у вас есть два маршрута по умолчанию, когда машина подключается, сначала включается внутренний интерфейс, и поэтому маршрут по умолчанию идет первым (т.е. имеет приоритет) в таблице маршрутизации. Это затем направляет ваши эхо-ответы ICMP через вашу внутреннюю сеть, а не через внешнюю. Один из тестов для этого - проверить, можете ли вы пропинговать общедоступный IP-адрес с другого компьютера в той же подсети - если это сработает, то это проблема маршрутизации. Когда вы перезапускаете внутренний интерфейс, внешний интерфейс появляется в таблице маршрутизации первым, поэтому проверка связи работает правильно.
Решение состоит в том, чтобы удалить шлюз по умолчанию из внутреннего интерфейса в вашей конфигурации - машине нужен только (действительно, должен быть только) один шлюз по умолчанию.