Inversion interfaces

Bonsoir,
ma dernière version testing ne paramètre pas mes 2 connexions comme défini dans le fichiers interfaces,
elle inverse les @IP:
enp7s0 devient 10.0.0.30 au lieu de 192.168.1.30
enp8s0 devient 192.168.1.30 au lieu de 10.0.0.30

dois-je réciter 2 pater et 3 ave pour que cela reviennent dans l’ordre?
bonne soirée

Bonsoir jb12

Tu devrais pouvoir forcer le nommage de tes périphériques réseau
en créant une règle udev afin que l’attribution du nom du périphérique (enp7s0 ou enp8s0)
dépende de l’adresse MAC de chacun de ces péripĥériques réseau.

Tu pourra récupérer les adresses MAC de tes périphériques réseau avec la ligne de commande :

ip a

et en adaptant les lignes suivantes avec les adresses MAC des périphériques réseau de ta machine
tu créé un fichier nommé /etc/udev/rules.d/70-persistent-net.rules
dans lequel tu mets :

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:45:70:d0", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="enp*" NAME="enp7s0"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:45:70:d1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="enp*" NAME="enp8s0"

Au démarrage suivant, tu aura vite vu si tu t’es trompé, et dans ce cas,
il te suffira d’inverser les adresses MAC entre les deux règles udev

bonjour,
merci pour l’info

Peut-on voir le contenu de ce fichier, ainsi que la sortie de la commande “ip addr” ?

Je ne vois pas le rapport avec le sujet. A moins que @jb12 se soit très mal exprimé, il ne s’agit pas d’un problème de persistence du nommage des interfaces mais de configuration d’adresses IP sur ces interfaces.

A mon avis c’est une très mauvaise idée de forcer par l’adresse MAC un nom de la même forme que les noms attribués par le nommage “prévisible”. Risque de conflit en vue.

Accessoirement, ces règles risquent de ne pas être déclenchées car le nom attribué par le noyau (KERNEL==) est généralement de la forme “eth*” et non “enp*” qui est le nom attribué par le nommage “prévisible” de systemd.

J’ai fait le test sur une machine virtuelle avant de proposer cette solution.

Peut-être qu’il ne s’agit pas d’une persistance de nommage,
mais le problème semble être un problème d’association de nom d’interface avec une adresse IP

Les deux interfaces changent de nom (comme des disques dur le feraient) en fonction de leur vitesse de réaction à l’initialisation (sans doute lors du POST). Il doit sans doute s’agir de deux cartes réseau similaires.

Mais l’adresse IP est sans doute fournie (en fonction de l’adresse MAC du périphérique réseau) par le serveur DHCP du réseau auquel est connecté chaque carte.

En créant ces règles udev, les noms des interfaces sont maintenant relatifs à l’adresse MAC de chaque périphérique réseau.


Dans mes tests sur une machine virtuelle, les règles que je propose ont bien été déclenchées,
et les noms des interfaces ont été attribués en fonction de l’adresse MAC de chaque interface réseau.

Ci dessous, dans une machine virtuelle,
EDIT : sans aucun fichier /etc/udev/rules.d/70-persistent-net.rules
après avoir lancé udevadm monitor j’ai ajouté une interface réseau

michel@debtxt00:~$ udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[1379.579583] add      /devices/pci0000:00/0000:00:0a.0 (pci)
UDEV  [1379.581817] add      /devices/pci0000:00/0000:00:0a.0 (pci)
KERNEL[1379.620212] add      /devices/pci0000:00/0000:00:0a.0/net/eth0 (net)
KERNEL[1379.620246] add      /devices/pci0000:00/0000:00:0a.0/net/eth0/queues/rx-0 (queues)
KERNEL[1379.620257] add      /devices/pci0000:00/0000:00:0a.0/net/eth0/queues/tx-0 (queues)
KERNEL[1379.624207] move     /devices/pci0000:00/0000:00:0a.0/net/ens10 (net)
UDEV  [1379.650574] add      /devices/pci0000:00/0000:00:0a.0/net/ens10 (net)
UDEV  [1379.651151] add      /devices/pci0000:00/0000:00:0a.0/net/eth0/queues/rx-0 (queues)
UDEV  [1379.651175] add      /devices/pci0000:00/0000:00:0a.0/net/eth0/queues/tx-0 (queues)
UDEV  [1379.652932] move     /devices/pci0000:00/0000:00:0a.0/net/ens10 (net)
michel@debtxt00:~$ 

Ici, c’est ens que le kernel a utilisé comme préfixe et que j’avais utilisé pour mon test d’attribution de nom d’interface en fonction de l’adresse MAC avec deux périphériques réseau

Avec quelle règle udev ?
Et sans cette règle ?

J’avais oublié de préciser que le retour de udevadm monitor de mon dernier message
avait été fait sur une machine sans que j’aie ajouté de règle udev.
Il n’y avait donc aucun fichier /etc/udev/rules.d/70-persistent-net.rules

