Auteur Sujet: Ubuntu server: Interface réseau qui change de nom  (Lu 2746 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 253
    • Twitter LaFibre.info
Ubuntu server: Interface réseau qui change de nom
« le: 22 septembre 2021 à 08:42:45 »
Interface réseau d'un serveur qui passe du nom "em1" à "eth0"

OS : Ubuntu-Server 20.04 LTS (Installation avec 14.04 puis mise à jour 14.04 ⇒ 16.04 ⇒ 18.04 ⇒ 20.04)

L'incident est survenu lors d'une bascule du noyau GA (5.4) vers le noyau HWE (5.11 actuellement)
cf Tutoriel pour comprendre et changer de noyaux Linux avec Ubuntu 20.04 LTS

et là plus de réseau avec le reboot sur le noyau 5.11. En repassant en 5.4, le réseau est disponible.

Voici les infos de dmes | grep bnx2 :

Noyau 5.4, le réseau est ok :

[    2.992331] bnx2: QLogic bnx2 Gigabit Ethernet Driver v2.2.6 (January 29, 2014)
[    3.040639] bnx2 0000:01:00.0 eth0: Broadcom NetXtreme II BCM5716 1000Base-T (C0) PCI Express found at mem c0000000, IRQ 16, node addr d4:ae:52:ce:c5:c7
[    3.107974] bnx2 0000:01:00.1 eth1: Broadcom NetXtreme II BCM5716 1000Base-T (C0) PCI Express found at mem c2000000, IRQ 17, node addr d4:ae:52:ce:c5:c8
[    3.259068] bnx2 0000:01:00.1 em2: renamed from eth1
[    3.352484] bnx2 0000:01:00.0 em1: renamed from eth0
[    7.277952] bnx2 0000:01:00.0 em1: using MSIX
[    8.329572] bnx2 0000:01:00.1 em2: using MSIX
[   10.341387] bnx2 0000:01:00.0 em1: NIC Copper Link is Up, 1000 Mbps full duplex
[   12.988454] bnx2 0000:01:00.1 em2: NIC Copper Link is Up, 1000 Mbps full duplex


Noyau 5.11, le réseau ne fonctionne pas car em1 et em2 sont introuvables :
[    2.947141] bnx2 0000:01:00.0 eth0: Broadcom NetXtreme II BCM5716 1000Base-T (C0) PCI Express found at mem c0000000, IRQ 16, node addr d4:ae:52:ce:c5:c7
[    2.978902] bnx2 0000:01:00.1 eth1: Broadcom NetXtreme II BCM5716 1000Base-T (C0) PCI Express found at mem c2000000, IRQ 17, node addr d4:ae:52:ce:c5:c8


/etc/network/interfaces
auto em1.74
iface em1.74 inet static
        [...]
iface em1.74 inet6 static
        [...]

auto em2
iface em2 inet static
        [...]
iface em2 inet6 static
        [...]

Si le réseau ne fonctionne plus, c'est que les interfaces ont changées et sont maintenant eth0 et eth1. Dans le fichier /etc/network/interfaces la configuration n'a pas évoluée et est restée en em1 et em2 !


Je bascule la configuration de /etc/network/interfaces avec eth0 et eth1 :

auto eth0.74
iface eth0.74 inet static
        [...]
iface eth0.74 inet6 static
        [...]

auto eth1
iface eth1 inet static
        [...]
iface eth1 inet6 static
        [...]

Avec le noyau 5.11, tout est ok avec eth0 et eth1 :
[    2.205286] bnx2 0000:01:00.0 eth0: Broadcom NetXtreme II BCM5716 1000Base-T (C0) PCI Express found at mem c0000000, IRQ 16, node addr d4:ae:52:ce:c5:c7
[    2.270052] bnx2 0000:01:00.1 eth1: Broadcom NetXtreme II BCM5716 1000Base-T (C0) PCI Express found at mem c2000000, IRQ 17, node addr d4:ae:52:ce:c5:c8
[    7.013505] bnx2 0000:01:00.1 eth1: using MSIX
[    7.195388] bnx2 0000:01:00.0 eth0: using MSIX
[   10.320555] bnx2 0000:01:00.0 eth0: NIC Copper Link is Up, 1000 Mbps full duplex
[   10.320717] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   10.320849] IPv6: ADDRCONF(NETDEV_CHANGE): eth0.74: link becomes ready
[   11.902520] bnx2 0000:01:00.1 eth1: NIC Copper Link is Up, 1000 Mbps full duplex
[   11.902666] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready


