Я только что обновил виртуальный сервер 14.04 до 16.04. После перезагрузки виртуальной машины я вижу следующую ошибку:
[FAILED] Failed to start Raise network interfaces.
See 'systemctl status networking.service' for details
После входа в систему я могу выполнить указанную команду и получить следующий вывод (изображение, поскольку я не могу подключиться):
Конфигурация в /etc/network/interfaces
выглядит хорошо - показывает настроенный вручную eth0 (здесь не используется dhcp)
Что меня удивляет, так это ifconfig -a
списки
- ens160
- вот
Где бы я ожидал
- eth0
- вот
Попытка поднять устройство eth0 через
sudo ifup -v eth0
выходы:
...
Cannot find device "eth0"
Failed to bring up eth0.
Само устройство виртуальной проводной сети по-прежнему настроено в самой виртуальной машине, как и прежде.
ip link
также показывает lo
и ens160
- где ens160
настроен mac-адрес в vmware для одного настроенного виртуального сетевого устройства.
ОБНОВИТЬ
Я могу решить эту проблему, если я изменю все ссылки с eth0 /etc/network/interfaces
на ens160.
НО - это неправильно для меня по нескольким причинам:
- Я хотел бы понять эту проблему
- Я хотел бы придерживаться eth0 вместо ens160
Поэтому, пожалуйста, кто-то может объяснить это изменение, которое не произошло с несколькими другими машинами 14.04 на том же сервере, который я также обновил до 16.04.
источник
Ответы:
причина
Проблема была вызвана Predictable-Network-Interface-Names из systemd / udev.
Возможное решение
Согласно этому источнику вы можете:
Прикладные решения
Я сделал создать новый файл
10-rename-network.rules
в/etc/udev/rules.d/
и добавил следующее содержание к нему:где
eth0
= желаемое имя сетевого интерфейса, используется в/etc/network/interfaces
ff:ff:ff:ff:ff:ff
= аппаратный mac-адрес сетевого устройстваЯ бы порекомендовал перезагрузить компьютер после его завершения, чтобы убедиться, что изменения не изменились
источник
update-initramfs -u
чтобы мои изменения вступили в силуРешено путем изменения файла /etc/network/interfaces.d/setup из:
чтобы:
источник
В моем случае эта проблема была связана с попыткой поднять мой мост
br0
. Я забыл сделать это:раньше и поэтому мой адаптер не мог начать.
источник
Возможно, вы захотите удалить / изменить кэш udev для постоянных / согласованных имен сетевых интерфейсов, расположенных здесь:
/etc/udev/rules.d/70-persistent-net.rules
источник