C’est une machine virtuelle nouvellement créée dans laquelle je n’ai rien installé de particulier,
aucun Environnement de Bureau ni serveur X, j’ai juste installé le paquetage openssh-server

michel@debtxt00:~$ uname -a
Linux debtxt00 4.9.0-4-amd64 #1 SMP Debian 4.9.65-3+deb9u1 (2017-12-23) x86_64 GNU/Linux
michel@debtxt00:~$ 
michel@debtxt00:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 9.3 (stretch)
Release:	9.3
Codename:	stretch
michel@debtxt00:~$ 
michel@debtxt00:~$ udevadm info -a -p /sys/class/net/ens10

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:0a.0/net/ens10':
    KERNEL=="ens10"
    SUBSYSTEM=="net"
    DRIVER==""
    ATTR{addr_assign_type}=="0"
    ATTR{addr_len}=="6"
    ATTR{address}=="52:54:00:28:93:86"
    ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"
    ATTR{carrier_changes}=="0"
    ATTR{dev_id}=="0x0"
    ATTR{dev_port}=="0"
    ATTR{flags}=="0x1002"
    ATTR{gro_flush_timeout}=="0"
    ATTR{ifalias}==""
    ATTR{ifindex}=="5"
    ATTR{iflink}=="5"
    ATTR{link_mode}=="0"
    ATTR{mtu}=="1500"
    ATTR{name_assign_type}=="4"
    ATTR{netdev_group}=="0"
    ATTR{operstate}=="down"
    ATTR{proto_down}=="0"
    ATTR{tx_queue_len}=="1000"
    ATTR{type}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:0a.0':
    KERNELS=="0000:00:0a.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="8139cp"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x020000"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{d3cold_allowed}=="0"
    ATTRS{device}=="0x8139"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="10"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{local_cpus}=="ff"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{subsystem_device}=="0x1100"
    ATTRS{subsystem_vendor}=="0x1af4"
    ATTRS{vendor}=="0x10ec"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

michel@debtxt00:~$ 

Bonsoir,
voici pour mes 2 cartes:

root@alpha30:/sys/class/net# udevadm info -a -p /sys/class/net/enp7s0

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1c.4/0000:07:00.0/net/enp7s0':
    KERNEL=="enp7s0"
    SUBSYSTEM=="net"
    DRIVER==""
    ATTR{addr_assign_type}=="0"
    ATTR{addr_len}=="6"
    ATTR{address}=="1c:6f:65:3d:35:16"
    ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"
    ATTR{carrier}=="1"
    ATTR{carrier_changes}=="2"
    ATTR{dev_id}=="0x0"
    ATTR{dev_port}=="0"
    ATTR{dormant}=="0"
    ATTR{duplex}=="full"
    ATTR{flags}=="0x1103"
    ATTR{gro_flush_timeout}=="0"
    ATTR{ifalias}==""
    ATTR{ifindex}=="2"
    ATTR{iflink}=="2"
    ATTR{link_mode}=="0"
    ATTR{mtu}=="1500"
    ATTR{name_assign_type}=="4"
    ATTR{netdev_group}=="0"
    ATTR{operstate}=="up"
    ATTR{proto_down}=="0"
    ATTR{speed}=="1000"
    ATTR{tx_queue_len}=="1000"
    ATTR{type}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:07:00.0':
    KERNELS=="0000:07:00.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="r8169"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x020000"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{current_link_speed}=="2.5 GT/s"
    ATTRS{current_link_width}=="1"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{device}=="0x8168"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="24"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{local_cpus}=="00ff"
    ATTRS{max_link_speed}=="2.5 GT/s"
    ATTRS{max_link_width}=="1"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{revision}=="0x06"
    ATTRS{subsystem_device}=="0xe000"
    ATTRS{subsystem_vendor}=="0x1458"
    ATTRS{vendor}=="0x10ec"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4':
    KERNELS=="0000:00:1c.4"
    SUBSYSTEMS=="pci"
    DRIVERS=="pcieport"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x060400"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{current_link_speed}=="2.5 GT/s"
    ATTRS{current_link_width}=="1"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{device}=="0x3a48"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="16"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{local_cpus}=="00ff"
    ATTRS{max_link_speed}=="2.5 GT/s"
    ATTRS{max_link_width}=="1"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{revision}=="0x00"
    ATTRS{secondary_bus_number}=="7"
    ATTRS{subordinate_bus_number}=="7"
    ATTRS{subsystem_device}=="0x5001"
    ATTRS{subsystem_vendor}=="0x1458"
    ATTRS{vendor}=="0x8086"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

