Einführung
Wenn Ihr Server getauscht werden muss und die Festplatten übernommen werden können, müssen Sie vermutlich Ihre Netzwerkkonfiguration anpassen. Auf Grund der weiten Verbreitung vom predictable naming scheme in modernen Linux Distributionen ist es möglich, dass sich die Bezeichnung der Netzwerkschnittstelle im System ändert und angepasst werden muss. Bei älteren Linux Systemen kommen udev rules zum Einsatz, welche die Nummerierung der Netzwerkschnittstellen anhand der physischen MAC Adressen durchführen.
Auf der rechten Seite im Inhaltsverzeichnis finden Sie eine Übersicht finden Sie Linux Distributionen die wir aktuell unterstützen oder in der Vergangenheit unterstützt haben. Dieser Artikel behandelt nur Standardinstallationen die über den Robot oder das installimage Skript durchgeführt wurden.
Debian 9, Debian 10, Debian 11, Debian 12
Pfad der Netzwerk Konfiguration
/etc/network/interfaces
Inhalt der Netzwerk Konfiguration
### Hetzner Online GmbH installimage
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
iface lo inet6 loopback
auto enp0s31f6
iface enp0s31f6 inet static
address 203.0.113.27
netmask 255.255.255.248
gateway 203.0.113.25
# route 203.0.113.24/29 via 203.0.113.25
up route add -net 203.0.113.24 netmask 255.255.255.248 gw 203.0.113.25 dev enp0s31f6
iface enp0s31f6 inet6 static
address 2001:db8:5678::2
netmask 64
gateway fe80::1
Nötige Änderungen nach einem Servertausch
- starten Sie den Server ins Hetzner Rescue System
- ermitteln Sie die aktuelle Interface Bezeichnung mit dem Befehl
predict-check
- mounten Sie Ihre root-partition auf den Ordner
/mnt
Tutorial - öffnen Sie die Netzwerk Konfiguration mit einem Textbearbeitungsprogramm
nano /mnt/etc/network/interfaces
- ersetzen Sie den Interface Namen mit dem Neuen in allen Vorkommem
- speichern und schließen Sie die Datei mit Strg+x, dann y und dann Enter
- starten Sie den Server neu mit dem Befehl
reboot
Debian 8
Pfad der Netzwerk Konfiguration
/etc/network/interfaces
Inhalt der Netzwerk Konfiguration
root@Debian-811-jessie-64-minimal ~ # cat /etc/network/interfaces
### Hetzner Online GmbH installimage
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
iface lo inet6 loopback
auto eth0
iface eth0 inet static
address 203.0.113.27
netmask 255.255.255.248
gateway 203.0.113.25
# route 203.0.113.24/29 via 203.0.113.25
up route add -net 203.0.113.24 netmask 255.255.255.248 gw 203.0.113.25 dev eth0
iface eth0 inet6 static
address 2001:db8:5678::2
netmask 64
gateway fe80::1
Nötige Änderungen nach einem Servertausch
Debian 8 nutzt standardmäßig nicht das predictable naming scheme. Stattdessen werden die Netzwerk Interfaces von udev nach Ihrer MAC Adresse benannt.
- starten Sie den Server ins Hetzner Rescue System
- Ermitteln Sie die neue MAC Adresse mit
ifconfig eth0 | grep -o -E ..:..:..:..:..:..
- mounten Sie Ihre root-partition auf den Ordner
/mnt
Tutorial - öffnen Sie die udev Konfiguration mit einem Textbearbeitungsprogramm
nano /mnt/etc/udev/rules.d/70-persistent-net.rules
- Ersetzen Sie die MAC Adresse mit der Neuen, die Sie vorher ermittelt haben
- speichern und schließen Sie die Datei mit Strg+x, dann y und dann Enter
- starten Sie den Server neu mit dem Befehl
reboot
die udev Regeln sehen in etwa so aus::
root@Debian-811-jessie-64-minimal ~ # cat /etc/udev/rules.d/70-persistent-net.rules
# 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 0x8086:0x15b7 (e1000e)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="39:15:42:47:34:44", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
Alternativ können Sie die Datei mit der udev Regel einfach entfernen, da sie dann beim Boot neu generiert wird.
Ubuntu 18.04 LTS, 20.04 LTS and Ubuntu 22.04 LTS
Pfad der Netzwerk Konfiguration
/etc/netplan/01-netcfg.yaml
Inhalt der Netzwerk Konfiguration
### Hetzner Online GmbH installimage
network:
version: 2
renderer: networkd
ethernets:
enp7s0:
addresses:
- 203.0.113.27/32
- 2001:db8:5678::2/64
routes:
- on-link: true
to: 0.0.0.0/0
via: 203.0.113.25
- to: default
via: fe80::1
nameservers:
addresses:
- 185.12.64.2
- 2a01:4ff:ff00::add:1
- 185.12.64.1
- 2a01:4ff:ff00::add:2
Nötige Änderungen nach einem Servertausch
- starten Sie den Server ins Hetzner Rescue System
- ermitteln Sie die aktuelle Interface Bezeichnung mit dem Befehl
predict-check
- mounten Sie Ihre root-partition auf den Ordner
/mnt
Tutorial - öffnen Sie die Netzwerk Konfiguration mit einem Textbearbeitungsprogramm
nano /mnt/etc/netplan/01-netcfg.yaml
- ersetzen Sie den Interface Namen mit dem Neuen in allen Vorkommem
- speichern und schließen Sie die Datei mit Strg+x, dann y und dann Enter
- starten Sie den Server neu mit dem Befehl
reboot
Ubuntu 16.04
Pfad der Netzwerk Konfiguration
/etc/network/interfaces
Inhalt der Netzwerk Konfiguration
root@Ubuntu-1604-xenial-64-minimal ~ # cat /etc/network/interfaces
### Hetzner Online GmbH installimage
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
iface lo inet6 loopback
auto eth0
iface eth0 inet static
address 203.0.113.27
netmask 255.255.255.248
gateway 203.0.113.25
# route 203.0.113.24/29 via 203.0.113.25
up route add -net 203.0.113.24 netmask 255.255.255.248 gw 203.0.113.25 dev eth0
iface eth0 inet6 static
address 2001:db8:5678::2
netmask 64
gateway fe80::1
Nötige Änderungen nach einem Servertausch
Ubuntu 16.04 does not use the predictable naming scheme by default. Instead network interfaces are named by udev according to their mac address.
- starten Sie den Server ins Hetzner Rescue System
- Ermitteln Sie die neue MAC Adresse mit
ifconfig eth0 | grep -o -E ..:..:..:..:..:..
- mounten Sie Ihre root-partition auf den Ordner
/mnt
Tutorial - öffnen Sie die udev Konfiguration mit einem Textbearbeitungsprogramm
nano /mnt/etc/udev/rules.d/80-net-setup-link.rules
- Ersetzen Sie die MAC Adresse mit der Neuen, die Sie vorher ermittelt haben
- speichern und schließen Sie die Datei mit Strg+x, dann y und dann Enter
- starten Sie den Server neu mit dem Befehl
reboot
die udev Regeln sehen in etwa so aus::
root@Ubuntu-1604-xenial-64-minimal ~ # cat /etc/udev/rules.d/80-net-setup-link.rules
# device: eth0
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="39:15:42:47:34:44", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
CentOS 7.9
Pfad der Netzwerk Konfiguration
/etc/sysconfig/network-scripts/ifcfg-enp0s31f6
!! Der Dateiname ermittelt sich aus der (alten) Interface Bezeichnung !!
Inhalt der Netzwerk Konfiguration
### Hetzner Online GmbH installimage
DEVICE=enp0s31f6
ONBOOT=yes
BOOTPROTO=none
IPADDR=203.0.113.27
PREFIX=32
SCOPE="peer 203.0.113.25"
DEFROUTE=yes
IPV6INIT=yes
IPV6ADDR=2001:db8:5678::2/64
IPV6_DEFAULTGW=fe80::1
IPV6_DEFROUTE=yes
IPV6_DEFAULTDEV=enp0s31f6
Nötige Änderungen nach einem Servertausch
- starten Sie den Server ins Hetzner Rescue System
- ermitteln Sie die aktuelle Interface Bezeichnung mit dem Befehl
predict-check
- mounten Sie Ihre root-partition auf den Ordner
/mnt
Tutorial - öffnen Sie die Netzwerk Konfiguration mit einem Textbearbeitungsprogramm
nano /mnt/etc/sysconfig/network-scripts/ifcfg-enp0s31f6
!! Der Dateiname ermittelt sich aus der (alten) Interface Bezeichnung !!
- ersetzen Sie den Interface Namen mit dem Neuen in allen Vorkommem
- speichern und schließen Sie die Datei mit Strg+x, dann y und dann Enter
- nennen Sie die alte Datei um, damit sie den neuen Interface Namen trägt
mv /mnt/etc/sysconfig/network-scripts/ifcfg-enp0s31f6 /mnt/etc/sysconfig/network-scripts/ifcfg-enp7s0
(ersetzen Sie die Interface Namen entsprechend)
- starten Sie den Server neu mit dem Befehl
reboot
Alma Linux 8.7, Rocky Linux 8.7, CentOS Stream
Pfad der Netzwerk Konfiguration
/etc/sysconfig/network-scripts/ifcfg-enp0s31f6
!! Der Dateiname ermittelt sich aus der (alten) Interface Bezeichnung !!
Inhalt der Netzwerk Konfiguration
[root@CentOS-85-64-minimal ~]# ls /etc/sysconfig/network-scripts/
ifcfg-enp0s31f6
mit dem Inhalt:
### Hetzner Online GmbH installimage
DEVICE=enp0s31f6
ONBOOT=yes
BOOTPROTO=none
IPADDR=203.0.113.27
PREFIX=32
GATEWAY=203.0.113.25
DEFROUTE=yes
IPV6INIT=yes
IPV6ADDR=2001:db8:5678::2/64
IPV6_DEFAULTGW=fe80::1
IPV6_DEFROUTE=yes
Nötige Änderungen nach einem Servertausch
- starten Sie den Server ins Hetzner Rescue System
- ermitteln Sie die aktuelle Interface Bezeichnung mit dem Befehl
predict-check
- mounten Sie Ihre root-partition auf den Ordner
/mnt
Tutorial - öffnen Sie die Netzwerk Konfiguration mit einem Textbearbeitungsprogramm
nano /mnt/etc/sysconfig/network-scripts/ifcfg-enp0s31f6
!! Der Dateiname ermittelt sich aus der (alten) Interface Bezeichnung !!
- ersetzen Sie den Interface Namen mit dem Neuen in allen Vorkommem
- speichern und schließen Sie die Datei mit Strg+x, dann y und dann Enter
- nennen Sie die alte Datei um, damit sie den neuen Interface Namen trägt
mv /mnt/etc/sysconfig/network-scripts/ifcfg-enp0s31f6 /mnt/etc/sysconfig/network-scripts/ifcfg-enp7s0
(ersetzen Sie die Interface Namen entsprechend)
- starten Sie den Server neu mit dem Befehl
reboot
Arch Linux
Pfad der Netzwerk Konfiguration
/etc/systemd/network/10-enp0s31f6.network
!! Der Dateiname ermittelt sich aus der (alten) Interface Bezeichnung !!
Inhalt der Netzwerk Konfiguration
[root@archlinux-latest-64-minimal ~]# cat /etc/systemd/network/10-enp0s31f6.network
### Hetzner Online GmbH installimage
[Match]
Name=enp0s31f6
[Network]
Address=2001:db8:5678::2/64
Gateway=203.0.113.25
Gateway=fe80::1
[Address]
Address=203.0.113.27
Peer=203.0.113.25/32
Nötige Änderungen nach einem Servertausch
- starten Sie den Server ins Hetzner Rescue System
- ermitteln Sie die aktuelle Interface Bezeichnung mit dem Befehl
predict-check
- mounten Sie Ihre root-partition auf den Ordner
/mnt
Tutorial - öffnen Sie die Netzwerk Konfiguration mit einem Textbearbeitungsprogramm
nano /mnt/etc/systemd/network/10-enp0s31f6.network
!! Der Dateiname ermittelt sich aus der (alten) Interface Bezeichnung !!
- ersetzen Sie den Interface Namen mit dem Neuen in allen Vorkommem
- speichern und schließen Sie die Datei mit Strg+x, dann y und dann Enter
- nennen Sie die alte Datei um, damit sie den neuen Interface Namen trägt
mv /mnt/etc/systemd/network/10-enp0s31f6.network /mnt/etc/systemd/network/10-enp7s0.network
(ersetzen Sie die Interface Namen entsprechend)
- starten Sie den Server neu mit dem Befehl
reboot
VMware vSphere/ESXi
Sie finden im folgenden Artikel nützliche Informationen zu den nötigen Anpassung unter ESXi nach einem Servertausch: VMware ESXi: Servertausch