Ändern des Namens der Netzwerkschnittstellen Ubuntu 16.04

Ändern des Namens der Netzwerkschnittstellen Ubuntu 16.04

Ich habe versucht, den Namen der Netzwerkschnittstellen in dieser neuen Ubuntu 16.04 LTS-Version zu ändern, aber es fehlt der Name /etc/udev/rules.d/70-persistent-net.rules.

Also habe ich versucht, es zu verwenden, /lib/udev/write_net_rulesaber es existiert nicht.

Warum brauche ich diese Änderung? Weil ich ein Tool zum Simulieren virtueller Plattformen verwende, die eine flexible Lizenzierung verwenden und die Authentifizierung im eth0Schnittstellennamen enthalten sein muss.

Irgendein Vorschlag?

Der Befehl ip linkgibt Folgendes zurück:

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  

(Einige Informationen wurden ignoriert und unterdrückt)

Ich habe bereits einige Links ausprobiert:

Antwort1

In neueren Ubuntu-Versionen gibt es viele irreführende Informationen zum Ändern von Netzwerknamen. Einige Informationen verweisen auf systemd.link, was einfach falsch ist, da Ubuntu (ab 16.04) diesen Teil von systemd nicht verwendet.

Tatsächlich funktioniert das Ändern des Schnittstellennamens fast wie früher, mit zwei kleinen Unterschieden: Erstens /etc/udev/rules.d/70-persistent-net.rulesmuss die Datei jetzt manuell erstellt werden. Das hat den Vorteil, dass Sie sich keine Sorgen machen müssen, dass ein Skript diese Datei überschreibt, und einfach die Zeilen hinzufügen können, die Sie benötigen (Sie brauchen auch keine Kommentare). Zweitens – und das ist die Änderung, die mich viel Zeit gekostet hat, sie herauszufinden – hat sich das Format im Vergleich zu Ubuntu 14.04 LTS leicht geändert:

Die Zeile zum Korrigieren des Schnittstellennamens der Netzwerkkarte mit der MAC-Adresse „02:01:02:03:04:05“ auf „eth0“ lautet nun:

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

Diese Zeile sieht fast genauso aus wie in Ubuntu 14.04 LTS, mit einem kleinen Unterschied: In Ubuntu 14.04 gab es die zusätzliche Bedingung KERNEL=="eth*". Aus irgendeinem Grund funktioniert dies in Ubuntu 16.04 LTS nicht. Wenn diese zusätzliche Bedingung vorhanden ist, wird die gesamte Zeile ignoriert und Sie kehren zum Standardverhalten zurück (wie in angegeben 80-net-setup-link.rules).

Antwort2

Unter Ubuntu 16.04.1 LTS, Linux plaptop 4.4.0-31-genericx86_64 MATE. Schritt eins der Antwort von @Geancarlo Abich und es hat funktioniert. Ubuntu erstellt direkt nach dem Neustart einen neuen Namen:

Bearbeiten Sie Ihre /etc/default/grub und ändern Sie die Zeile von

GRUB_CMDLINE_LINUX=""

Zu

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

und schlussendlich:

$ sudo update-grub

und starten Sie Ihr System neu:

$ 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)

Antwort3

Ubuntu-16.04-Server-AMD64

In /etc/default/grubändern

GRUB_CMDLINE_LINUX=""

Zu

GRUB_CMDLINE_LINUX="net.ifnames=0"

Geben Sie dann Folgendes ein:

sudo update-grub

und starten Sie Ihr System neu

sudo reboot

Antwort4

Ich habe versucht, einige Vorschläge zu mischen, und habe die Lösung gefunden!

Schritt 1: Deaktivieren Sie die standardmäßig von der Firmware übernommenen Namen.

Bearbeiten Sie die /etc/default/grubÄnderung der Zeile von

GRUB_CMDLINE_LINUX=""

Zu

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

und führen Sie abschließend als Root aus:

$ sudo update-grub

und starten Sie Ihr System neu.

$ sudo reboot

Schritt 2: Erstellen Sie die persistenten Dateien /etc/udev/rules.d/70-persistent-net.rulesals Root und füllen Sie sie.

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

Beispiel:

# 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"

(Verwenden Sie die MAC-Adresse der Schnittstelle, um auf die Schnittstelle zu verweisen, die Sie umbenennen möchten, und ändern Sie die Werte des Schnittstellennamens „X“ nach Wunsch.)

Änderungen speichern und neu starten.

$ sudo reboot

Das funktioniert bei mir.

verwandte Informationen