root@alpha30:/sys/class/net# udevadm info -a -p /sys/class/net/enp8s0

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1e.0/0000:08:00.0/net/enp8s0':
    KERNEL=="enp8s0"
    SUBSYSTEM=="net"
    DRIVER==""
    ATTR{addr_assign_type}=="0"
    ATTR{addr_len}=="6"
    ATTR{address}=="00:0c:76:ae:b5:56"
    ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"
    ATTR{carrier}=="1"
    ATTR{carrier_changes}=="2"
    ATTR{dev_id}=="0x0"
    ATTR{dev_port}=="0"
    ATTR{dormant}=="0"
    ATTR{duplex}=="full"
    ATTR{flags}=="0x1103"
    ATTR{gro_flush_timeout}=="0"
    ATTR{ifalias}==""
    ATTR{ifindex}=="3"
    ATTR{iflink}=="3"
    ATTR{link_mode}=="0"
    ATTR{mtu}=="1500"
    ATTR{name_assign_type}=="4"
    ATTR{netdev_group}=="0"
    ATTR{operstate}=="up"
    ATTR{proto_down}=="0"
    ATTR{speed}=="1000"
    ATTR{tx_queue_len}=="1000"
    ATTR{type}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1e.0/0000:08:00.0':
    KERNELS=="0000:08:00.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="r8169"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x020000"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{device}=="0x8169"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="16"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{local_cpus}=="00ff"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{revision}=="0x10"
    ATTRS{subsystem_device}=="0x8169"
    ATTRS{subsystem_vendor}=="0x10ec"
    ATTRS{vendor}=="0x10ec"

  looking at parent device '/devices/pci0000:00/0000:00:1e.0':
    KERNELS=="0000:00:1e.0"
    SUBSYSTEMS=="pci"
    DRIVERS==""
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x060401"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{d3cold_allowed}=="0"
    ATTRS{device}=="0x244e"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="0"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{local_cpus}=="00ff"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{revision}=="0x90"
    ATTRS{secondary_bus_number}=="8"
    ATTRS{subordinate_bus_number}=="8"
    ATTRS{subsystem_device}=="0x5000"
    ATTRS{subsystem_vendor}=="0x1458"
    ATTRS{vendor}=="0x8086"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

root@alpha30:/sys/class/net# 

sous réserve,
pourquoi ne pas mettre les 2 directives dans une MAJ?

remarques,
en cas de modifications d’attribution d’interfaces,
j’ai vu un gros ralanticement de firefox,

htop ne remonté rien d’anormal sauf un swap important
bonne soirée

Bonsoir

Comme le demandais PascalHambourg

il manque le contenu du fichier
/etc/network/interfaces

et le retour de la commande
ip addr


De toutes façons, si tu as besoin d’un conseil,
c’est PascalHambourg le pro,
moi je ne suis qu’un bricoleur du dimanche.

Je ne suis pas plus un pro que n’importe qui d’autre ici.

Pas dans mes tests sur une machine physique dont l’interface ethernet reçoit par défaut un nom “prévisible” de la forme enpXsY. Par contre la règle s’applique si je mets KERNEL=="eth*" au lieu de KERNEL=="enp*".

Et donc, qu’est-ce que c’était censé prouver ?

Sur ma machine virtuelle, j’avais d’abord testé avec “eth*” sans succès,
c’est pour ça que j’en étais venu à utiliser “ens*”


C’était juste pour répondre à la question que tu avais posé dans le message précédent :

Ce n’est pas logique. On voit bien que le nom initial est de la forme “eth*” et que le renommage prévisible en “ens*” n’intervient que dans un second temps.

Cela ne pouvait pas répondre à ma question puisque je ne l’ai posée que dans le message suivant, en réaction à ton message.
J’aurais voulu voir le résultat avec la règle udev.

root@debtxt00:~# # avant de créer la règle udev :
root@debtxt00:~# udevadm info -a -p /sys/class/net/ens8

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:08.0/net/ens8':
    KERNEL=="ens8"
    SUBSYSTEM=="net"
    DRIVER==""
    ATTR{addr_assign_type}=="0"
    ATTR{addr_len}=="6"
    ATTR{address}=="52:54:00:28:93:86"
    ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"
    ATTR{carrier_changes}=="0"
    ATTR{dev_id}=="0x0"
    ATTR{dev_port}=="0"
    ATTR{flags}=="0x1002"
    ATTR{gro_flush_timeout}=="0"
    ATTR{ifalias}==""
    ATTR{ifindex}=="3"
    ATTR{iflink}=="3"
    ATTR{link_mode}=="0"
    ATTR{mtu}=="1500"
    ATTR{name_assign_type}=="4"
    ATTR{netdev_group}=="0"
    ATTR{operstate}=="down"
    ATTR{proto_down}=="0"
    ATTR{tx_queue_len}=="1000"
    ATTR{type}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:08.0':
    KERNELS=="0000:00:08.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="8139cp"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x020000"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{d3cold_allowed}=="0"
    ATTRS{device}=="0x8139"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="11"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{local_cpus}=="ff"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{subsystem_device}=="0x1100"
    ATTRS{subsystem_vendor}=="0x1af4"
    ATTRS{vendor}=="0x10ec"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

