web-dev-qa-db-fra.com

Changer les interfaces réseau nomme Ubuntu 16.04

J'ai essayé de changer le nom des interfaces réseau sur cette nouvelle version Ubuntu 16.04 LTS mais je n'ai pas le fichier /etc/udev/rules.d/70-persistent-net.rules.

Donc, j'ai essayé d'utiliser/lib/udev/write_net_rules mais ça n'existe pas.

Pourquoi ai-je besoin de cette modification?
Parce que j'utilise un outil pour simuler des plates-formes virtuelles qui utilisent des licences flex et que l'authentification doit être en nom d'interface eth0.

Toute suggestion?

Le lien ip de la commande retourne

user@laptop:~$ ip link 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp6s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
link/ether b8:2a:xx:yy:xx:yy brd ff:ff:ff:ff:ff:ff
3: wlp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether 5c:e0:xx:yy:xx:yy brd ff:ff:ff:ff:ff:ff

user@laptop:~$ ifconfig 
enp6s0    Link encap:Ethernet  HWaddr b8:2a:xx:yy:xx:yy  
lo        Link encap:Local Loopback  
wlp7s0    Link encap:Ethernet  HWaddr 5c:e0:xx:yy:xx:yy  

(Certaines informations ont été ignorées et supprimées XD) J'ai déjà essayé quelques liens:

Le nom de l'interface réseau change après la mise à jour vers 15.10 - udev changeComment renommer une interface Ethernet?

Merci pour l'aide.

53
Geancarlo Abich

Il y a beaucoup d'informations trompeuses sur la façon de changer les noms de réseau dans les versions récentes d'Ubuntu. Certaines informations pointent vers systemd.link, ce qui est tout simplement faux car Ubuntu (à partir de 16.04) n'utilise pas cette partie de systemd.

En fait, le changement de nom d'interface fonctionne presque comme avant, à deux petites différences près: le fichier /etc/udev/rules.d/70-persistent-net.rules doit maintenant être créé manuellement. Cela présente l'avantage que vous n'avez pas à craindre qu'un script remplace ce fichier et que vous puissiez simplement ajouter les lignes dont vous avez besoin (vous n'avez pas besoin de commentaires non plus). Deuxièmement - et c'est le changement qui m'a pris beaucoup de temps à comprendre - le format a légèrement changé par rapport à Ubuntu 14.04 LTS:

La ligne permettant de définir le nom d'interface du NIC avec l'adresse MAC "02: 01: 02: 03: 04: 05" sur "eth0" est la suivante:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="02:01:02:03:04:05", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="eth0"

Cette ligne a presque la même apparence que dans Ubuntu 14.04 LTS avec une légère différence: dans Ubuntu 14.04, il existait la condition supplémentaire KERNEL=="eth*". Pour une raison quelconque, cela ne fonctionne pas dans Ubuntu 16.04 LTS. Si cette condition supplémentaire est présente, toute la ligne est ignorée et vous revenez au comportement par défaut (comme spécifié dans 80-net-setup-link.rules).

74

Sur Ubuntu 16.04.1 LTS, Linux plaptop 4.4.0-31-genericx86_64 MATE. la première étape de @Geancarlo Abich a répondu et cela a fonctionné. Ubuntu a créé un nouveau nom directement après le redémarrage:

Editez votre/etc/default/grub en changeant la ligne de

GRUB_CMDLINE_LINUX=""

à

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

et enfin:

$ Sudo update-grub

et redémarrez votre système:

$ Sudo reboot
msa@plaptop:~$ ifconfig 
eth0      Link encap:Ethernet  HWaddr 70:5a:0f:d7:03:38  
          inet addr:10.67.10.43  Bcast:10.67.10.255  Mask:255.255.255.0
          inet6 addr: fe80::8c03:edb5:a3d1:ba21/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:63129 errors:0 dropped:0 overruns:0 frame:0
          TX packets:37788 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:51115719 (51.1 MB)  TX bytes:5006758 (5.0 MB)
          Interrupt:16 Memory:f1200000-f1220000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:255 errors:0 dropped:0 overruns:0 frame:0
          TX packets:255 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:21076 (21.0 KB)  TX bytes:21076 (21.0 KB)

wlan0     Link encap:Ethernet  HWaddr 44:85:00:62:c6:e5  
          inet addr:10.67.14.106  Bcast:10.67.14.255  Mask:255.255.255.0
          inet6 addr: fe80::5844:f9dd:32ff:9b45/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:25 errors:0 dropped:0 overruns:0 frame:0
          TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5320 (5.3 KB)  TX bytes:14611 (14.6 KB)
65
floorripper

buntu-16.04-server-AMD64

Dans /etc/default/grub, changez

GRUB_CMDLINE_LINUX=""

à

GRUB_CMDLINE_LINUX="net.ifnames=0"

Ensuite, tapez:

Sudo update-grub

et redémarrez votre système

Sudo reboot

J'ai essayé de mélanger quelques suggestions et j'avais trouvé la solution!

Étape 1 : désactivez les noms hérités du micrologiciel par défaut.

Editez votre /etc/default/grub en changeant la ligne de

GRUB_CMDLINE_LINUX=""

à

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

et, enfin, lancer en tant que root:

$ Sudo update-grub

et redémarrez votre système.

$ Sudo reboot

Étape 2 : Créez le fichier persistant /etc/udev/rules.d/70-persistent-net.rules en tant que racine et remplissez-le.

$ Sudo gedit /etc/udev/rules.d/70-persistent-net.rules

Exemple:

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device lan Device
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:yy:XX:yy:XX:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="ethX"

# PCI device Wlan Device
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:yy:XX:yy:XX:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wlanX"

(Utilisez l'adresse MAC de l'interface pour faire référence à l'interface que vous souhaitez renommer et modifiez les valeurs du nom d'interface 'X' comme vous le souhaitez.)

Enregistrez les modifications et redémarrez.

$ Sudo reboot

Cela fonctionne pour moi.

8
Geancarlo Abich