Ubuntu 20.04 — Именование сетевых карт и сопоставление MAC-адресов с Netplan

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

У меня 20.04 (модифицированная версия, виртуальная машина GNS3 на ESXi) с 10 сетевыми адаптерами. Время от времени, если я вношу изменения в настройки или топологию, имена сетевых карт меняются, поэтому мне нужно, чтобы они были постоянными.

Основное приложение, которое я запускаю, ожидает старое соглашение об именах, в моем случае от Eth0 до Eth9. Это нормально.

Вот содержимое файла, который приложение использует в /etc/netplan:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      match:
        macaddress: 00:50:56:00:0a:01
      dhcp4: no
      addresses:
        - 192.168.100.3/24
      gateway4: 192.168.100.1
      nameservers:
        addresses: [1.1.1.1, 8.8.8.8]
    eth1:
      match:
        macaddress: 00:50:56:00:0a:04
      dhcp4: yes
    eth2:
      match:
        macaddress: 00:50:56:00:0b:01
      dhcp4: yes
    eth3:
      match:
        macaddress: 00:50:56:00:0b:02
      dhcp4: yes
    eth4:
      match:
        macaddress: 00:50:56:00:0b:03
      dhcp4: yes
    eth5:
      match:
        macaddress: 00:50:56:00:0b:04
      dhcp4: yes
    eth6:
      match:
        macaddress: 00:50:56:00:0c:01
      dhcp4: yes
    eth7:
      match:
        macaddress: 00:50:56:00:0c:02
      dhcp4: yes
    eth8:
      match:
        macaddress: 00:50:56:00:0c:03
      dhcp4: yes
    eth9:
      match:
        macaddress: 00:50:56:00:0c:04
      dhcp4: yes

Когда я запускаю netplan, примените , кажется, это не проблема; но фактический вывод sudo netplan --debug generate позволяет мне думать иначе:

** (generate:1473): DEBUG: 14:22:26.352: Processing input file /etc/netplan/01-netcfg.yaml..
** (generate:1473): DEBUG: 14:22:26.353: Processing input file /etc/netplan/90_gns3vm_static_netcfg.yaml..
** (generate:1473): DEBUG: 14:22:26.353: starting new processing pass
** (generate:1473): DEBUG: 14:22:26.353: We have some netdefs, pass them through a final round of validation
** (generate:1473): DEBUG: 14:22:26.354: eth5: setting default backend to 1
** (generate:1473): DEBUG: 14:22:26.354: Configuration is valid
** (generate:1473): DEBUG: 14:22:26.354: eth4: setting default backend to 1
** (generate:1473): DEBUG: 14:22:26.354: Configuration is valid
** (generate:1473): DEBUG: 14:22:26.354: eth3: setting default backend to 1
** (generate:1473): DEBUG: 14:22:26.354: Configuration is valid
** (generate:1473): DEBUG: 14:22:26.354: eth9: setting default backend to 1
** (generate:1473): DEBUG: 14:22:26.354: Configuration is valid
** (generate:1473): DEBUG: 14:22:26.354: eth2: setting default backend to 1
** (generate:1473): DEBUG: 14:22:26.354: Configuration is valid
** (generate:1473): DEBUG: 14:22:26.354: eth8: setting default backend to 1
** (generate:1473): DEBUG: 14:22:26.354: Configuration is valid
** (generate:1473): DEBUG: 14:22:26.354: eth1: setting default backend to 1
** (generate:1473): DEBUG: 14:22:26.354: Configuration is valid
** (generate:1473): DEBUG: 14:22:26.354: eth7: setting default backend to 1
** (generate:1473): DEBUG: 14:22:26.354: Configuration is valid
** (generate:1473): DEBUG: 14:22:26.354: eth0: setting default backend to 1
** (generate:1473): DEBUG: 14:22:26.354: Configuration is valid
** (generate:1473): DEBUG: 14:22:26.354: eth6: setting default backend to 1
** (generate:1473): DEBUG: 14:22:26.354: Configuration is valid
** (generate:1473): DEBUG: 14:22:26.355: Generating output files..
** (generate:1473): DEBUG: 14:22:26.355: openvswitch: definition eth0 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.355: NetworkManager: definition eth0 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.355: openvswitch: definition eth1 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.355: NetworkManager: definition eth1 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.356: openvswitch: definition eth2 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.356: NetworkManager: definition eth2 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.356: openvswitch: definition eth3 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.356: NetworkManager: definition eth3 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.356: openvswitch: definition eth4 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.356: NetworkManager: definition eth4 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.356: openvswitch: definition eth5 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.356: NetworkManager: definition eth5 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.356: openvswitch: definition eth6 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.356: NetworkManager: definition eth6 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.357: openvswitch: definition eth7 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.357: NetworkManager: definition eth7 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.357: openvswitch: definition eth8 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.357: NetworkManager: definition eth8 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.357: openvswitch: definition eth9 is not for us (backend 1)
** (generate:1473): DEBUG: 14:22:26.357: NetworkManager: definition eth9 is not for us (backend 1)
(generate:1473): GLib-DEBUG: 14:22:26.357: posix_spawn avoided (fd close requested) 
(generate:1473): GLib-DEBUG: 14:22:26.365: posix_spawn avoided (fd close requested) 