root@debtxt00:~# udevadm info -a -p /sys/class/net/ens9

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:09.0/net/ens9':
    KERNEL=="ens9"
    SUBSYSTEM=="net"
    DRIVER==""
    ATTR{addr_assign_type}=="0"
    ATTR{addr_len}=="6"
    ATTR{address}=="52:54:00:bb:a0:72"
    ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"
    ATTR{carrier_changes}=="0"
    ATTR{dev_id}=="0x0"
    ATTR{dev_port}=="0"
    ATTR{flags}=="0x1002"
    ATTR{gro_flush_timeout}=="0"
    ATTR{ifalias}==""
    ATTR{ifindex}=="4"
    ATTR{iflink}=="4"
    ATTR{link_mode}=="0"
    ATTR{mtu}=="1500"
    ATTR{name_assign_type}=="4"
    ATTR{netdev_group}=="0"
    ATTR{operstate}=="down"
    ATTR{proto_down}=="0"
    ATTR{tx_queue_len}=="1000"
    ATTR{type}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:09.0':
    KERNELS=="0000:00:09.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="8139cp"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x020000"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{d3cold_allowed}=="0"
    ATTRS{device}=="0x8139"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="10"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{local_cpus}=="ff"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{subsystem_device}=="0x1100"
    ATTRS{subsystem_vendor}=="0x1af4"
    ATTRS{vendor}=="0x10ec"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

root@debtxt00:~# 

root@debtxt00:~# # je créé maintenant la règle udev en utilisant ens* et je redémarrerai
root@debtxt00:~# cat /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:bb:a0:72", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="ens*" NAME="ens8"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:28:93:86", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="ens*" NAME="ens9"
root@debtxt00:~# 
root@debtxt00:~# # je redémarre la machine après avoir créé la règle udev ci-dessus
root@debtxt00:~# udevadm info -a -p /sys/class/net/ens8

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:09.0/net/ens8':
    KERNEL=="ens8"
    SUBSYSTEM=="net"
    DRIVER==""
    ATTR{addr_assign_type}=="0"
    ATTR{addr_len}=="6"
    ATTR{address}=="52:54:00:bb:a0:72"
    ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"
    ATTR{carrier_changes}=="0"
    ATTR{dev_id}=="0x0"
    ATTR{dev_port}=="0"
    ATTR{flags}=="0x1002"
    ATTR{gro_flush_timeout}=="0"
    ATTR{ifalias}==""
    ATTR{ifindex}=="3"
    ATTR{iflink}=="3"
    ATTR{link_mode}=="0"
    ATTR{mtu}=="1500"
    ATTR{name_assign_type}=="4"
    ATTR{netdev_group}=="0"
    ATTR{operstate}=="down"
    ATTR{proto_down}=="0"
    ATTR{tx_queue_len}=="1000"
    ATTR{type}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:09.0':
    KERNELS=="0000:00:09.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="8139cp"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x020000"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{d3cold_allowed}=="0"
    ATTRS{device}=="0x8139"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="10"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{local_cpus}=="ff"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{subsystem_device}=="0x1100"
    ATTRS{subsystem_vendor}=="0x1af4"
    ATTRS{vendor}=="0x10ec"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

root@debtxt00:~# udevadm info -a -p /sys/class/net/ens9

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:08.0/net/ens9':
    KERNEL=="ens9"
    SUBSYSTEM=="net"
    DRIVER==""
    ATTR{addr_assign_type}=="0"
    ATTR{addr_len}=="6"
    ATTR{address}=="52:54:00:28:93:86"
    ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"
    ATTR{carrier_changes}=="0"
    ATTR{dev_id}=="0x0"
    ATTR{dev_port}=="0"
    ATTR{flags}=="0x1002"
    ATTR{gro_flush_timeout}=="0"
    ATTR{ifalias}==""
    ATTR{ifindex}=="2"
    ATTR{iflink}=="2"
    ATTR{link_mode}=="0"
    ATTR{mtu}=="1500"
    ATTR{name_assign_type}=="4"
    ATTR{netdev_group}=="0"
    ATTR{operstate}=="down"
    ATTR{proto_down}=="0"
    ATTR{tx_queue_len}=="1000"
    ATTR{type}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:08.0':
    KERNELS=="0000:00:08.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="8139cp"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x020000"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{d3cold_allowed}=="0"
    ATTRS{device}=="0x8139"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="11"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{local_cpus}=="ff"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{subsystem_device}=="0x1100"
    ATTRS{subsystem_vendor}=="0x1af4"
    ATTRS{vendor}=="0x10ec"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

root@debtxt00:~# 

Extrait de dmesg :

