Anders als bei IPv4 stehen bei IPv6 meist sehr viele öffentliche Adressen zur Verfügung. Daher ist es nicht unüblich einer Netzwerkschnittstelle auch mehrere Adresse zuzuweisen.
Im Artikel "Ubuntu: IPv4 und IPv6 im Dual-Stack Betrieb" wurde bereits beschrieben, wie unter Ubuntu ein IPv4 und IPv6 Dual-Stack konfiguriert wird. Sollen die Verschiedenen Dienste oder Container auf einem Server eigene IPv6 Adressen bekommen, müssen alle Adressen der entsprechenden Netzwerkschnittstelle zugewiesen werden. Momentan sind uns neben der händischen Konfiguration zwei Möglichkeiten über die Datei /etc/network/interfaces bekannt. Bei den folgenden Beispielen wird von folgender Grundkonfiguration mit einer IPv6 Adresse ausgegangen.
auto eth0
iface eth0 inet6 static
address 2001:0DB8:0068:9cb9::3
netmask 64
gateway 2001:0DB8:0068:9cb9::2
Die erste Möglichkeit weitere IP-Adressen hinzuzufügen ist die Verwendung von ifconfig. Die Konfiguration für zwei weitere Adressen sehe dann wie folgt aus.
auto eth0
iface eth0 inet6 static
address 2001:0DB8:0068:9cb9::3
netmask 64
gateway 2001:0DB8:0068:9cb9::2
up /sbin/ifconfig eth0 inet6 add 2001:0DB8:0068:9cb9::4/64
up /sbin/ifconfig eth0 inet6 add 2001:0DB8:0068:9cb9::5/64
down /sbin/ifconfig eth0 inet6 del 2001:0DB8:0068:9cb9::4/64
down /sbin/ifconfig eth0 inet6 del 2001:0DB8:0068:9cb9::5/64
Wichtig dabei ist, dass die IP-Adresse bei einer Deaktivierung der Schnittstelle wieder entfernt wird. Deshalb wird dies über das down Ereignis gemacht. Wird eine Adresse nicht entfernt kann es zu Fehlermeldungen oder Problemen kommen.
Eine weitere Möglichkeit ist das Anlegen von weiteren Abschnitt für die gleiche Netzwerkschnittstelle. In diesem Fall würde das obige Beispiel wie folgt aussehen.
auto eth0
iface eth0 inet6 static
address 2001:0DB8:0068:9cb9::3
netmask 64
gateway 2001:0DB8:0068:9cb9::2
iface eth0 inet6 static
address 2001:0DB8:0068:9cb9::4
netmask 64
iface eth0 inet6 static
address 2001:0DB8:0068:9cb9::5
netmask 64
Wichtig ist, dass bei den zusätzlichen Abschnitten alle Einstellungen der Schnittstellen nicht wiederholt werden.
Die erste Methode wurde unter Ubuntu 12.04 und 14.04 erfolgreich getestet. Die zweite jedoch nur unter Ubuntu 14.04.
Damit die neuen Einstellungen übernommen werden, muss die entsprechende Netzwerkschnittstelle neu gestartet werden. Bei Ubuntu 12.04 konnte dies noch über den folgenden Befehl realisiert werden.
$ sudo /etc/init.d/networking restart
Bei Ubuntu 14.04 ist dies jedoch nicht mehr möglich und muss über folgende Befehlskette durchgeführt werden. Diese sollte so jedoch auch unter Ubuntu 12.04 funktionieren.
$ sudo ifdown eth0 && ifup eth0
Links
- Webseite: Ubuntu (englisch)