Я провел свое исследование, прежде чем спросить здесь; пробовал так много разных вещей, но я уже потерял об этом.
Я использую 20.04 (модифицированная версия, виртуальная машина GNS3 на ESXi) с 10 сетевыми адаптерами. Время от времени, если я вношу изменения в настройки или топологию, имена сетевых карт меняются, поэтому мне нужно, чтобы они были постоянными.
Основное приложение, которое я запускаю, ожидает старое соглашение об именах, в моем случае от Eth0 до Eth9. Ничего страшного.
Вот содержимое файла, который приложение использует в /etc/netplan:
сеть:
версия: 2
визуализатор: сетевой
Ethernet:
эт0:
соответствовать:
макадрес: 00:50:56:00:0a:01
DHCP4: нет
адреса:
- 192.168.100.3/24
шлюз4: 192.168.100.1
серверы имен:
адреса: [1.1.1.1, 8.8.8.8]
эт1:
соответствовать:
макадрес: 00:50:56:00:0a:04
DHCP4: да
эт2:
соответствовать:
макадрес: 00:50:56:00:0b:01
DHCP4: да
эт3:
соответствовать:
макадрес: 00:50:56:00:0b:02
DHCP4: да
эт4:
соответствовать:
макадрес: 00:50:56:00:0b:03
DHCP4: да
эт5:
соответствовать:
макадрес: 00:50:56:00:0b:04
DHCP4: да
эт6:
соответствовать:
макадрес: 00:50:56:00:0c:01
DHCP4: да
эт7:
соответствовать:
макадрес: 00:50:56:00:0c:02
DHCP4: да
эт8:
соответствовать:
макадрес: 00:50:56:00:0c:03
DHCP4: да
эт9:
соответствовать:
макадрес: 00:50:56:00:0c:04
DHCP4: да
Когда я запускаю netplan, применяется там кажется быть без проблем; но фактический вывод sudo netplan --debug generate позволяет мне думать иначе:
** (генерация: 1473): ОТЛАДКА: 14:22:26.352: Обработка входного файла /etc/netplan/01-netcfg.yaml..
** (генерация: 1473): ОТЛАДКА: 14:22:26.353: Обработка входного файла /etc/netplan/90_gns3vm_static_netcfg.yaml..
** (генерация: 1473): DEBUG: 14:22:26.353: запуск нового прохода обработки
** (generate:1473): DEBUG: 14:22:26.353: У нас есть несколько netdefs, пропустите их через последний раунд проверки
** (сгенерировать: 1473): DEBUG: 14:22:26.354: eth5: установка серверной части по умолчанию на 1
** (генерация: 1473): DEBUG: 14:22:26.354: Конфигурация действительна
** (сгенерировать: 1473): DEBUG: 14:22:26.354: eth4: установка серверной части по умолчанию на 1
** (генерация: 1473): DEBUG: 14:22:26.354: Конфигурация действительна
** (сгенерировать: 1473): DEBUG: 14:22:26.354: eth3: установка серверной части по умолчанию на 1
** (генерация: 1473): DEBUG: 14:22:26.354: Конфигурация действительна
** (сгенерировать: 1473): DEBUG: 14:22:26.354: eth9: установка серверной части по умолчанию на 1
** (генерация: 1473): DEBUG: 14:22:26.354: Конфигурация действительна
** (сгенерировать: 1473): DEBUG: 14:22:26.354: eth2: установка серверной части по умолчанию на 1
** (генерация: 1473): DEBUG: 14:22:26.354: Конфигурация действительна
** (сгенерировать: 1473): DEBUG: 14:22:26.354: eth8: установка серверной части по умолчанию на 1
** (генерация: 1473): DEBUG: 14:22:26.354: Конфигурация действительна
** (сгенерировать: 1473): DEBUG: 14:22:26.354: eth1: установка серверной части по умолчанию на 1
** (генерация: 1473): DEBUG: 14:22:26.354: Конфигурация действительна
** (сгенерировать: 1473): DEBUG: 14:22:26.354: eth7: установка серверной части по умолчанию на 1
** (генерация: 1473): DEBUG: 14:22:26.354: Конфигурация действительна
** (сгенерировать: 1473): DEBUG: 14:22:26.354: eth0: установка серверной части по умолчанию на 1
** (генерация: 1473): DEBUG: 14:22:26.354: Конфигурация действительна
** (сгенерировать: 1473): DEBUG: 14:22:26.354: eth6: установка серверной части по умолчанию на 1
** (генерация: 1473): DEBUG: 14:22:26.354: Конфигурация действительна
** (создать: 1473): ОТЛАДКА: 14:22:26.355: Создание выходных файлов..
** (генерация: 1473): DEBUG: 14:22:26.355: openvswitch: определение eth0 не для нас (бэкенд 1)
** (генерация: 1473): DEBUG: 14:22:26.355: NetworkManager: определение eth0 не для нас (бэкенд 1)
** (генерация: 1473): DEBUG: 14:22:26.355: openvswitch: определение eth1 не для нас (бэкенд 1)
** (генерация: 1473): DEBUG: 14:22:26.355: NetworkManager: определение eth1 не для нас (бэкенд 1)
** (генерация: 1473): DEBUG: 14:22:26.356: openvswitch: определение eth2 не для нас (бэкенд 1)
** (генерация: 1473): DEBUG: 14:22:26.356: NetworkManager: определение eth2 не для нас (бэкенд 1)
** (генерация: 1473): DEBUG: 14:22:26.356: openvswitch: определение eth3 не для нас (бэкенд 1)
** (генерация: 1473): DEBUG: 14:22:26.356: NetworkManager: определение eth3 не для нас (бэкенд 1)
** (генерация: 1473): DEBUG: 14:22:26.356: openvswitch: определение eth4 не для нас (бэкэнд 1)
** (генерация: 1473): DEBUG: 14:22:26.356: NetworkManager: определение eth4 не для нас (бэкенд 1)
** (генерация: 1473): DEBUG: 14:22:26.356: openvswitch: определение eth5 не для нас (бэкенд 1)
** (генерация: 1473): DEBUG: 14:22:26.356: NetworkManager: определение eth5 не для нас (бэкенд 1)
** (генерация: 1473): DEBUG: 14:22:26.356: openvswitch: определение eth6 не для нас (бэкенд 1)
** (генерация: 1473): DEBUG: 14:22:26.356: NetworkManager: определение eth6 не для нас (бэкенд 1)
** (генерация: 1473): DEBUG: 14:22:26.357: openvswitch: определение eth7 не для нас (бэкэнд 1)
** (генерация: 1473): DEBUG: 14:22:26.357: NetworkManager: определение eth7 не для нас (бэкенд 1)
** (генерация: 1473): DEBUG: 14:22:26.357: openvswitch: определение eth8 не для нас (бэкенд 1)
** (генерация: 1473): DEBUG: 14:22:26.357: NetworkManager: определение eth8 не для нас (бэкенд 1)
** (генерация: 1473): DEBUG: 14:22:26.357: openvswitch: определение eth9 не для нас (бэкэнд 1)
** (генерация: 1473): DEBUG: 14:22:26.357: NetworkManager: определение eth9 не для нас (бэкенд 1)
(генерация: 1473): GLib-DEBUG: 14:22:26.357: posix_spawn избегается (запрошено закрытие fd)
(генерация: 1473): GLib-DEBUG: 14:22:26.365: posix_spawn избегается (запрошено закрытие fd)
Вывод dmesg | grep эт
[ 4.621720] e1000e 0000:03:00.0 eth0: (PCI Express:2.5GT/s:Width x1) 00:50:56:00:0a:01
[ 4.621723] e1000e 0000:03:00.0 eth0: сетевое подключение Intel(R) PRO/1000
[4.621865] e1000e 0000:03:00.0 eth0: MAC: 3, PHY: 8, номер PBA: 000000-000
[ 4.733469] e1000e 0000:04:00.0 eth1: (PCI Express:2.5GT/s:Width x1) 00:50:56:00:0b:03
[ 4.733472] e1000e 0000:04:00.0 eth1: сетевое подключение Intel(R) PRO/1000
[4.733577] e1000e 0000:04:00.0 eth1: MAC: 3, PHY: 8, номер PBA: 000000-000
[ 4.845864] e1000e 0000:05:00.0 eth2: (PCI Express:2.5GT/s:ширина x1) 00:50:56:00:0c:03
[ 4.845868] e1000e 0000:05:00.0 eth2: сетевое подключение Intel(R) PRO/1000
[4.845977] e1000e 0000:05:00.0 eth2: MAC: 3, PHY: 8, номер PBA: 000000-000
[ 4.956955] e1000e 0000:0b:00.0 eth3: (PCI Express:2.5GT/s:Width x1) 00:50:56:00:0a:04
[ 4.956959] e1000e 0000:0b:00.0 eth3: сетевое подключение Intel(R) PRO/1000
[4.957087] e1000e 0000:0b:00.0 eth3: MAC: 3, PHY: 8, номер PBA: 000000-000
[ 5.070404] e1000e 0000:0c:00.0 eth4: (PCI Express:2,5 ГТ/с:ширина x1) 00:50:56:00:0b:04
[ 5.070407] e1000e 0000:0c:00.0 eth4: сетевое подключение Intel(R) PRO/1000
[ 5.070531] e1000e 0000:0c:00.0 eth4: MAC: 3, PHY: 8, номер PBA: 000000-000
[ 5.182248] e1000e 0000:0d:00.0 eth5: (PCI Express:2.5GT/s:Width x1) 00:50:56:00:0c:04
[ 5.182251] e1000e 0000:0d:00.0 eth5: сетевое подключение Intel(R) PRO/1000
[ 5.182374] e1000e 0000:0d:00.0 eth5: MAC: 3, PHY: 8, номер PBA: 000000-000
[ 5.294284] e1000e 0000:13:00.0 eth6: (PCI Express:2.5GT/s:Width x1) 00:50:56:00:0b:01
[ 5.294287] e1000e 0000:13:00.0 eth6: сетевое подключение Intel(R) PRO/1000
[ 5.294410] e1000e 0000:13:00.0 eth6: MAC: 3, PHY: 8, номер PBA: 000000-000
[ 5.406343] e1000e 0000:14:00.0 eth7: (PCI Express:2.5GT/s:ширина x1) 00:50:56:00:0c:01
[ 5.406346] e1000e 0000:14:00.0 eth7: сетевое подключение Intel(R) PRO/1000
[ 5.406471] e1000e 0000:14:00.0 eth7: MAC: 3, PHY: 8, номер PBA: 000000-000
[ 5.518208] e1000e 0000:1b:00.0 eth8: (PCI Express:2.5GT/s:ширина x1) 00:50:56:00:0b:02
[ 5.518211] e1000e 0000:1b:00.0 eth8: сетевое подключение Intel(R) PRO/1000
[ 5.518335] e1000e 0000:1b:00.0 eth8: MAC: 3, PHY: 8, номер PBA: 000000-000
[ 5.631213] e1000e 0000:1c:00.0 eth9: (PCI Express:2.5GT/s:ширина x1) 00:50:56:00:0c:02
[ 5.631216] e1000e 0000:1c:00.0 eth9: сетевое подключение Intel(R) PRO/1000
[ 5.631408] e1000e 0000:1c:00.0 eth9: MAC: 3, PHY: 8, номер PBA: 000000-000
[ 9.627269] e1000e 0000:1c:00.0 eth9: соединение с сетевой картой установлено, скорость 1000 Мбит/с, полный дуплекс, управление потоком: нет
[9.628754] IPv6: ADDRCONF(NETDEV_CHANGE): eth9: ссылка готова
[ 9.729352] e1000e 0000:1b:00.0 eth8: соединение с сетевой картой установлено, скорость 1000 Мбит/с, полный дуплекс, управление потоком: нет
[9.813525] IPv6: ADDRCONF(NETDEV_CHANGE): eth8: ссылка готова
[ 9.817031] e1000e 0000:14:00.0 eth7: соединение с сетевой картой установлено на скорости 1000 Мбит/с, полный дуплекс, управление потоком: нет
[ 9.913124] e1000e 0000:13:00.0 eth6: соединение с сетевой картой установлено, скорость 1000 Мбит/с, полный дуплекс, управление потоком: нет
[10.001200] IPv6: ADDRCONF(NETDEV_CHANGE): eth7: ссылка готова
[10.002240] IPv6: ADDRCONF(NETDEV_CHANGE): eth6: ссылка готова
[ 10.004976] e1000e 0000:0d:00.0 eth5: соединение с сетевой картой установлено, скорость 1000 Мбит/с, полный дуплекс, управление потоком: нет
[ 10.096982] e1000e 0000:0c:00.0 eth4: соединение с сетевой картой установлено на скорости 1000 Мбит/с, полный дуплекс, управление потоком: нет
[10.099025] IPv6: ADDRCONF(NETDEV_CHANGE): eth5: ссылка готова
[10.100038] IPv6: ADDRCONF(NETDEV_CHANGE): eth4: ссылка готова
[ 10.204745] e1000e 0000:0b:00.0 eth3: соединение с сетевой картой установлено, скорость 1000 Мбит/с, полный дуплекс, управление потоком: нет
[ 10.296669] e1000e 0000:05:00.0 eth2: соединение с сетевой картой установлено, скорость 1000 Мбит/с, полный дуплекс, управление потоком: нет
[ 10.416662] e1000e 0000:04:00.0 eth1: соединение с сетевой картой установлено, скорость 1000 Мбит/с, полный дуплекс, управление потоком: нет
[ 10.509219] e1000e 0000:03:00.0 eth0: соединение с сетевой картой установлено, скорость 1000 Мбит/с, полный дуплекс, управление потоком: нет
[10.511526] IPv6: ADDRCONF(NETDEV_CHANGE): eth3: ссылка готова
[10.512287] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: ссылка готова
[10.512964] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: ссылка готова
[10.513602] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: ссылка готова
Вывод ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
инет 127.0.0.1/8 область хоста lo
valid_lft навсегда
inet6 :: 1/128 узел области видимости
valid_lft навсегда
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
ссылка/эфир 00:50:56:00:0a:01 брд ff:ff:ff:ff:ff:ff
альтернативное имя enp3s0
альтернативное имя ens160
инет 192.168.100.3/24 brd 192.168.100.255 глобальный охват eth0
valid_lft навсегда
ссылка на область inet6 fe80::250:56ff:fe00:a01/64
valid_lft навсегда
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
ссылка/эфир 00:50:56:00:0b:03 брд ff:ff:ff:ff:ff:ff
альтернативное имя enp4s0
альтернативное имя ens161
ссылка на область inet6 fe80::250:56ff:fe00:b03/64
valid_lft навсегда
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
ссылка/эфир 00:50:56:00:0c:03 брд ff:ff:ff:ff:ff:ff
альтернативное имя enp5s0
альтернативное имя ens162
ссылка на область inet6 fe80::250:56ff:fe00:c03/64
valid_lft навсегда
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
ссылка/эфир 00:50:56:00:0a:04 брд ff:ff:ff:ff:ff:ff
альтернативное имя enp11s0
альтернативное имя ens192
ссылка на область inet6 fe80::250:56ff:fe00:a04/64
valid_lft навсегда
6: eth4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
ссылка/эфир 00:50:56:00:0b:04 брд ff:ff:ff:ff:ff:ff
альтернативное имя enp12s0
альтернативное имя ens193
ссылка на область inet6 fe80::250:56ff:fe00:b04/64
valid_lft навсегда
7: eth5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
ссылка/эфир 00:50:56:00:0c:04 брд ff:ff:ff:ff:ff:ff
альтернативное имя enp13s0
альтернативное имя ens194
ссылка на область inet6 fe80::250:56ff:fe00:c04/64
valid_lft навсегда
8: eth6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
ссылка/эфир 00:50:56:00:0b:01 брд ff:ff:ff:ff:ff:ff
альтернативное имя enp19s0
альтернативное имя ens224
ссылка на область inet6 fe80::250:56ff:fe00:b01/64
valid_lft навсегда
9: eth7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
ссылка/эфир 00:50:56:00:0c:01 брд ff:ff:ff:ff:ff:ff
альтернативное имя enp20s0
альтернативное имя ens225
ссылка на область inet6 fe80::250:56ff:fe00:c01/64
valid_lft навсегда
10: eth8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
ссылка/эфир 00:50:56:00:0b:02 брд ff:ff:ff:ff:ff:ff
альтернативное имя enp27s0
альтернативное имя ens256
ссылка на область inet6 fe80::250:56ff:fe00:b02/64
valid_lft навсегда
11: eth9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
ссылка/эфир 00:50:56:00:0c:02 брд ff:ff:ff:ff:ff:ff
альтернативное имя enp28s0
альтернативное имя ens257
ссылка на область inet6 fe80::250:56ff:fe00:c02/64
valid_lft навсегда
12: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
ссылка/эфир 52:54:00:6f:81:c9 brd ff:ff:ff:ff:ff:ff
инет 192.168.122.1/24 brd 192.168.122.255 глобальная область действия virbr0
valid_lft навсегда
13: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 состояние DOWN группа по умолчанию qlen 1000
ссылка/эфир 52:54:00:6f:81:c9 brd ff:ff:ff:ff:ff:ff
14: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
ссылка/эфир 02:42:02:d0:f1:69 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 глобальная область действия docker0
valid_lft навсегда
Когда я начал пробовать что-то, я понял, что в /etc/network/interfaces (пусто) не было установлено ни network-manager, ни cloud-init, ни что-либо еще.
Любые идеи или решения будут оценены.