Netzwerk-Interface Namen auf RHEL7 mit ifcfg
Ab RHEL7 (oder CentOS 7, ...) wird ein neues Schema verwendet wie Netzwerk-Interfaces benannt werden.
Wenn man das alte Verhalten wieder haben möchte mit ethX und den guten alten ifcfg Konfigurationsdateien (also ohne NetworkManager), dann ist die Dokumentation von RedHat nicht ganz konsistent.
Unter [2] wird z.B. der Befehl grubby verwendet. Dieser setzt aber den Parameter nur in der generierten Konfiguration in /boot/grub2/grub.cfg und nicht in /etc/default/grub (bzw. /etc/sysconfig/grub). Sobald man nun grub2-mkconfig -o /boot/grub2/grub.cfg ist die Änderung weg. Auch fehlt da noch der Parameter biosdevname=0
Auf [3] sieht es dann schon besser aus. Hier vermisse ich jedoch den Hinweis, dass nicht wie unter RHEL6 udev automatisch Regeln für Interface-Name und MAC-Adresse generiert und speichert (das was dann auf /etc/udev/rules.d/70-persistent-net.rules zu finden war). Das hat zur folge, dass mit mehreren Netzwerk-Karten die ethX zuordnung nicht immer gleich sein wird. Die Lösung zeigt [4] auf.
In der /etc/sysconfig/network-scripts/ifcfg-ethX (oder wie du das Interface immer nennen möchtest), musst du im Parameter HWADDR= die MAC-Adresse und unter DEVICE= den gewünschten Interface-Namen setzen. Die udev Regeln von
Wenn man das alte Verhalten wieder haben möchte mit ethX und den guten alten ifcfg Konfigurationsdateien (also ohne NetworkManager), dann ist die Dokumentation von RedHat nicht ganz konsistent.
Unter [2] wird z.B. der Befehl grubby verwendet. Dieser setzt aber den Parameter nur in der generierten Konfiguration in /boot/grub2/grub.cfg und nicht in /etc/default/grub (bzw. /etc/sysconfig/grub). Sobald man nun grub2-mkconfig -o /boot/grub2/grub.cfg ist die Änderung weg. Auch fehlt da noch der Parameter biosdevname=0
Auf [3] sieht es dann schon besser aus. Hier vermisse ich jedoch den Hinweis, dass nicht wie unter RHEL6 udev automatisch Regeln für Interface-Name und MAC-Adresse generiert und speichert (das was dann auf /etc/udev/rules.d/70-persistent-net.rules zu finden war). Das hat zur folge, dass mit mehreren Netzwerk-Karten die ethX zuordnung nicht immer gleich sein wird. Die Lösung zeigt [4] auf.
In der /etc/sysconfig/network-scripts/ifcfg-ethX (oder wie du das Interface immer nennen möchtest), musst du im Parameter HWADDR= die MAC-Adresse und unter DEVICE= den gewünschten Interface-Namen setzen. Die udev Regeln von
/usr/lib/udev/rules.d/60-net.rules werden sich dann um die Benennung kümmern.tl;dr:
- füge net.ifnames=0 biosdevname=0 dem Parameter GRUB_CMDLINE_LINUX in /etc/default/grub hinzu
- Generiere die Grub Konfiguration neu (Achtung: auf eigene Gefahr! Möglich, dass dein System dann nicht mehr bootet wenn irgendwo ein Fehler enthalten ist): grub2-mkconfig -o /boot/grub2/grub.cfg
- prüfe ob HWADDR und DEVICE und in den /etc/sysconfig/network-scripts/ifcfg-* Dateien gesetzt sind und setzte beide Parameter wenn sie fehlen.
- Reboot
Referenzen
- [1] Consistent network device naming (access.redhat.com)
- [2] Disable consistent network device naming (acccess.redhat.com)
- [3] How to use original ethX style NIC network interface device names in RHEL7 (disable Consistent Network Device Naming) (access.redhat.com)
- [4] Understanding the device renaming procecdure (access.redhat.com)