[  317.864042] 8139cp 0000:00:09.0 ens9: renamed from eth1
[  317.899243] 8139cp 0000:00:08.0 ens8: renamed from eth0
[  318.020768] ata1.01: NODEV after polling detection
[  318.021469] ata1.00: ATAPI: QEMU DVD-ROM, 2.1.2, max UDMA/100
[  318.022514] ata1.00: configured for MWDMA2
[  318.024634] scsi 0:0:0:0: CD-ROM            QEMU     QEMU DVD-ROM     2.1. PQ: 0 ANSI: 5
[  318.048874] sr 0:0:0:0: [sr0] scsi3-mmc drive: 4x/4x cd/rw xa/form2 tray
[  318.048878] cdrom: Uniform CD-ROM driver Revision: 3.20
[  318.049517] sr 0:0:0:0: Attached scsi CD-ROM sr0
[  318.055150] usb 1-1: new high-speed USB device number 2 using ehci-pci
[  318.186883] PM: Starting manual resume from disk
[  318.186891] PM: Hibernation image partition 254:2 present
[  318.186892] PM: Looking for hibernation image.
[  318.187360] PM: Image not found (code -22)
[  318.187362] PM: Hibernation image not present or could not be loaded.
[  318.223450] usb 1-1: New USB device found, idVendor=0627, idProduct=0001
[  318.223458] usb 1-1: New USB device strings: Mfr=1, Product=3, SerialNumber=5
[  318.223462] usb 1-1: Product: QEMU USB Tablet
[  318.223466] usb 1-1: Manufacturer: QEMU
[  318.223470] usb 1-1: SerialNumber: 42
[  318.233597] hidraw: raw HID events driver (C) Jiri Kosina
[  318.242790] usbcore: registered new interface driver usbhid
[  318.242794] usbhid: USB HID core driver
[  318.247843] input: QEMU QEMU USB Tablet as /devices/pci0000:00/0000:00:04.7/usb1/1-1/1-1:1.0/0003:0627:0001.0001/input/input4
[  318.248268] hid-generic 0003:0627:0001.0001: input,hidraw0: USB HID v0.01 Pointer [QEMU QEMU USB Tablet] on usb-0000:00:04.7-1/input0
[  318.320265] EXT4-fs (vda1): mounted filesystem with ordered data mode. Opts: (null)
[  318.370930] random: fast init done
[  318.414248] ip_tables: (C) 2000-2006 Netfilter Core Team
[  318.423473] systemd[1]: systemd 232 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN)
[  318.423517] systemd[1]: Detected virtualization qemu.
[  318.423522] systemd[1]: Detected architecture x86-64.
[  318.423646] systemd[1]: Set hostname to <debtxt00>.
[  318.428371] tsc: Refined TSC clocksource calibration: 1995.455 MHz
[  318.428397] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x3986d1b8ac3, max_idle_ns: 881590518883 ns
[  318.460117] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
[  318.460308] systemd[1]: Created slice System Slice.
[  318.460874] systemd[1]: Mounting POSIX Message Queue File System...
[  318.461839] systemd[1]: Mounting Debug File System...
[  318.461954] systemd[1]: Listening on Syslog Socket.
[  318.462240] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[  318.474212] EXT4-fs (vda1): re-mounted. Opts: errors=remount-ro
[  318.529210] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input5
[  318.529216] ACPI: Power Button [PWRF]
[  318.542685] [drm] Initialized
[  318.543255] systemd-journald[256]: Received request to flush runtime journal from PID 1
[  318.549565] input: PC Speaker as /devices/platform/pcspkr/input/input6
[  318.549862] 8139cp 0000:00:08.0 rename2: renamed from ens8
[  318.571227] Adding 4080636k swap on /dev/vda2.  Priority:-1 extents:1 across:4080636k FS
[  318.589669] 8139cp 0000:00:09.0 ens8: renamed from ens9
[  318.637409] 8139cp 0000:00:08.0 ens9: renamed from rename2

Tandis qu’en utilisant eth* dans la règle udev
et après avoir redémarré avec la règle udev utilisant eth*
ça ne fonctionne pas sur ma machine virtuelle

root@debtxt00:~# cat /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:bb:a0:72", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*" NAME="ens8"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:28:93:86", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*" NAME="ens9"
root@debtxt00:~# udevadm info -a -p /sys/class/net/ens8

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:08.0/net/ens8':
    KERNEL=="ens8"
    SUBSYSTEM=="net"
    DRIVER==""
    ATTR{addr_assign_type}=="0"
    ATTR{addr_len}=="6"
    ATTR{address}=="52:54:00:28:93:86"
    ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"
    ATTR{carrier_changes}=="0"
    ATTR{dev_id}=="0x0"
    ATTR{dev_port}=="0"
    ATTR{flags}=="0x1002"
    ATTR{gro_flush_timeout}=="0"
    ATTR{ifalias}==""
    ATTR{ifindex}=="3"
    ATTR{iflink}=="3"
    ATTR{link_mode}=="0"
    ATTR{mtu}=="1500"
    ATTR{name_assign_type}=="4"
    ATTR{netdev_group}=="0"
    ATTR{operstate}=="down"
    ATTR{proto_down}=="0"
    ATTR{tx_queue_len}=="1000"
    ATTR{type}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:08.0':
    KERNELS=="0000:00:08.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="8139cp"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x020000"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{d3cold_allowed}=="0"
    ATTRS{device}=="0x8139"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="11"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{local_cpus}=="ff"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{subsystem_device}=="0x1100"
    ATTRS{subsystem_vendor}=="0x1af4"
    ATTRS{vendor}=="0x10ec"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

