Нет шлюза по умолчанию на интерфейсе, который настроен с DHCP на CentOS7

Я использую CentOS7 с несколькими интерфейсами (ens161, ens192, ens224, ens256). Ящик имеет все статические IP-адреса, за исключением одного интерфейса, настроенного на DHCP (ens192). ens192 настроен как onboot= нет. У меня есть статический маршрут в /etc/sysconfig/network. Это отлично работает. Проблема в том, хочу ли я вызвать ens192 и использовать шлюз по умолчанию, который предоставляется DHCP. Я удаляю статический маршрут, который установлен в /etc/sysocnfig/network, выполнив

ip route del 0/0

Затем я делаю ifup ens192, интерфейс получит IP, однако, когда я это сделаю:

route

Я не увижу gw по умолчанию, которую выдает сервер. Единственный способ заставить это работать - запустить процесс NetworkManager. Причина, по которой он отключен по умолчанию, заключается в том, что по какой-то причине, когда NetworkManager работает, если я

 service network restart

это не чтим

onboot=no

что я настроил в ifcfg-ens192.

Единственное текущее решение, которое я вижу, чтобы заставить его работать - это написать скрипт, который будет делать:

ip route del 0/0
echo ''> /etc/sysconfig/network
service network restart
ip route del 0/0
ifup ens192

Это единственная вещь, которая работает, которая немного "хаккейная".

1 ответ

Я только что столкнулся с этой проблемой и, осмотревшись вокруг, обнаружил, что источником этой проблемы является «DEFROUTE=no» в файле /etc/sysconfig/network-scripts/ifcfg-, измените это «нет» на «да» и все такое. будет работать нормально. По сути, это касается нескольких сетевых интерфейсов, для которых вы можете установить шлюз по умолчанию и сохранить информацию, но вы можете изменить интерфейс, который вы выбрали в качестве общего шлюза по умолчанию.

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