+new interface renommage classique

This commit is contained in:
kyodev 2017-06-23 13:12:30 +02:00
parent 086c80c30a
commit 0a3bb065a6
2 changed files with 167 additions and 1 deletions

View File

@ -0,0 +1,165 @@
s'applique à Debian > 8, donc **Stretch**
# interfaces réseau nommage classique
retour au schéma classique de nommage
## introduction rapide
Depuis la version 197 systemd/udev a introduit un nouveau schéma de nommage: _Predictable Network Interface Names_
sensé stabiliser le nommage des interfaces réseau. Il fait disparaître les classiques noms ("eth0", "wlan0", ...).
Il sappuie sur le nommage du noyau pour lui appliquer des règles, qui par défaut se trouvent dans
`/lib/systemd/network/99-default.link`, avec notamment la règle `NamePolicy=kernel database onboard slot path`.
Le nom du noyau (issu de devfs du kernel, wlan0 par exemple) sera remplacé par un index du firmware(ID_NET_NAME_ONBOARD)
ou un numéro de slot (ID_NET_NAME_SLOT), ou en cas de soucis (falls back):
* un nom d'une base(ID_NET_NAME_FROM_DATABASE)
* le nom issu de la localisation physique (ID_NET_NAME_PATH)
Ce nommage ne fonctionne pas toujours bien pour les périphériques USB, lent à s'initialiser(*****).
Dans ce cas, il est utilisé un nommage basé sur l'adresse MAC (ID_NET_NAME_MAC) (voir
`/lib/udev/rules.d/73-usb-net-by-mac.rules`), avec pour résultat un `wlx94103ef6120a` comme nom d'interface.
(*****)La lenteur d'initialisation est une idée personnelle de l'auteur, dû à quelques constats.
Ce nommage basé sur MAC, n'est pas prise en charge, pour une raison pas encore investigée, par
NeworkManager (NM) et Wicd, alors que NM est censé jouer avec l'adresse MAC pour faciliter le spoofing_ (version 1.4 et +).
Jessie est censée avoir un jeu de règles pour prévenir cela (`/lib/udev/rules.d/75-persistent-net-generator.rules`)
ce qui pouvait aussi poser problème avec un résultat comme _rename1_ par exemple. Cette règle est abandonnée dans Stretch
Debian annonce que ce vieux schéma est déprécié dans Stretch et plus du tout supporté dans Buster
(je n'ai pas compris qu'elle était la portée réelle de cet avertissement).
Pour obtenir un résultat rapidement, il peut donc être utile de revenir à l'ancien nommage pour
ces adaptateurs wifi USB, et de désactiver ces nouveaux noms persistants.
## renommage via désactivation règle Udev
```shell
su # ou sudo su pour passer en root
```
on efface un éventuel fichier de règles personnalisé
```shell
rm /etc/systemd/network/99-default.link
```
un éventuel message d'erreur comme ci-dessous est normal s'il n'y avait pas de règles personnalisées
````shell
rm: impossible de supprimer « /etc/systemd/network/99-default.link »: Aucun fichier ou dossier de ce type
````
on désactive les règles de nommage des interfaces réseaux
```shell
mv /lib/systemd/network/99-default.link /lib/systemd/network/99-default.link.bak
ln -s /dev/null /lib/systemd/network/99-default.link
```
puis
```shell
reboot
```
### attention
ça ne fonctionne que pour les interfaces wlan, mais pas les ethernet qui sont dans le devfs du noyau.
cela répond à la problématique des adaptateurs wifi usb.
pour les traditionalistes qui voudrait éviter le renommage de toutes les interfaces, il faut reconstruire le initrd.
ceci en cas d'adressage fixe sur ethernet simultané(?!), il vaut mieux le faire.
```shell
update-initramfs -u
reboot
```
pour vérifier après reboot:
```shell
ip address
```
## renommage _traditionnel_ via Grub
```shell
su # ou sudo su pour passer en root
```
on lance avec son éditeur préféré geany kate pluma gedit (plus confortable) ou nano emacs vi...
```shell
geany /etc/default/grub
```
**ajouter** les paramètres `net.ifnames=0 biosdevname=0` dans une ligne de commande du kernel, en commentant la ligne existante et en la dupliquant, par **exemple**:
```shell
#GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX_DEFAULT="quiet net.ifnames=0 biosdevname=0"
```
enregistrer
quitter
puis
```shell
update-grub
```
puis
```shell
reboot
```
pour vérifier après reboot:
```shell
ip address
```
## retour à la normale, règle Udev
```shell
su # ou sudo su pour passer en root
```
on enlève le lien, et on on remet la règle en place
```shell
unlink /lib/systemd/network/99-default.link
mv /lib/systemd/network/99-default.link.bak /lib/systemd/network/99-default.link
```
puis
```shell
reboot
```
**ou** éventuellement, selon la procédure suivie
```shell
update-initramfs -u
reboot
```
## retour à la normale, Grub
```shell
su # ou sudo su pour passer en root
```
on lance avec son éditeur préféré geany kate pluma gedit (plus confortable) ou nano emacs vi...
```shell
geany /etc/default/grub
```
supprimer la ligne `GRUB_CMDLINE_LINUX_DEFAULT="quiet net.ifnames=0 biosdevname=0"` (exemple)
dé-commenter la ligne originale:
```shell
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
```
enregistrer
quitter
puis
```shell
update-grub
```
puis
```shell
reboot
```

View File

@ -39,9 +39,10 @@ pages:
- TermRecord: softs/termrecord.md
- liens: softs/liens.md
- trucs:
- iso sur clé usb: trucs/iso-sur-usb.md
- interfaces nommage classique: trucs/interfaces-nommage-classique.md
- irc usage: trucs/irc-usage.md
- irc admin: trucs/irc-admin.md
- iso sur clé usb: trucs/iso-sur-usb.md
- kernel nomodeset: trucs/kernel-nomodeset.md
- kernel boot options: trucs/kernel-boot-options.md
- kernel parameters: trucs/kernel-parameters.md