root@debtxt00:~# udevadm info -a -p /sys/class/net/ens9

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:09.0/net/ens9':
    KERNEL=="ens9"
    SUBSYSTEM=="net"
    DRIVER==""
    ATTR{addr_assign_type}=="0"
    ATTR{addr_len}=="6"
    ATTR{address}=="52:54:00:bb:a0:72"
    ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"
    ATTR{carrier_changes}=="0"
    ATTR{dev_id}=="0x0"
    ATTR{dev_port}=="0"
    ATTR{flags}=="0x1002"
    ATTR{gro_flush_timeout}=="0"
    ATTR{ifalias}==""
    ATTR{ifindex}=="4"
    ATTR{iflink}=="4"
    ATTR{link_mode}=="0"
    ATTR{mtu}=="1500"
    ATTR{name_assign_type}=="4"
    ATTR{netdev_group}=="0"
    ATTR{operstate}=="down"
    ATTR{proto_down}=="0"
    ATTR{tx_queue_len}=="1000"
    ATTR{type}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:09.0':
    KERNELS=="0000:00:09.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="8139cp"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x020000"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{d3cold_allowed}=="0"
    ATTRS{device}=="0x8139"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="10"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{local_cpus}=="ff"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{subsystem_device}=="0x1100"
    ATTRS{subsystem_vendor}=="0x1af4"
    ATTRS{vendor}=="0x10ec"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

root@debtxt00:~# 

C’est pas du tout un “cirage de pompes” mais, sincèrement, j’apprécie énormément la qualité de tes messages, et à côté, je me sens tout petit.

Je n’ai pas été assez précis. En fait ce que j’aurais voulu voir, c’est le résultat sur la sortie de udevadm monitor. J’observe cependant que ta procédure a changé : initialement tu faisais apparaître l’interface ethernet lorsque le système avait déjà démarré (note : inutile de passer par l’ajout à chaud d’une carte ethernet dans la VM, il suffit de décharger et recharger le module pilote, dans ton cas 8139cp), et maintenant tu fais un démarrage avec les interfaces déjà présentes. La différence, c’est le passage par l’initramfs.

A ce titre, l’extrait des logs du noyau est instructif :

[  317.864042] 8139cp 0000:00:09.0 ens9: renamed from eth1
[  317.899243] 8139cp 0000:00:08.0 ens8: renamed from eth0

Ce renommage a lieu manifestement dans l’initramfs puisqu’il se produit avant la détection des disques, la recherche d’une image d’hibernation et finalement le montage de la racine /dev/vda1, toutes opérations réalisées par l’initramfs. En effet l’initramfs inclut aussi les pilotes ethernet (pour pouvoir monter une racine par le réseau type NFS je suppose) et udev.

Mais si tu n’as pas reconstruit l’initramfs avec update-initramfs -u après avoir créé ton fichier de règles udev, alors ce dernier n’est pas inclus dans l’initramfs et ce sont les règles de nommage par défaut qui s’appliquent.

Plus tard, et c’est ce qui m’étonne un peu, il semble que l’udev de la racine à son tour applique tes règles et renomme à nouveau les interfaces.

[  318.549862] 8139cp 0000:00:08.0 rename2: renamed from ens8
[  318.589669] 8139cp 0000:00:09.0 ens8: renamed from ens9
[  318.637409] 8139cp 0000:00:08.0 ens9: renamed from rename2

Forcément à ce stade tes règles fonctionnent et les règles avec “eth*” ne fonctionnent pas puisque les interfaces ont déjà été renommées en ens* par l’initramfs. Ceci dit, si on veut être tranquille dans tous les cas, il devrait suffire de spécifier KERNEL="e*".

Au passage on peut voir l’utilisation d’un nom temporaire “rename2” car les noms fixés par les règles sont en conflit avec les noms actuels. C’est le genre de chose qu’il vaut mieux éviter (j’ai vu assez souvent des interfaces rester avec ce nom renameX), c’est pourquoi je déconseillais de fixer des noms dans le même espace de nommage. Après tout ont peut chosir n’importe quels noms.

