
Ich bin auf ein Softwarelizenzproblem gestoßen, bei dem in RHEL 7.x, das jetzt verwendet wird einheitliche Benennung von Netzwerkgerätenund/oderBIOS-Devnameund/odervorhersagbare Netzwerkschnittstellennamen. Die Software funktionierte nicht, da der Netzwerkschnittstellenname etwa so lautete:enp0s31f6, es will seheneth.
also lautet mein Netzwerkname für einen Netzwerkport auf der Hauptplatineenp0s31f6
/etc/default/grub
Ich kann jedoch ändern GRUB_CMDLINE_LINUX="rhgb verbose ifnames=0 biosdevname=0"
, dass das Endziel nicht erreicht wird, nachdem ich ein grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
und ein getan habe reboot
, sehe ich immer nochenp0s31f6.
Erst wenn ein doing nmcli connection modify enp0s31f6 connection.interface-name eth0
gefolgt von einem reboot
do erscheint, sehe ich nur noch eth0
using ifconfig
und alles funktioniert.
Gibt es eine bessere und/oder einfachere Möglichkeit,ethist der Name der Netzwerkschnittstellen? Bedenken Sie, dass es einfach ist, wenn es nur eine ist, also eth0, aber wenn Sie eine Quad-NIC-Karte haben, möchte ich einfach eth0..eth3 wie in den guten alten Zeiten.
Ich dachte,eth0Undeth1Undeth2Undeth3war ziemlich guteinheitliche Gerätenetzwerkbenennung. Jetzt bekomme ichenpdas undxyzdas für Schnittstellennamen :(
Antwort1
Ich habe udev vor ein paar Tagen ausprobiert und nicht viel herausgefunden. Eines hat am Ende allerdings funktioniert:
/usr/lib/udev/rules.d/80-net-setup-link.ruleXXX
Ich habe die Datei „umbenannt“ und jetzt habe ich eth0
.
Zum Neustarten von udev verwendete ich glaube ich udeavadm control -e.
Auch das Anhalten ist ganz einfach:
Beachten Sie, dass systemd-udevd.service Restart=always enthält und diese Option daher systemd-udevd neu startet. Wenn Sie systemd-udevd.service stoppen möchten, verwenden Sie bitte Folgendes: systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service
Ich war so verzweifelt, dass ich das eingefügt habe – es funktioniert! Dann habe ich die Datei 80-net-link gefunden ...
"# Bearbeiten Sie diese Datei nicht, sie wird beim Update überschrieben."
(Ich weiß. Ich werde es noch einmal umbenennen)
Es beinhaltet:
NAME=="", ENV{ID_NET_NAME}!="", NAME="$env{ID_NET_NAME}"
Also habe ich es .rules
durch ersetzt .ruleXXX
und habe wieder „eth0“.