La ligne bnx2: QLogic bnx2 Gigabit Ethernet Driver v2.2.6 (January 29, 2014) n’apparaît plus avec le noyau 5.11 mais cela n’empêche pas le fonctionnement.

Tentative de repasser sur le noyau 5.4 pour voir si la configuration réseau fonctionnera, mais non. Les interface réseau n'ont définitivement pas le même nom selon le noyau sélectionné au boot.

Noyau 5.4, le réseau est ko :

[    2.953540] bnx2: QLogic bnx2 Gigabit Ethernet Driver v2.2.6 (January 29, 2014)
[    2.970762] bnx2 0000:01:00.0 eth0: Broadcom NetXtreme II BCM5716 1000Base-T (C0) PCI Express found at mem c0000000, IRQ 16, node addr d4:ae:52:ce:c5:c7
[    3.032210] bnx2 0000:01:00.1 eth1: Broadcom NetXtreme II BCM5716 1000Base-T (C0) PCI Express found at mem c2000000, IRQ 17, node addr d4:ae:52:ce:c5:c8

Tarkok

  • Abonné Orange Fibre
  • *
  • Messages: 209
  • Dunkerque (59)
Ubuntu: Interface réseau qui change de nom
« Réponse #1 le: 22 septembre 2021 à 09:58:22 »
Depuis le changement du système de nommage des cartes réseaux pour avoir un nom "stable" des interfaces, j'ai beaucoup plus d'instabilités que quand les noms étaient simplement "ethX"... Que ce soit sur du debian ou du ubuntu.

Sur des VMs, je passe d' "enpXsY" à "enoX" en les changeant d'hyperviseurs, pour l'instant pas eu ce bug lors de mises à jours kernel (heureusement!), sur mon PC fixe dual boot Windows/Linux, dès que je lance Windows et que je repars sur Linux ou même juste quand Linux fait une update du kernel, je change aussi de "enpXsY" à "enoX" et inversement.

C'est très usant car à chaque fois je perds le réseau et je dois reconfigurer le bon nom de la carte dans mes confs. ça me rassure de voir que je ne suis pas le seul à voir ce bug, je me demande quand va-t-il être résolu définitivement... Ce nouveau système de nommage est très sympathique en théorie mais dans la pratique ça n'est pas très stable et c'est source de nombreux problèmes...

vivien

  • Administrateur
  • *
  • Messages: 47 253
    • Twitter LaFibre.info
Ubuntu: Interface réseau qui change de nom
« Réponse #2 le: 22 septembre 2021 à 10:23:13 »
J'ai cherché voir si le bug était remonté, mais on voit pleins de remontée de changement de nom d'interface.

Exemple d'une qui est bien documentée et qui explique la source du problème : https://access.redhat.com/solutions/2592561

Ma peur est que le nom des interface soit rétabli dans une prochaine mise à jour de systemd. J'hésite à doubler ma configuration réseau avec les deux nom d'interfaces (eth0 et em1 , eth1 et em2), sachant que les deux ne peuvent pas être actif simultanément.

kazyor

  • Expert des Télécoms
  • Expert
  • *
  • Messages: 1 339
  • Lyon 7ème (69)
Ubuntu: Interface réseau qui change de nom
« Réponse #3 le: 22 septembre 2021 à 10:36:32 »
Tu as changé qqch dans grub ?
Que dit la ligne GRUB_CMDLINE_LINUX_DEFAULT ?

vivien

  • Administrateur
  • *
  • Messages: 47 253
    • Twitter LaFibre.info