Il ne faut pas exagérer. Je connais quelques trucs, mais il y a des domaines où tu en sais bien plus que moi. Udev, par exemple, n’est pas vraiment mon domaine de prédilection.

Je suis tout-à fait d’accord avec ça.
tant qu’à donner des noms à ces interfaces, autant qu’ils n’induisent pas en erreur.

Et tant qu’à faire, puisqu’il est possible de nommer les périphériques réseau en fonction de leur adresse MAC
il pourrait être intéressant de leur donner un nom en fonction de leur emplacement physique sur la (si elle a deux ports) ou les cartes réseau, histoire de repérer à quel connecteur RJ45 (ou autre) ça correspond.

En attendant, pour la machine de jb12
comme je ne sais pas encore quel fichier de configuration réseau utilise les références enp7s0 et enp8s0
j’avais simplement réutilisé ces noms juste pour que ça fonctionne tant bien que mal …nommé.


Toujours avec la même machine virtuelle,
sans avoir reconstruit l’initramfs avec update-initramfs -u
avec les mêmes règles udev mais utilisant KERNEL=="e*"

michel@debtxt00:~$ cat /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:bb:a0:72", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="e*" NAME="ens8"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:28:93:86", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="e*" NAME="ens9"
michel@debtxt00:~$ 

La machine a été démarrée avec les 2 interfaces réseau connectées,
puis, en ayant d’abord lancé la commande udevadm monitor dans une fenêtre de terminal
j’ai ouvert une deuxième fenêtre de terminal
pour décharger et recharger le pilote 8139cp avec :

root@debtxt00:~# rmmod 8139cp
root@debtxt00:~# modprobe -a 8139cp
michel@debtxt00:~$ udevadm monitor 
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[102.664677] remove   /devices/pci0000:00/0000:00:09.0/net/ens8/queues/rx-0 (queues)
KERNEL[102.664784] remove   /devices/pci0000:00/0000:00:09.0/net/ens8/queues/tx-0 (queues)
KERNEL[102.664846] remove   /devices/pci0000:00/0000:00:09.0/net/ens8 (net)
UDEV  [102.666372] remove   /devices/pci0000:00/0000:00:09.0/net/ens8/queues/rx-0 (queues)
UDEV  [102.667141] remove   /devices/pci0000:00/0000:00:09.0/net/ens8/queues/tx-0 (queues)
UDEV  [102.672469] remove   /devices/pci0000:00/0000:00:09.0/net/ens8 (net)
KERNEL[102.748439] remove   /devices/pci0000:00/0000:00:08.0/net/ens9/queues/rx-0 (queues)
KERNEL[102.748499] remove   /devices/pci0000:00/0000:00:08.0/net/ens9/queues/tx-0 (queues)
KERNEL[102.748534] remove   /devices/pci0000:00/0000:00:08.0/net/ens9 (net)
UDEV  [102.749307] remove   /devices/pci0000:00/0000:00:08.0/net/ens9/queues/rx-0 (queues)
UDEV  [102.749592] remove   /devices/pci0000:00/0000:00:08.0/net/ens9/queues/tx-0 (queues)
UDEV  [102.751975] remove   /devices/pci0000:00/0000:00:08.0/net/rename2 (net)
KERNEL[102.824152] remove   /bus/pci/drivers/8139cp (drivers)
KERNEL[102.824330] remove   /module/8139cp (module)
UDEV  [102.824894] remove   /bus/pci/drivers/8139cp (drivers)
UDEV  [102.825150] remove   /module/8139cp (module)
KERNEL[190.805787] add      /module/8139cp (module)
UDEV  [190.807948] add      /module/8139cp (module)
KERNEL[190.872674] add      /devices/pci0000:00/0000:00:08.0/net/eth0 (net)
KERNEL[190.872719] add      /devices/pci0000:00/0000:00:08.0/net/eth0/queues/rx-0 (queues)
KERNEL[190.872739] add      /devices/pci0000:00/0000:00:08.0/net/eth0/queues/tx-0 (queues)
KERNEL[190.879169] move     /devices/pci0000:00/0000:00:08.0/net/ens9 (net)
KERNEL[190.940738] add      /devices/pci0000:00/0000:00:09.0/net/eth0 (net)
KERNEL[190.940778] add      /devices/pci0000:00/0000:00:09.0/net/eth0/queues/rx-0 (queues)
KERNEL[190.940793] add      /devices/pci0000:00/0000:00:09.0/net/eth0/queues/tx-0 (queues)
KERNEL[190.944977] add      /bus/pci/drivers/8139cp (drivers)
UDEV  [190.945958] add      /bus/pci/drivers/8139cp (drivers)
KERNEL[190.947959] move     /devices/pci0000:00/0000:00:09.0/net/ens8 (net)
UDEV  [190.955173] add      /devices/pci0000:00/0000:00:08.0/net/ens9 (net)
UDEV  [190.956213] add      /devices/pci0000:00/0000:00:08.0/net/eth0/queues/rx-0 (queues)
UDEV  [190.956271] add      /devices/pci0000:00/0000:00:08.0/net/eth0/queues/tx-0 (queues)
UDEV  [191.017368] move     /devices/pci0000:00/0000:00:08.0/net/ens9 (net)
UDEV  [191.025937] add      /devices/pci0000:00/0000:00:09.0/net/ens8 (net)
UDEV  [191.026404] add      /devices/pci0000:00/0000:00:09.0/net/eth0/queues/rx-0 (queues)
UDEV  [191.026431] add      /devices/pci0000:00/0000:00:09.0/net/eth0/queues/tx-0 (queues)
UDEV  [191.029210] move     /devices/pci0000:00/0000:00:09.0/net/ens8 (net)
^Cmichel@debtxt00:~$ 
michel@debtxt00:~$ 
root@debtxt00:~# tail -f /var/log/messages
Mar  4 13:28:24 debtxt00 kernel: [   92.983959] qxl 0000:00:02.0: fb0: qxldrmfb frame buffer device
Mar  4 13:28:24 debtxt00 kernel: [   93.005894] [drm] Initialized qxl 0.1.0 20120117 for 0000:00:02.0 on minor 0
Mar  4 13:28:24 debtxt00 kernel: [   93.334855] IPv6: ADDRCONF(NETDEV_UP): ens3: link is not ready
Mar  4 13:28:24 debtxt00 kernel: [   93.341917] IPv6: ADDRCONF(NETDEV_CHANGE): ens3: link becomes ready
Mar  4 13:30:29 debtxt00 kernel: [  217.886784] random: crng init done
Mar  4 13:31:32 debtxt00 kernel: [  281.495477] 8139cp: 8139cp: 10/100 PCI Ethernet driver v1.3 (Mar 22, 2004)
Mar  4 13:31:32 debtxt00 kernel: [  281.562470] 8139cp 0000:00:08.0 eth0: RTL-8139C+ at 0xffffb92c418b1000, 52:54:00:28:93:86, IRQ 11
Mar  4 13:31:32 debtxt00 kernel: [  281.568758] 8139cp 0000:00:08.0 ens9: renamed from eth0
Mar  4 13:31:32 debtxt00 kernel: [  281.630474] 8139cp 0000:00:09.0 eth0: RTL-8139C+ at 0xffffb92c418b9000, 52:54:00:bb:a0:72, IRQ 10
Mar  4 13:31:33 debtxt00 kernel: [  281.637603] 8139cp 0000:00:09.0 ens8: renamed from eth0

bonjour,
une trace de route:

root@alpha30:~# route -n
Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 enp7s0
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 enp7s0
0.0.0.0         192.168.1.1     0.0.0.0         UG    101    0        0 enp8s0
10.0.0.0        0.0.0.0         255.255.255.0   U     101    0        0 enp8s0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 enp7s0
192.168.1.1     0.0.0.0         255.255.255.255 UH    101    0        0 enp8s0
root@alpha30:~# 

mon fichier interfaces ne sert vraiment plus à rien
ma pollution samba, sous réserve, viendrait peut-être de cela

la MAJ des antivirus W10 ne se fait plus
les adresses fixes ne se routent plus,
j’ai une passerelle sans clients

la méthodologie est à revoir,
si cela continu je vais devoir mettre sous le coude cette version
JB

Attention, un “traceroute”, c’est autre chose. Là, c’est la table de routage. La commande ip route l’afficherait d’une façon plus complète et lisible.
En tout cas, le contenu de cette table de routage est aberrant. On voit notamment les mêmes routes sur des interfaces différentes, voire plusieurs fois sur la même interface.

Concernant ton fichier /etc/network/interfaces, tu ne nous l’as jamais montré pour qu’on puisse juger.

bonjour,

root@alpha30:~# ip route
default via 192.168.1.1 dev enp7s0 
default via 192.168.1.1 dev enp7s0 proto static metric 100 
default via 192.168.1.1 dev enp8s0 proto static metric 101 
10.0.0.0/24 dev enp8s0 proto kernel scope link src 10.0.0.30 metric 101 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
192.168.1.0/24 dev enp7s0 proto kernel scope link src 192.168.1.30 metric 100 
192.168.1.1 dev enp8s0 proto static scope link metric 101 
root@alpha30:~# 
root@alpha30:~# pg /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

iface enp0s7 inet auto
 address 192.168.1.30
 netmask 255.255.255.0
 gateway 192.168.1.1
 #dns-domain example.com
 dns-nameservers 193.252.19.3

iface enp0s8 inet auto
 address 10.0.0.30
 netmask 255.255.255.0
# gateway 192.168.1.1
 #dns-domain example.com
# dns-nameservers 193.252.19.3

root@alpha30:~# 

sous réserve,
le pb est apparu quand je suis passé à testing
bonne lecture