65 votes

Modification du nom des interfaces réseau Ubuntu 16.04

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

Alors, j'ai essayé d'utiliser /lib/udev/write_net_rules mais il 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 flexibles et l'authentification doit être en eth0 nom de l'interface.

Une suggestion ?

La commande ip link retours :

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)

J'ai déjà essayé certains liens :

81voto

Il existe de nombreuses informations trompeuses sur la façon de modifier les noms de réseau dans les versions récentes d'Ubuntu. Certaines informations renvoient à systemd.link, ce qui est tout simplement faux car Ubuntu (à partir de la version 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 : Premièrement, le fichier /etc/udev/rules.d/70-persistent-net.rules doit maintenant être créé manuellement. Cela a l'avantage que vous n'avez pas à vous soucier d'un script écrasant ce fichier et que vous pouvez 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 coûté beaucoup de temps pour le comprendre - le format a légèrement changé par rapport à Ubuntu 14.04 LTS :

La ligne pour fixer le nom de l'interface de la NIC avec l'adresse MAC "02:01:02:03:04:05" à "eth0" est maintenant :

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

Cette ligne est presque identique à celle d'Ubuntu 14.04 LTS avec une légère différence : Dans Ubuntu 14.04, il y avait 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, la ligne entière est ignorée et vous revenez au comportement par défaut (tel que spécifié dans le fichier 80-net-setup-link.rules ).

76voto

floorripper Points 761

Sur Ubuntu 16.04.1 LTS, Linux plaptop 4.4.0-31-genericx86_64 MATE. étape 1 de la réponse de @Geancarlo Abich 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)

12voto

Ubuntu-16.04-server-amd64

Sur /etc/default/grub le changement

GRUB_CMDLINE_LINUX=""

à

GRUB_CMDLINE_LINUX="net.ifnames=0"

Ensuite, tapez :

sudo update-grub

et redémarrez votre système

sudo reboot

10voto

Geancarlo Abich Points 881

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

Étape 1 : Désactiver les noms hérités par défaut du Firmware.

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

GRUB_CMDLINE_LINUX=""

à

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

et, enfin, exécuter en tant que root :

$ sudo update-grub

et redémarrez votre système.

$ sudo reboot

Étape 2 : Créer le fichier persistant /etc/udev/rules.d/70-persistent-net.rules pour les enraciner et les remplir.

$ 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 de l'interface 'X' comme vous le souhaitez).

Enregistrez les modifications et redémarrez.

$ sudo reboot

Cela fonctionne pour moi.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X