Eine Netzwerkschnittstelle hat immer nur eine einzige IPv4–Adresse. Wie also kann man einem Rootserver eine weitere IP zuweisen?
Dies geht über so genannte virtuelle Schnittstellen. Diese laufen über eine einzige Netzwerkkarte (d.h. haben auch eine einzige MAC–Adresse), sind jedoch virtuell mehrere Netzwerkkarten.
Im folgenden gehe ich davon aus, dass die IP-Adresse 10.13.37.42/24 dem Server zusätzlich zugewiesen wird (welcher bereits auf 10.13.37.38/24 hört).
Theorie
Angelegt wird eine virtuelle Netzwerkkarte, sobald ihr eine IP zugewiesen wird:
ip addr add 10.13.37.42/24 dev eth0:1
Hierbei wird die virtuelle Netzwerkschnittstelle eth0:1
angelegt. Die virtuelle Schnittstellennummer wird durch einen Doppelpunkt von der Hardwareschnittstelle getrennt, wobei eth0:0
gleich eth0
ist.
Umsetzung unter Ubuntu/Debian
Konfiguriert werden die Netzwerkschnittstellen in der Datei /etc/network/interfaces
. Diese Datei sollte in etwa wie folgt aussehen (Der IPv6–Teil wurde ausgelassen):
auto lo iface lo inet loopback auto eth0 inet static address 10.13.37.38 broadcast 10.13.37.255 netmask 255.255.255.0 gateway 10.13.37.1
Folgender Abschnitt wird nun hinzugefügt:
auto eth0:1 iface eth0:1 inet static address 10.13.37.42 broadcast 10.13.37.255 netmask 255.255.255.0 gateway 10.13.37.1
Dabei wird, wie oben zu sehen, nur die IP–Adresse und die Netzwerkschnittstelle angepasst. Übernommen werden die Änderungen mittels:
# service networking restart
Umsetzung unter ArchLinux
Hierbei wird davon ausgegangen, dass bereits eine Unit-Datei mit dem Namen /etc/systemd/system/network@.service
angelegt wurde. In diesem Artikel im Arch-Wiki wird die Einrichtung dieses Dienstes beschrieben.
Zuerst wird eine Konfigurationsdatei in /etc/conf.d/network@eth0:1
angelegt:
address=10.13.37.255 netmask=24 broadcast=10.13.37.255 gateway 10.13.37.1
Aktiviert wird die Konfiguration mit:
# systemctl enable network@eth0:1.service # systemctl start network@eth0:1.service