Вывод dmesg | grep eth

[    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 Network Connection
[    4.621865] e1000e 0000:03:00.0 eth0: MAC: 3, PHY: 8, PBA No: 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 Network Connection
[    4.733577] e1000e 0000:04:00.0 eth1: MAC: 3, PHY: 8, PBA No: 000000-000
[    4.845864] e1000e 0000:05:00.0 eth2: (PCI Express:2.5GT/s:Width x1) 00:50:56:00:0c:03
[    4.845868] e1000e 0000:05:00.0 eth2: Intel(R) PRO/1000 Network Connection
[    4.845977] e1000e 0000:05:00.0 eth2: MAC: 3, PHY: 8, PBA No: 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 Network Connection
[    4.957087] e1000e 0000:0b:00.0 eth3: MAC: 3, PHY: 8, PBA No: 000000-000
[    5.070404] e1000e 0000:0c:00.0 eth4: (PCI Express:2.5GT/s:Width x1) 00:50:56:00:0b:04
[    5.070407] e1000e 0000:0c:00.0 eth4: Intel(R) PRO/1000 Network Connection
[    5.070531] e1000e 0000:0c:00.0 eth4: MAC: 3, PHY: 8, PBA No: 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 Network Connection
[    5.182374] e1000e 0000:0d:00.0 eth5: MAC: 3, PHY: 8, PBA No: 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 Network Connection
[    5.294410] e1000e 0000:13:00.0 eth6: MAC: 3, PHY: 8, PBA No: 000000-000
[    5.406343] e1000e 0000:14:00.0 eth7: (PCI Express:2.5GT/s:Width x1) 00:50:56:00:0c:01
[    5.406346] e1000e 0000:14:00.0 eth7: Intel(R) PRO/1000 Network Connection
[    5.406471] e1000e 0000:14:00.0 eth7: MAC: 3, PHY: 8, PBA No: 000000-000
[    5.518208] e1000e 0000:1b:00.0 eth8: (PCI Express:2.5GT/s:Width x1) 00:50:56:00:0b:02
[    5.518211] e1000e 0000:1b:00.0 eth8: Intel(R) PRO/1000 Network Connection
[    5.518335] e1000e 0000:1b:00.0 eth8: MAC: 3, PHY: 8, PBA No: 000000-000
[    5.631213] e1000e 0000:1c:00.0 eth9: (PCI Express:2.5GT/s:Width x1) 00:50:56:00:0c:02
[    5.631216] e1000e 0000:1c:00.0 eth9: Intel(R) PRO/1000 Network Connection
[    5.631408] e1000e 0000:1c:00.0 eth9: MAC: 3, PHY: 8, PBA No: 000000-000
[    9.627269] e1000e 0000:1c:00.0 eth9: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[    9.628754] IPv6: ADDRCONF(NETDEV_CHANGE): eth9: link becomes ready
[    9.729352] e1000e 0000:1b:00.0 eth8: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[    9.813525] IPv6: ADDRCONF(NETDEV_CHANGE): eth8: link becomes ready
[    9.817031] e1000e 0000:14:00.0 eth7: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[    9.913124] e1000e 0000:13:00.0 eth6: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[   10.001200] IPv6: ADDRCONF(NETDEV_CHANGE): eth7: link becomes ready
[   10.002240] IPv6: ADDRCONF(NETDEV_CHANGE): eth6: link becomes ready
[   10.004976] e1000e 0000:0d:00.0 eth5: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[   10.096982] e1000e 0000:0c:00.0 eth4: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[   10.099025] IPv6: ADDRCONF(NETDEV_CHANGE): eth5: link becomes ready
[   10.100038] IPv6: ADDRCONF(NETDEV_CHANGE): eth4: link becomes ready
[   10.204745] e1000e 0000:0b:00.0 eth3: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[   10.296669] e1000e 0000:05:00.0 eth2: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[   10.416662] e1000e 0000:04:00.0 eth1: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[   10.509219] e1000e 0000:03:00.0 eth0: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[   10.511526] IPv6: ADDRCONF(NETDEV_CHANGE): eth3: link becomes ready
[   10.512287] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready
[   10.512964] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[   10.513602] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

Вывод ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:50:56:00:0a:01 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    altname ens160
    inet 192.168.100.3/24 brd 192.168.100.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::250:56ff:fe00:a01/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:50:56:00:0b:03 brd ff:ff:ff:ff:ff:ff
    altname enp4s0
    altname ens161
    inet6 fe80::250:56ff:fe00:b03/64 scope link 
       valid_lft forever preferred_lft forever
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:50:56:00:0c:03 brd ff:ff:ff:ff:ff:ff
    altname enp5s0
    altname ens162
    inet6 fe80::250:56ff:fe00:c03/64 scope link 
       valid_lft forever preferred_lft forever
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:50:56:00:0a:04 brd ff:ff:ff:ff:ff:ff
    altname enp11s0
    altname ens192
    inet6 fe80::250:56ff:fe00:a04/64 scope link 
       valid_lft forever preferred_lft forever
6: eth4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:50:56:00:0b:04 brd ff:ff:ff:ff:ff:ff
    altname enp12s0
    altname ens193
    inet6 fe80::250:56ff:fe00:b04/64 scope link 
       valid_lft forever preferred_lft forever
7: eth5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:50:56:00:0c:04 brd ff:ff:ff:ff:ff:ff
    altname enp13s0
    altname ens194
    inet6 fe80::250:56ff:fe00:c04/64 scope link 
       valid_lft forever preferred_lft forever
8: eth6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:50:56:00:0b:01 brd ff:ff:ff:ff:ff:ff
    altname enp19s0
    altname ens224
    inet6 fe80::250:56ff:fe00:b01/64 scope link 
       valid_lft forever preferred_lft forever
9: eth7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:50:56:00:0c:01 brd ff:ff:ff:ff:ff:ff
    altname enp20s0
    altname ens225
    inet6 fe80::250:56ff:fe00:c01/64 scope link 
       valid_lft forever preferred_lft forever
10: eth8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:50:56:00:0b:02 brd ff:ff:ff:ff:ff:ff
    altname enp27s0
    altname ens256
    inet6 fe80::250:56ff:fe00:b02/64 scope link 
       valid_lft forever preferred_lft forever
11: eth9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:50:56:00:0c:02 brd ff:ff:ff:ff:ff:ff
    altname enp28s0
    altname ens257
    inet6 fe80::250:56ff:fe00:c02/64 scope link 
       valid_lft forever preferred_lft forever
12: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:6f:81:c9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
13: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
    link/ether 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 
    link/ether 02:42:02:d0:f1:69 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

Когда я начал пробовать что-то, я понял, что не было установлено ни network-manager, ни cloud-init, ни что-либо в /etc/network/interfaces (пусто).

Будем признательны за любые идеи и решения.

1
задан 17 November 2021 в 14:30

0 ответов

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

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