Ubuntu 16.04.3: не удалось запустить сетевые интерфейсы

У меня Ubuntu 16.04.3 LTS с EVE-NG работает поверх него. Я столкнулся с известной проблемой с Predictable-Network-Interface-Names и изменил имена интерфейсов на старый стиль, но что-то по-прежнему не так.

Во время загрузки я вижу сообщение «не удалось запустить создание сетевых интерфейсов» , Затем это показывает systemctl:

* networking.service - Raise network interfaces Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled) Drop-In: /run/systemd/generator/networking.service.d `-50-insserv.conf-$network.conf Active: failed (Result: exit-code) since Tue 2017-11-14 07:06:04 EST; 20min ago Docs: man:interfaces(5) Process: 677 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=1/FAILURE) Process: 570 ExecStartPre=/bin/sh -c [ "$CONFIGURE_INTERFACES" != "no" ] && [ -n "$(ifquery --read-environment --list --exclude=lo)" ] && udevadm settle ( Main PID: 677 (code=exited, status=1/FAILURE) Nov 14 07:06:03 eve-ng ifup[677]: Waiting for pnet2 to get ready (MAXWAIT is 32 seconds). Nov 14 07:06:04 eve-ng ifup[677]: SIOCADDRT: File exists Nov 14 07:06:04 eve-ng ifup[677]: Failed to bring up pnet2. Nov 14 07:06:04 eve-ng ifup[677]: Waiting for pnet3 to get ready (MAXWAIT is 32 seconds). Nov 14 07:06:04 eve-ng ifup[677]: interface eth4 does not exist! Nov 14 07:06:04 eve-ng ifup[677]: Waiting for pnet4 to get ready (MAXWAIT is 32 seconds). Nov 14 07:06:04 eve-ng systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE Nov 14 07:06:04 eve-ng systemd[1]: Failed to start Raise network interfaces. Nov 14 07:06:04 eve-ng systemd[1]: networking.service: Unit entered failed state. Nov 14 07:06:04 eve-ng systemd[1]: networking.service: Failed with result 'exit-code'

Однако мои интерфейсы успешно переименованы: dmesg | grep eth подтверждает отсутствие переименования во время загрузки.

Все интерфейсы запущены и работают, я могу использовать SSH для этого хоста.

Есть четыре вещи, которые я уже сделал (и никто не работал):

four // done

Вы передаете net.ifnames = 0 в командной строке ядра // done

Вы передаете net.ifnames = 0 в командной строке ядра // done:

cat /etc/systemd/network/10-eth.link [Match] MACAddress=00:0c:29:20:c2:66 [Link] Name=eth0 [Match] MACAddress=00:0c:29:20:c2:70 [Link] Name=eth1 [Match] MACAddress=00:0c:29:20:c2:7a [Link] Name=eth2 [Match] MACAddress=00:0c:29:20:c2:84 Name=eth3

Я создал новый файл 10-rename-network.rules в файле /etc/udev/rules.d / и добавил к нему следующий контент: SUBSYSTEM == "net", ACTION == "add", ATTR {address} == "ff: ff: ff: ff: ff: ff", NAME = "eth0" // done:

cat /etc/udev/rules.d/10-rename-network.rules SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:0c:29:20:c2:66", NAME="eth0" SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:0c:29:20:c2:70", NAME="eth1" SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:0c:29:20:c2:7a", NAME="eth2" SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:0c:29:20:c2:84", NAME="eth3"

Есть ли что-нибудь, что мне не хватает?

0
задан 14 November 2017 в 17:03

2 ответа

Причина

Проблема была вызвана Predictable-Network-Interface-Names из systemd / udev. Возможное решение

В соответствии с этим источником вы можете:

You disable the assignment of fixed names, so that the unpredictable kernel names are used again. For this, simply mask udev's rule file for the default policy: ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules You create your own manual naming scheme, for example by naming your interfaces "internet0", "dmz0" or "lan0". For that create your own .link files in /etc/systemd/network/, that choose an explicit name or a better naming scheme for one, some, or all of your interfaces. See systemd.link(5) for more information. You pass the net.ifnames=0 on the kernel command line

Прикладные решения

Я создал новый файл 10-rename-network.rules в /etc/udev/rules.d/ и добавил к нему следующий контент:

SUBSYSTEM == "net", ACTION == "add", ATTR {address} == "ff: ff: ff : ff: ff: ff ", NAME =" eth0 "

где

eth0 = desired network interface name, used in /etc/network/interfaces ff:ff:ff:ff:ff:ff = hardware mac address of the network device

Я рекомендую перезагружать после завершения этого, чтобы убедиться, что изменение липкое.

0
ответ дан 18 July 2018 в 03:18

Причина

Проблема была вызвана Predictable-Network-Interface-Names из systemd / udev. Возможное решение

В соответствии с этим источником вы можете:

You disable the assignment of fixed names, so that the unpredictable kernel names are used again. For this, simply mask udev's rule file for the default policy: ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules You create your own manual naming scheme, for example by naming your interfaces "internet0", "dmz0" or "lan0". For that create your own .link files in /etc/systemd/network/, that choose an explicit name or a better naming scheme for one, some, or all of your interfaces. See systemd.link(5) for more information. You pass the net.ifnames=0 on the kernel command line

Прикладные решения

Я создал новый файл 10-rename-network.rules в /etc/udev/rules.d/ и добавил к нему следующий контент:

SUBSYSTEM == "net", ACTION == "add", ATTR {address} == "ff: ff: ff : ff: ff: ff ", NAME =" eth0 "

где

eth0 = desired network interface name, used in /etc/network/interfaces ff:ff:ff:ff:ff:ff = hardware mac address of the network device

Я рекомендую перезагружать после завершения этого, чтобы убедиться, что изменение липкое.

0
ответ дан 24 July 2018 в 17:48
  • 1
    попробовал это тоже (см. мое редактирование в оригинальном сообщении) - не помогает. – grindelwaldus 14 November 2017 в 17:04

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

Похожие вопросы: