Нет шлюза по умолчанию на интерфейсе, который настроен с 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-, измените это «нет» на «да» и все такое. будет работать нормально. По сути, это касается нескольких сетевых интерфейсов, для которых вы можете установить шлюз по умолчанию и сохранить информацию, но вы можете изменить интерфейс, который вы выбрали в качестве общего шлюза по умолчанию.