Vor über 20 Jahren (1998) hat die Internet Engineering Task Force (IETF) das Internet Protocol Next Generation (IPv6) standardisiert. (Quelle: wikipedia)
Wahrscheinlich bin ich nicht der einzige Mensch, der sich bisher davor gedrückt hat, dieses in der Praxis auch einzusetzen.
Die neuen Adressen lesen sich auch recht kompliziert und viele Dinge erscheinen im ersten Moment „fremd“.
Nun arbeite ich aber in meinem Labor mit „Greenbone“ (Quelle: greenbone.net), einem Programm zur Erkennung von Schachstellen in Netzwerken.
Ich verwende die kostenlose „Community Edition“ und bei der gibt es Probleme mit der Aktualisierung von neuen Schwachstellen aus dem Internet.
Nun komme ich zum Punkt – um diese lösen zu können, sollte ich auf das neue Netzwerkprotokoll umstellen.
Das hat zwar nicht funktioniert und die Aktualisierung gelingt bei mir immer noch nicht, aber ich habe dabei viel gelernt und das Wissen möchte ich gerne teilen.
Eine IPv6 Adrese besteht im Grunde aus zwei Teilen.
Einem „Präfix“ und einem „Interface-Identifier„. (Quelle: wikipedia)
Ich stelle mir das so vor.
Der Präfix beschreibt die Computergruppe und der Interface-Identifier den eigentlichen Netzwerkknoten (Computer, Gerät …).
Bei mir sieht das im Moment so aus:
IPv6-Adresse. . . . . . . . . . . : fd77:ade4:e825::5b
Verbindungslokale IPv6-Adresse . : fe80::10ed:5d5:af9b:1d60%10
Anders als bisher, ist es üblich, dass Geräte gleich mehrere Adressen haben.
Besonders wichtig ist dabei die „Verbindungslokale IPv6-Adresse“ bzw. „Link-Local-Unicast-Adressen (LLA)“. (Quelle: wikipedia)
Die beginnen immer alle mit „fe80:“ und für den „Interface-Identifier“ wird z.B. die sog. MAC-Adresse eingebaut.
Die kann man manchmal – aber nicht immer – erkennen, weil bei neueren Systemen diese gemäß RFC8064 bzw. RFC7217 anders berechnet wird. Davon lassen wir uns aber im Moment nicht stören.
Wichtig bei den LLA’s ist die Tatsache, das diese eindeutig und immer nur im gleichen Netzwerk erreichbar sind.
Die Router, mit denen Netzwerke verbunden werden, leiten diese Datenpakete nicht weiter.
Das war also die erste Hürde, die ich nehmen musste. Ich brauchte für mein Netzwerk zunächst einen eigenen, privaten IPv6 Adressbereich. So wie bisher z.B. die 192.168.0.x.
Dafür gibt es im Internet Hilfsmittel, die unter Angabe einer MAC-Adresse einen „RFC4193 Unique Local Address„-Bereich berechnen können. (Quelle: cd34.com)
Für mich war das „fd77:ade4:e825„.
Diese kann ich nun in mehrere „Teilnetze“ gliedern, wobei ich mich für die „Null“ entschieden habe.
Weil eine IPv6 Adresse manchmal eine lange Folge von „Nullen“ haben kann, dürfen diese abgekürzt werden.
Also wird aus „fd77:ade4:e825:0000:0000:0000:0000:0001″ die abgekürzte Schreibweise „fd77:ade4:e825::1„.
In der verkürzten Schreibweise kann man deshalb auch das Teilnetz nicht direkt ablesen.
Mein zweites Teilnetz wäre dann analog:
„fd77:ade4:e825:0001:0000:0000:0000:0001“ bzw. „fd77:ade4:e825:1::1„
Mit dieser Schreibweise erkenne ich das Teilnetz (4-ter Block von links) und die laufende Nummer des Computers (die 4 Blöcke von rechts).
Hat man sich daran gewöhnt, wird es mit der Zeit leichter.
Über DHCP (Quelle: wikipedia) kann ich nun einen Bereich vergeben, aus dem sich die Computer automatisch eine laufende Nummer holen und reservieren.
Meine Server bekommen eine statische Adresse, die sich nicht im DHCP Bereich befindet.
Das müsste nicht sein, aber so habe ich mehr Transparenz im Netzwerk.
Die zweite Hürde war sehr einfach zu lösen, weil sich meine Firewall automatisch mit nur einem Klick eine eigene Adresse aus dem Bereich meines Internetanbieters geholt hat.
Das ist einer der großen Vorteile von IPv6.
Die sieht ein wenig anders aus, weil es eine Global Unicast Adresse (Quelle: wikipedia) ist.
2a00:20:d000:xxxx:2eb8:edff:xxxx:a421 (die xxxx sind eine reine Vorsichtsmaßnahme)
Wenn man es so formulieren will, eine „echte IPv6 Internetadresse“.
Der Präfix „2a00:20:d000“ ist Vodafone zugeordnet, wie man aus der RIPE-Datenbank entnehmen kann (Quelle: ipinfo.io).
Nun fehlte nur noch eine dritte Kleinigkeit.
Ich musste der Firewall mitteilen, dass alle ausgehenden Datenpakete mit der externen, obigen GUA versehen werden müssen.
Die Netzwerkadressübersetzung (englisch Network Address Translation, kurz NAT, Quelle: wikipedia) sorgt dafür, dass alle Datenpakete die ich sende den Weg zurück zu meiner Firewall finden.
Diese wird quasi zum „Absender“ aller Datenpakete.
Kommen dann die Antworten dazu zurück, kann die Firewall das umkehren und so gelangt das Datepaket zum richtigen Empfänger.
Also braucht es drei Schritte:
- internes Netzwerk mit einem eigenen ULA konfigurieren
- externe Schnittstelle der Firewall mit einer GUA konfigurieren
- NAT einrichten
Und so habe ich heute nicht nur viel gelernt – mein Netzwerk ist jetzt IPv6 ready.
Schade dass mein eigentliches Problem mit der Aktualisierung von greenbone noch besteht.
Aber das werde ich auch noch lösen.
Wichtig ist mir bei diesem Beitrag, Ihnen ein wenig die Angst vor der neuen Netzwerkadresse zu nehmen.
Ich selbst durfte lernen, dass es nicht viel schwieriger (nur ungewohnt) ist, dafür aber eine Menge Vorteile bietet.