Leider ist es in Deutschland (und vielleicht auch bei anderen Anbietern in Europa) noch immer so, dass man von seinem DSL-Anbieter keine statische oder sogar gar keine nativen IPv6-Adressen bekommt.
So war es auch bei uns der Fall. Unser Anbieter, bei dem wir unseren DSL-Business-Anschluss haben, konnte uns kein IPv6-Prefix routen. Nach einer Woche "Schlacht" mit dem Support habe ich es schließlich aufgegeben.
Doch was nun? Wir hätten im Büro gerne IPv6. Nun ja, es gibt diverse Anbieter wie tunnelbroker.net oder route64.org.
Das Ganze war nicht besonders kompliziert, allerdings mussten wir sehr schnell feststellen, dass die Performance – gelinde gesagt – schrecklich ist. Leider hatten wir bei dem Anbieter tunnelbroker.net massive Paketverluste. Getestet wurden drei Tunnel-Endpunkte: Frankfurt, Amsterdam und Zürich.
Also haben wir nach Alternativen gesucht und route64.org getestet. Leider gab es am Standort Frankfurt keine freien Ressourcen, sodass nur noch die Möglichkeit blieb, einen Tunnel in Amsterdam zu erstellen. Paketverluste konnten wir hier nicht feststellen. Aber ... wir wollten im Büro ein deutsches IP-Netz.
Hmm... es kann doch nicht so schwer sein, so etwas selbst zu realisieren. Und nein, ist es nicht.
Also Ärmel hochgekrempelt, die Kaffeemaschine gequält und losgelegt.
Voraussetzungen
-
Ihr benötigt einen vServer -> Serverdiscounter.com. Der kleinste vServer ist ausreichend.
-
Ihr benötigt ein IPv6-Netz, /64 oder /48. Bitte wendet euch hierzu mit einem kurzen Ticket an den Support, damit euch das Netz auf euren vServer geroutet wird.
Sobald das Grundlegende erledigt ist, können wir mit der Einrichtung des vServers beginnen. Ich habe für mein Setup das aktuellste Ubuntu-System verwendet.
Einrichtung des vServers
ip tunnel add ipv6tunnel mode sit remote 212.xxxx local 185.216.214.xxx ttl 255
ip link set ipv6tunnel up
ip addr add 2a0b:bbc0xxxxx/64 dev ipv6tunnel
ip addr add fd12:3456:789a::1/64 dev ipv6tunnel
ip -6 route add 2a0b:bbcxxxxx/64 dev ipv6tunnel
ip -6 route add fd12:3456:789a::/64 dev ipv6tunnel
-
Remote = IPv4-Adresse eures DSL-Anschlusses
-
Local = Die IPv4-Adresse eures vServers
Auf dem Tunnel befinden sich später zwei IPv6-Subnetze:
-
fd12:3456:789a::1/64ist ein lokales IP-Netz, das nur zur internen Kommunikation zwischen dem Tunnel dient. -
2a0b:bbcxxxxx/64ist das öffentliche IP-Netz, das ihr von uns erhalten habt.
Persistente Konfiguration
Damit die Konfiguration nach einem Neustart des Servers erhalten bleibt, speichern wir sie in einer Datei:
nano /etc/netplan/01-netcfg.yaml
Inhalt der Datei:
network:
version: 2
tunnels:
ipv6tunnel:
mode: sit
remote: 212.######
local: 185.216.214.xxx
addresses:
- 2a0b:bbc0:xxxxx/64
- fd12:3456:789a::1/64
routes:
- to: 2a0b:bbc0:xxxx/64
via: "::"
- to: fd12:3456:789a::/64
via: "::"
Mit folgendem Befehl wird die Konfiguration übernommen:
netplan apply
Die Konfiguration auf eurem vServer ist damit abgeschlossen!
Einrichtung auf der OPNsense-Firewall
In unserem Beispiel verwenden wir im Büro eine OPNsense-Firewall. Jetzt müssen wir auf dieser den neuen Tunnel bekannt machen.
Tunnel erstellen
-
Interfaces -> Other Types -> GIF und dort auf das Plus-Symbol klicken.
-
Folgende Werte eintragen:
-
Remote Address:
185.216.214.x(IPv4-Adresse eures vServers) -
Tunnel Local Address:
fd12:3456:789a::1 -
Tunnel Remote Address:
fd12:3456:789a::2
-
LAN-Schnittstelle konfigurieren
-
Interfaces -> LAN
-
IPv6 Configuration Type: Static IPv6
-
IPv6 address:
2a0b:bbc0:xxxx:1(Das IPv6-Netz, das ihr von uns erhalten habt)
DHCPv6-Server einrichten
Unter Services -> DHCPv6 könnt ihr einen DHCPv6-Server auf eurer OPNsense-Firewall einrichten, damit eure Clients im lokalen Netzwerk aus dem /64- oder /48-Prefix eine IPv6-Adresse erhalten.
Fazit
Hat alles geklappt? Dann hat euer DSL-Anschluss nun sein eigenes IPv6-Prefix! ;)