Ubuntu: Interface réseau qui change de nom
« Réponse #4 le: 22 septembre 2021 à 10:54:50 »
Non, je n'ai pas touché à la configuration réseau ou à Grub

cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Pour SystemD, je n'ai touché qu'à une chose : réactiver le Watchdog matériel, la mise à jour ayant remis le fichier de sa version par défaut avec watchdog désactivé.

Citation de: vivien
sed -i -e "s/#RuntimeWatchdogSec=0/RuntimeWatchdogSec=120/g" /etc/systemd/system.conf

sed -i -e "s/#ShutdownWatchdogSec=10min/ShutdownWatchdogSec=10min/g" /etc/systemd/system.conf


Vérification : sed -e '/^#\|^$/d' /etc/systemd/system.conf
[Manager]
RuntimeWatchdogSec=120
ShutdownWatchdogSec=10min

Surtout les changements de noyaux se sont fait une fois que j'avais terminé de tout configuré.

alain_p

  • Abonné Free fibre
  • *
  • Messages: 16 285
  • Delta S 10G-EPON sur Les Ulis (91)
Ubuntu: Interface réseau qui change de nom
« Réponse #5 le: 22 septembre 2021 à 10:56:41 »
Le problème de renommage des interfaces réseau, je le connaissais, et il est documenté chez Proxmox. Mais cela ne me semble pas être le problème ici, où tout simplement avec des cartes 4 ports, 2 10 Gb, et deux 1 Gb, celles 1 Gb disparaissent de ce qui est détecté, d'après ce que j'ai lu.

cali

  • Officiel Ukrainian Resilient Data Network
  • Fédération FDN
  • *
  • Messages: 2 401
    • Ukrainian Resilient Data Network
Ubuntu: Interface réseau qui change de nom
« Réponse #6 le: 22 septembre 2021 à 14:35:16 »
Ce n'est pas un bug. C'est systemd qui change.

Pour pas s'emmerder, il faut juste manuellement configurer le nom des interfaces.

Exemple dans /etc/systemd/network/10-eth0.link:
[Match]
MACAddress=00:11:22:33:44:55
[Link]
Name=eth0

Match contre l'adresse MAC, facile. Puis on donne un nom à l'interface.

Tarkok

  • Abonné Orange Fibre
  • *
  • Messages: 209
  • Dunkerque (59)
Ubuntu: Interface réseau qui change de nom
« Réponse #7 le: 22 septembre 2021 à 14:42:46 »
Merci pour l'astuce @cali, je me la note !

xp25

  • Abonné RED by SFR fibre FttH
  • *
  • Messages: 5 954
Ubuntu: Interface réseau qui change de nom
« Réponse #8 le: 22 septembre 2021 à 14:49:41 »
Une astuce de cali-té  :P

alain_p

  • Abonné Free fibre
  • *
  • Messages: 16 285
  • Delta S 10G-EPON sur Les Ulis (91)
Ubuntu: Interface réseau qui change de nom
« Réponse #9 le: 22 septembre 2021 à 15:32:43 »
Attention, le renommage des noms des interfaces n'est pas un bug, mais une "feature" de systemd. Par contre, la disparition de deux interfaces des cartes Broadcom bnx2 semble bien être un bug, lié d'après ce que je venais de voir, à SRV-IO dans le BIOS.

vivien

  • Administrateur
  • *
  • Messages: 47 253
    • Twitter LaFibre.info
