Linux: Hetzner Root-Server – Netzwerkkonfiguration mit IPv4 und IPv6

Es ist soweit, ab heute (06.06.2012) startet offiziell die Unterstützung und Verwendung von IPv6 im World-Wide-Web.
Damit auch euer Root- oder vServer für die Zukunft gerüstet ist, gibt es eine kurze und knackige Anleitung zur Einrichtung von IPv6 auf ein bereits bestehendes IPv4 Netzwerk. Diese Kurzanleitung basiert auf einer Netzwerkkonfiguration eines Servers bei Hetzner, der zu der standard IPv4 Netzwerkkonfiguration die zusätzlichen IPv6 IP-Adressen erhält. Getestet wurde die Konfiguration unter Ubuntu 12.04 x64 Server am 06.06.2012. Keine Gewähr für die Richtigkeit der zur Verfügung gestellten Konfiguration!

Beispiel Netzwerkkonfiguration eines Hetzner Rootservers

## /etc/network/interfaces Beispiel Hetzner Rootserver
# Loopback-Adapter
auto lo
iface lo inet loopback

# LAN-Schnittstelle
auto eth0
iface eth0 inet static
# Haupt-IP-Adresse des Servers
address 192.168.0.250
# Netzmaske 255.255.255.255 (/32) unabhängig von der
# realen Netzaufteilung (z.B. /27)
netmask 255.255.255.255
# Explizite Hostroute zum Gateway
gateway 192.168.0.1
pointopoint 192.168.0.1

iface eth0 inet6 static
# Haupt-IPv6-Adresse des Servers
address 3a71:4f2:41:26e0::2
netmask 64
# Host-Route, da das Gateway ausserhalb des eigenen /64 Blocks liegt
up ip -6 route add 3a71:4f2:41:26e0::1 dev eth0
# Host-Route, da das Gateway ausserhalb des eigenen /64 Blocks liegt
down ip -6 route del 3a71:4f2:41:26e0::1 dev eth0
# Default Route
up ip -6 route add default via 3a71:4f2:41:26e0::1 dev eth0
down ip -6 route del default via 3a71:4f2:41:26e0::1 dev eth0

Jetzt habt ihr schon mal die Grundkonfiguration eures IPv6 Netzwerkes auf das eth0-Device (Interface) gelegt und könnt weitere Subnetze auf Basis der Haupt-IPv6-Adresse des Servers hinzufügen.
Das Hinzufügen der frei verwendbaren IPv6-Adressen im Bereich des obigen Beispiels von 3a71:4f2:41:26e0::2 bis 3a71:4f2:41:26e0:ffff:ffff:ffff:ffff funktioniert folgendermaßen.

Diesen Teilbereich fügt ihr direkt nach der letzten "default route" für euer inet6 interface (eth0) ein.

# ipv6 for domain.tld
up /sbin/ifconfig eth0 inet6 add 3a71:4f2:41:26e0::3/64
# ipv6 for subdomain.tld
up /sbin/ifconfig eth0 inet6 add 3a71:4f2:41:26e0::4/64

Für das interne Routing müsst ihr in der sysctl.conf im Verzeichnis "/etc/" eventuell noch folgende Zeilen einfügen oder den Wert auf 1 setzen.
net.ipv6.conf.all.forwarding = 1

Nach dem die Netzwerkkonfiguration für das neue IPv6 abgeschlossen ist, müsst ihr den Netzwerkdienst neustarten oder im Idealfall startet ihr euren Server einmal durch.
/etc/init.d/networking restart

Ist der Netzwerkdienst neugestartet oder der Server wieder da, dann könnt ihr eure Konfiguration auf verschiedenste Art und Weisen testen:

Lokale Überprüfung der IPv6-Routen auf dem Root-Server
ip -6 route show

3a71:4f2:41:26e0::1 dev eth0  metric 1024
3a71:4f2:41:26e0::/64 dev eth0  proto kernel  metric 256
fe80::/64 dev eth0  proto kernel  metric 256
default via 3a71:4f2:41:26e0::1 dev eth0  metric 1024

Dies zeigt an, dass eine Router mit IPv6 erfolgreich etabliert wurde.

Ping auf IPv6 DNS-Record der Subdomain ipv6.google.com

ping6 -c 2 ipv6.google.com

Das Ergebnis:

ping6 -c 2 ipv6.google.com
PING ipv6.google.com(muc03s02-in-x14.1e100.net) 56 data bytes
64 bytes from muc03s02-in-x14.1e100.net: icmp_seq=1 ttl=56 time=99.3 ms
64 bytes from muc03s02-in-x14.1e100.net: icmp_seq=2 ttl=56 time=96.7 ms

--- ipv6.google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 96.774/98.053/99.332/1.279 ms

Nun ist euer Root-Server IPv6-fähig.

Betreibt ihr mit dem Server diverse Webseiten, könnt ihr nun in euren DNS-Einträgen der Domains den AAAA-Record, zusätzlich zu dem A-Record, setzen.
www IN AAAA 3a71:4f2:41:26e0::3

In den vHosts eures Apaches, müsst ihr zusätzlich zu der bereits IPv4 bekannten IP-Adresse des Root-Servers, die IPv6-Adresse eintragen.
Wichtig sind hierbei die eckigen Klammern um die IPv6-Adresse, da es ansonsten zum Syntaxfehler kommt. Doppelpunkte geben im Normallfall den Port an.
<VirtualHost AA.BB.CC.DD:80 [3a71:4f2:41:26e0::3]:80>
...
</VirtualHost>

Weitere Informationen zur Einrichtung der Netzwerke eines Root- und vServers bei Hetzner, gibt es hier.

Tags: , , , , , , , ,

Hinterlasse eine Nachricht