Ubuntu: Interface réseau qui change de nom
« Réponse #10 le: 22 septembre 2021 à 22:26:48 »
A noter que Netplan (je ne l'utilise pas sur ce serveur), le réseau est capable de fonctionner quand le nom de l'interface ne correspond pas.

Sur un PC tournant avec Ubuntu server 20.04 (kernel 5.11) avec enp3s0 comme interface réseau, j'ai cette configuration de netplan :

cat /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
  ethernets:
    enp3s0:
      optional: true
      dhcp4: true
      dhcp6: false
  version: 2

voici ip addr :
$ ip addr
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: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether c0:3f:d5:64:e8:d6 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.19/24 brd 192.168.0.255 scope global dynamic enp3s0
       valid_lft 86357sec preferred_lft 86357sec
    inet6 fe80::c23f:d5ff:fe64:e8d6/64 scope link
       valid_lft forever preferred_lft forever
3: wlp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ac:7b:a1:94:a0:6b brd ff:ff:ff:ff:ff:ff

Dmesg :
$ dmesg | grep r8169
[    1.902676] libphy: r8169: probed
[    1.923621] r8169 0000:03:00.0 eth0: RTL8168g/8111g, c0:3f:d5:64:e8:d6, XID 4c0, IRQ 93
[    1.926442] r8169 0000:03:00.0 eth0: jumbo features [frames: 9194 bytes, tx checksumming: ko]
[    2.006354] r8169 0000:03:00.0 enp3s0: renamed from eth0
[   10.312317] Generic FE-GE Realtek PHY r8169-300:00: attached PHY driver (mii_bus:phy_addr=r8169-300:00, irq=MAC)
[   10.512329] r8169 0000:03:00.0 enp3s0: Link is Down
[   13.461583] r8169 0000:03:00.0 enp3s0: Link is Up - 1Gbps/Full - flow control rx/tx

J'ai utilisé une option de Grub pour que l'interface ne soit pas renommée :

sudo nano /etc/default/grub

J'ai rajouté net.ifnames=0 biosdevname=0 sur la ligne GRUB_CMDLINE_LINUX :
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
sudo update-grub
sudo reboot


Dmesg :
$ dmesg | grep r8169
[    1.826413] libphy: r8169: probed
[    1.834133] r8169 0000:03:00.0 eth0: RTL8168g/8111g, c0:3f:d5:64:e8:d6, XID 4c0, IRQ 91
[    1.839497] r8169 0000:03:00.0 eth0: jumbo features [frames: 9194 bytes, tx checksumming: ko]
[    9.827499] Generic FE-GE Realtek PHY r8169-300:00: attached PHY driver (mii_bus:phy_addr=r8169-300:00, irq=MAC)
[    9.999571] r8169 0000:03:00.0 eth0: Link is Down
[   12.918463] r8169 0000:03:00.0 eth0: Link is Up - 1Gbps/Full - flow control rx/tx

Malgré cela, netplan configure sans aucun problème le réseau. "altname enp3s0" apparaît dans ip addr, c'est lui qui a du être utilisé :

$ ip addr
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 c0:3f:d5:64:e8:d6 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.0.19/24 brd 192.168.0.255 scope global dynamic eth0
       valid_lft 85980sec preferred_lft 85980sec
    inet6 fe80::c23f:d5ff:fe64:e8d6/64 scope link
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ac:7b:a1:94:a0:6b brd ff:ff:ff:ff:ff:ff
    altname wlp2s0

vivien

  • Administrateur
  • *
  • Messages: 47 253
    • Twitter LaFibre.info
Ubuntu: Interface réseau qui change de nom
« Réponse #11 le: 10 novembre 2021 à 22:20:34 »
J'ai encore un cas où systemd change le nom des interfaces réseau !

Là ce n'est pas un vieux serveur comme celui de LaFibre.info, mais un système récent et la carte est une carte 2x 25 Gb/s, une Mellanox Technologies MCX4421A-ACQN ConnectX-4 Lx EN OCP,2x25G.

- Avec le noyau linux 5.4 :
mlx5_core 0000:c1:00.0 enp193s0f0: renamed from eth0
mlx5_core 0000:c1:00.1 enp193s0f1: renamed from eth1

- Avec le noyau linux 5.11 : np0 est ajouté au nom déjà long pour le port 0 et np1 pour le port 1
mlx5_core 0000:c1:00.0 enp193s0f0np0: renamed from eth0
mlx5_core 0000:c1:00.1 enp193s0f1np1: renamed from eth1

Dans les deux cas, c'est Ubuntu 20.04, j'ai juste demandé à avoir le kernel HWE pour avoir un noyau plus récent.