Skript/Netzwerk/IPv6: Unterschied zwischen den Versionen
Änderung 75847 von Dirkwagner (Diskussion) rückgängig gemacht. |
|||
(22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''Skript/Netzwerk/IPv6''' | |||
= Einführung = | |||
{{:IPv6}} | |||
[[IPv6]] | |||
= Header = | |||
{{:IPv6/Header}} | |||
[[IPv6/Header]] | |||
= Adressierung = | |||
{{:IPv6/Adressierung}} | |||
---- | |||
{{:IPv6/Adressbereiche}} | |||
= ICMPv6 = | |||
{{:ICMPv6}} | |||
---- | |||
{{:IPv6/ICMPv6 Fuktionen}} | |||
= Upper Layer Protokolle = | |||
{{:IPv6/Upper Layer Protokolle}} | |||
= Sicherheit = | |||
{{:IPv6/Sicherheit}} | |||
= QoS = | |||
{{:IPv6/QoS}} | |||
= Router = | |||
{{:IPv6/Router}} | |||
= Migration = | |||
{{:IPv6/Migration}} | |||
= Firewall = | |||
{{:IPv6/Firewall}} | |||
= Tunnel = | |||
{{:IPv6/Tunnel}} | |||
= Subnetting = | |||
{{:IPv6/Subnetting}} | |||
<noinclude> | |||
[[Kategorie:Skript/Netzwerk]] | |||
__NICHT_INDEXIEREN__ | |||
</noinclude> |
Aktuelle Version vom 26. Mai 2025, 12:18 Uhr
Skript/Netzwerk/IPv6
Einführung
IPv6 - Internetprotokoll Version 6
Beschreibung
DoD-Schicht | Protokolle | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Anwendung | HTTP | IMAP | SMTP | DNS | … | |||||
Transport | TCP/UDP | |||||||||
Internet | IP (IPv4, IPv6) | |||||||||
Netzzugang | Ethernet | Token Bus | Token Ring | FDDI | … |
- 1998
- RFC 2460
- Nachfolger von IPv4
- Paketvermittlung
- IP/Versionen
Header
IPv6/Header - Aufbau des Protokollkopfes von IPv6
Beschreibung
- IPv6-Header hat eine feste Größe von 40 Byte (320 Bit)
- IPv4/Header hat eine variable Größe
Trotz vierfacher IPv6-Adresslänge (16 Byte) nur doppelte Headerlänge
IPv6 Header
00-03 | 04-07 | 08-11 | 12-15 | 16-19 | 20-23 | 24-27 | 28-31 | |
---|---|---|---|---|---|---|---|---|
Version | Traffic Class | Flow Label | H e a d e r | |||||
Payload Length | Next Header | Hop Limit | ||||||
Source-Address | ||||||||
Destination-Address | ||||||||
Header-Felder
Feld | Länge (bit) | Inhalt |
---|---|---|
Version | 4 | IP-Versionsnummer (6) |
Traffic Class | 8 | Quality of Service (QoS) Priorisierung (RFC/2474) |
Flow Label | 20 | Ebenfalls für QoS oder Echtzeitanwendungen verwendeter Wert. Pakete, die dasselbe Flow Label tragen, werden gleich behandelt. |
Payload Length | 16 | Länge der Daten nach dem IPv6 Header; Länge des IPv6-Paketinhaltes (ohne Kopfdatenbereich, aber inklusive der Erweiterungs-Kopfdaten) in Byte |
Next Header | 8 | Identifiziert den Typ des nächsten Kopfdatenbereiches, dieser kann entweder einen Erweiterungs-Kopfdatenbereich (siehe nächste Tabelle) oder ein Protokoll höherer Schicht (engl.: Upper Layer Protocol) bezeichnen, wie z. B. TCP (Typ 6) oder UDP (Typ 17).
Protokoll Nummer oder Extension-Header |
Hop Limit | 8 | Maximale Anzahl an Zwischenschritten über Router, die ein Paket zurücklegen darf; wird beim Durchlaufen eines Routers ("Hops") um eins verringert. Pakete mit null als Hop Limit werden verworfen. Es entspricht dem Feld Time to Live (TTL) bei IPv4.
Anzahl der Routerhops |
Source Address | 128 | Adresse des Senders |
Destination Address | 128 | Adresse des Empfängers |
Summe (bit) | 360 |
Vereinfachung des Headers
- Enthält nur grundlegende Forwarding-Information
Zusätzliche Informationen in Erweiterungs-Headern
- In "#Next Header" angegeben
Header im Vergleich
Entfallene Felder
Option | Beschreibung |
---|---|
HL | IPv6Header eine feste Länge hat |
Protocol | Feld Next-Header angibt welches Protokoll auf der Transportschicht verwendet wird. |
Felder zur IP/Fragmentierung |
IPv6 Fragmentierung wird anders handhabt, IPv6-Router fragmentieren keine Pakete, sondern schicken der Quelle eine Nachricht kleinere Pakete zu schicken. |
Checksum | die Berechnung der Prüfsumme bei jedem Hop sich negativ auf die Performance auswirkt, auf den Schichten über und unter der Vermittlungsschicht werden bereits Prüfsummen berechnet |
Padding |
Adressierung
Skript/Netzwerk/IPv6
Beschreibung
Beschreibung | |
---|---|
Adressen | |
Interface | |
Adressraum | |
Privacy |
Skript/Netzwerk/IPv6 - Unterteilung des IPv6-Adressraums
Beschreibung
- Adressraum
IPv4 | IPv6 | |
---|---|---|
Länge (bit) | 32 | 128 |
Maximale Anzahl | 4.294.967.296 | 340.282.366.920.938.463.463.374.607.431.768.211.456 |
Zuteilung
- IANA

Internet Assigned Numbers Authority (IANA)
- Weist nur einen kleinen Teil des IPv6-Raums zu
- Die IANA stellt globale Unicast-Adressen bereit, die mit den führenden Bit ganz links 001 beginnen
- Ein kleiner Teil der Adressen, die mit 000 und 111 beginnen, wird für spezielle Typen zugewiesen
- Alle anderen möglichen Adressen sind für die zukünftige Verwendung reserviert und werden derzeit nicht zugewiesen
- Beispiele für globale Unicast-Adressen
2001:4::aac4:13a2 2001:0db6:87a3::2114:8f2e:0f70:1a11 2c0f:c20a:12::1
Derzeit beginnen in der Internet-IPv6-Routing-Tabelle alle Präfixe mit der hexadezimalen Ziffer 2 oder 3, da die IANA nur Adressen vergibt, die mit den ersten 3 Bit 001 beginnen
Subnetzmasken
Teilen IP-Adressen in einen Netz- und einen Host-Teil
- Lehren aus IPv4
Es wäre von Vorteil
- Interfaces mit meherenen IP-Adresse
- je nach Bedarf und Zweck (aliases, multicast und weitere)
Um in Zukunft flexibler bleiben zu können, geht man bei IPv6 weiter und erlaubt pro Interface mehr als eine zugewiesene IP-Adresse
- Derzeit sind durch die RFCs kein Limit gesetzt, wohl aber in der Implementierung des IPv6 Stacks (um DoS Attacken vorzubeugen)
Neben der großen Bit-Anzahl für Adressen definiert IPv6 basierend auf einigen vorangestellten Bit verschiedene Adress-Typen
- Diese werden hoffentlich in der Zukunft niemals aufgehoben (zum Unterschied zu IPv4 heute und die Entwicklung der class A, B und C Netze)
Zur Unterstützung einer automatischen Konfiguration wird die Bitanzahl in einen Netzwerk-Teil (vordere 64 Bits) und einen Hostteil (hintere 64 Bit)
Adress-Typ | Beschreibung |
---|---|
Adressen ohne speziellen Präfix | |
Netzteil der Adresse (Präfix) | |
Adress-Typen (Host-Teil) | |
Präfixlängen für das Routing |
Präfixe
- Netzteil der Adresse
Es wurden einige Adress-Typen definiert
- Zugleich blieb für zukünftige Anforderungen ausreichend Raum für weitere Definitionen
- In RFC/4291 IP Version 6 Addressing Architecture wird das aktuelle Adress-Schema definiert
- Präfixe (Adress-Arten)
Adress-Typ | Beschreibung |
---|---|
Link-lokaler Adress-Typ | |
Site-lokaler Adress-Typ | |
Unique Local IPv6 Unicast Adressen | |
Globaler Adress-Typ ("Aggregatable global unicast") | |
Multicast-Addressen | |
Anycast-Adressen |
- IPv6 Präfixe
Bezeichnung | Präfix | Verwendung |
---|---|---|
Link Local Unicast | fe80::/10 | Rechner im eigenen Subnetz |
Site Local Unicast | fec0 - feff | Standortlokale Adressen |
Unique Local Unicast | fc00 - fdff | Private Adressen |
Multicast | ff00 | Für mehrere Clients |
Global Unicast | 2000 - 3fff | Weltweite eindeutige Adressen |
2001 | An Provider vergeben, die weiterverteilen | |
2002 | Tunnelmechanismus 6to4 | |
NAT64 | 64:ff9b::/96 | Übersetzungsmechanismus NAT64 |
Ohne Präfix
- Adressen ohne speziellen Präfix
Adress-Typ | Beschreibung |
---|---|
Localhost Adresse | |
Unspezifische Adresse | |
IPv6 Adressen mit eingebetteter IPv4 Adresse |
Localhost Adresse
Pakete mit dieser Quell- bzw. Ziel-Adresse sollten niemals den sendenden Host verlassen
- Loopback Interface
- 127.0.0.1 bei IPv4
::1
Unspezifische Adresse
Dies ist eine spezielle Adresse vergleichbar mit "any" oder "0.0.0.0" bei IPv4
Diese Adresse wird meistens in Routing-Tabellen und beim "socket binding" (zu jeder IPv6 Adresse) angewandt bzw. gesehen
- Beachten
- Die unspezifizierte Adresse kann nicht als Ziel-Adresse verwendet werden
Adress-Typen (Host-Teil)
In Hinblick auf Auto-Konfigurations- und Mobilitätsfragen wurde entschieden, die niedrigeren 64 bits als Host-Bestandteil zu nutzen
- Jedes einzelne Subnetz kann deshalb eine große Anzahl an Adressen enthalten
Der Host-Teil kann aus unterschiedlichen Blickwinkeln betrachtet werden:
Adress-Typ | Beschreibung |
---|---|
Automatisch erstellte Adressen | |
Manuell festgelegte Adressen |
Automatisch erstellte Adressen
- Automatisch erstellte Adressen
- stateless
- Auto-Konfiguration
Bei der Auto-Konfiguration wird der Hostteil der Adresse durch die Konvertierung der MAC-Adresse eines Interfaces (falls vorhanden) zu einer einmaligen IPv6 Adresse (mittels EUI-64 Methode) generiert
- Falls keine MAC-Adresse verfügbar ist (beispielsweise bei virtuellen Interfaces), wird anstelle dessen etwas anderes herangezogen (wie beispielsweise die IPv4 Adresse oder die MAC-Adresse eines physikalischen Interfaces)
Als Beispiel hat hier ein NIC folgende MAC-Adresse (48 bit)
- Diese wird gemäß demIEEE-Tutorial EUI-64 Design für EUI-48 Identifiers zum 64 bit Interface Identifier erweitert:
- Mit einem gegebenen Präfix wird daraus die schon oben gezeigte IPv6-Adresse:
- Datenschutzproblem
Datenschutzproblem mit automatisch erstellten Adressen sowie eine Lösung
- Der "automatisch generierte" Hostteil ist weltweit einmalig
- mit Ausnahme, wenn der Hersteller einer NIC die gleiche MAC-Adresse bei mehr als einer NIC einsetzt
- Die Client-Verfolgung am Host wird dadurch möglich, solange kein Proxy verwendet wird
- Dies ist ein bekanntes Problem und eine Lösung wurde dafür definiert
- Datenschutz-Erweiterung
- definiert in RFC/3041
- Privacy Extensions for Stateless Address Autoconfiguration in IPv6 (es gibt bereits ein neueres Draft: draft-ietf-ipv6-privacy-addrs-v2-*)
- Es wird sporadisch mittels eines statischen und eines Zufallswertes ein neues Suffix erstellt
- Hinweis
- Dies ist nur für ausgehende Client-Verbindungen sinnvoll und bei bekannten Servern nicht wirklich sinnvoll
Manuell festgelegte Adressen
Bei Servern ist es wahrscheinlich leichter, sich einfachere Adressen zu merken
- Dies kann beispielsweise mit der Zuweisung einer zusätzlichen IPv6 Adresse an ein Interface geschehen
Für das manuelle Suffix, wie "::1" im obigen Beispiel, muss das siebte höchstwertige Bit auf 0 gesetzt sein (das universale/local Bit des automatisch generierten Identifiers)
- Es sind auch noch andere (ansonsten nichtausgewählte) Bit-Kombinationen für Anycast-Adressen reserviert
Präfixlängen für das Routing
IPv6-Adressentypen
Eine IPv6-Adresse ist eine 128-Bit-Kennung der Netzwerkschicht für eine Netzwerkschnittstelle eines IPv6-fähigen Knotens
Haupttypen
Typ | Beschreibung |
---|---|
Unicast | Eine Netzwerkschicht-Kennung für eine einzelne Schnittstelle eines IPv6-fähigen Knotens
|
Multicast | Eine Netzwerkschicht-Kennung für eine Reihe von Schnittstellen, die zu verschiedenen IPv6-fähigen Knoten gehören
|
Anycast | Eine Netzwerkschicht-Kennung für eine Reihe von Schnittstellen, die zu verschiedenen IPv6-fähigen Knoten gehören
|
Zusammenfassung
Adresse | Beschreibung |
---|---|
Global Unicast | Derzeit vergibt die IANA globale Unicast-Adressen, die mit dem Binärwert 001 (2000::/3) beginnen
|
Unique-local | Sie haben ein global eindeutiges Präfix, ähnlich wie globale Unicast-Adressen
|
Loopback | Die bekannte Loopback-Adresse in IPv6 lautet ::1/128
|
Nicht spezifiziert | Die nicht spezifizierte Adresse in IPv6 lautet ::/128
|
Eingebettetes IPv4 in IPv6 | Die IPv4-Adresse A.B.C.D (in Hexadezimalziffern) wird in IPv6 als 0:0:0:0:0:0:A:B:C:D oder einfach als ::A:B:C:D eingebettet
|
Link-local | Präfix FE80::/10
|
Bekannte Multicast-Adressen | Alle bekannten Multicast-Adressen beginnen mit dem Präfix ff00::/12
|
Solicited-Node-Multicast | Jede IPv6-Unicast-Adresse hat eine entsprechende Solicited-Node-Multicast-Adresse
|
ICMPv6
IPv6/ICMP - ICMPv6 (Internet Control Message Protocol für IPv6)
Beschreibung
IPv6-Adressauflösung und Netzwerkreichweiten-Ermittlung
ICMPv6 (Internet Control Message Protocol Version 6) | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Familie | Internetprotokolle | |||||||||||||||||
Einsatzgebiet | Fehlermeldungen, Diagnose, Autoconfiguration, Routing | |||||||||||||||||
|
- Grundfunktionen
- Grundlegende Funktionen
- Rolle des Internet Control Message Protocol Version 6 (ICMPv6) in IPv6-Netzwerken
- Fehlererkennung und -meldung
- Diagnostische Aufgaben
- Echo-Request und Echo-Reply für Ping-Operationen
- ICMPv6-Nachrichten
Funktionsweise
- Neighbor Discovery (ND)
- Router Solicitation
- Router Advertisement
- Neighbor Solicitation
- Neighbor Advertisement
Das Internet Control Message Protocol for the Internet Protocol Version 6 (ICMPv6) ist die mit IPv6 zusammen verwendete Version des Internet Control Message Protocol
- Es dient, wie schon bei IPv4, in Netzwerken zum Austausch von Fehler- und Informationsmeldungen
- Zusätzlich findet es aber noch im Neighbor Discovery Protocol, dem Ersatz des Address Resolution Protocol, Verwendung
- ICMPv6 zwingend notwendig
Im Gegensatz zum ICMP bei IPv4 ist ICMPv6 zwingend für den Betrieb von IPv6 nötig
- Ein generelles Blockieren von ICMPv6 auf der Firewall führt dazu, dass IPv6 nicht funktioniert (vgl. RFC 4890)
ICMPv6 dient als Hilfsprotokoll für IPv6, ist in derselben OSI-Schicht 3 wie dieses angesiedelt und nutzt das IPv6-Protokoll zum Versand von ICMP-Nachrichten
- Als Protokoll-Nummer wird dabei 58 ins Next-Header-Feld des IPv6-Headers eingefügt
Header
0 | Type | Code | Prüfsumme | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
… | ICMPv6-Nachricht … |
Das Feld Type gibt die Klasse der ICMP-Nachricht an
- welche mit dem Feld Code genauer spezifiziert werden kann
Die Prüfsumme wird zur Verifizierung der Gültigkeit des ICMPv6-Pakets benutzt
Der restliche Inhalt der ICMP-Nachricht wird durch den jeweiligen Typ bestimmt
- Bei Fehlernachrichten wird nach den möglichen zusätzlichen Feldern immer noch so viel wie möglich vom fehlerverursachenden Paket angehängt
- Prüfsumme
0 | IPv6-Absender-Adresse | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
32 | ||||||||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||||||||
128 | IPv6-Ziel-Adresse | |||||||||||||||||||||||||||||||
160 | ||||||||||||||||||||||||||||||||
192 | ||||||||||||||||||||||||||||||||
224 | ||||||||||||||||||||||||||||||||
256 | IPv6-Nutzlast-Größe | |||||||||||||||||||||||||||||||
288 | Checksumme 0 | Next Header 58 |
Die Prüfsumme (engl. checksum) eines ICMPv6-Pakets ist ein 16-Bit-Einerkomplement der Summe des Einerkomplements der gesamten ICMPv6-Nachricht
- Zusätzlich zur Nachricht wird noch ein IPv6-Pseudoheader vorne angehängt
- Zur Berechnung der Prüfsumme wird das Prüfsummenfeld auf 0 gesetzt
- Der zur Berechnung der Prüfsumme verwendete Pseudoheader sieht wie im Schema nebenan aus
Dies ist eine der Neuerungen von ICMPv6 gegenüber ICMP, wo die Prüfsumme nur über den ICMP-Header berechnet wurde
Verarbeitung
- Regeln für die Verarbeitung von ICMPv6-Nachrichten
- Unbekannte ICMPv6-Fehlernachrichten müssen an die darüberliegende Netzwerkschicht weitergereicht werden
- Unbekannte ICMPv6-Informationsnachrichten müssen ohne Benachrichtigung des Absenders verworfen werden
- Jeder Fehlernachricht wird am Ende so viel wie möglich des fehlerverursachenden Pakets angehängt
- Die Protokollnummer zum Weiterreichen von unbekannten Fehlernachrichten wird aus dem angehängten Originalpaket entnommen
- Auf folgende Pakete werden keine Fehlernachrichten versandt
- Fehlernachrichten
- Pakete an Multicast-, Link-Level-Multicast- oder Link-Level-Broadcast-Adressen mit folgenden Ausnahmen:
- Packet-Too-Big-Nachrichten
- Parameter-Problem-Nachrichten mit Code 2 - unbekannte IPv6-Option
- Das Netz darf nicht mit ICMPv6-Fehlernachrichten geflutet werden
Anhang
Siehe auch
RFC
RFC | Titel | Jahr | Status |
---|---|---|---|
3122 | Extensions to IPv6 Neighbor Discovery for Inverse Discovery Specification | ||
4443 | Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification | ||
4604 | |||
4861 | Neighbor Discovery for IP Version 6 (IPv6) | ||
7112 | Implications of Oversized IPv6 Header Chains | ||
8200 | Internet Protocol, Version 6 (IPv6) Specification, löst 2460 ab |
Links
Weblinks
- https://de.wikipedia.org/wiki/ICMPv6
- IANA ICMP Parameters - Vollständige Liste der ICMPv6-Typen und -Codes
</noinclude>
Upper Layer Protokolle
IPv6/Upper Layer Protokolle
Beschreibung
- Änderungen in höheren Protokollschichten (Dual Stack)
Untersuchung der Anpassungen in höheren Protokollschichten
- die durch die Einführung von IPv6 notwendig wurden
- insbesondere im Kontext der Dual-Stack-Implementierung
- bei der Geräte gleichzeitig IPv4 und IPv6 unterstützen
Dieser Abschnitt beleuchtet
- Anwendungen und Netzwerkprotokolle modifiziert wurden, um mit beiden IP-Versionen zu arbeiten
- Herausforderungen, die sich aus der Notwendigkeit der gleichzeitigen Unterstützung ergeben
Es wird besprochen
- wie Software und Netzwerkausrüstungen angepasst werden müssen
- um nahtlos zwischen IPv4 und IPv6 wechseln zu können
- und welche speziellen Anpassungen für Protokolle wie HTTP, SMTP und FTP erforderlich sind, um eine vollständige Funktionalität über beide Protokollversionen zu gewährleisten
DNS
Bedeutung von DNS
Wegen der Länge der IP-Adressen, die an das menschliche Erinnerungsvermögen höhere Anforderungen stellt als IPv4-Adressen, ist IPv6 in besonderem Maße von einem funktionierenden Domain Name System (DNS) abhängig
AAAA
RFC 3596 definiert den Resource Record (RR) Typ AAAA (sprich: Quad-A), der genau wie ein A Resource Record für IPv4 einen Namen in eine IPv6-Adresse auflöst
Der Reverse Lookup, also die Auflösung einer IP-Adresse in einen Namen, funktioniert nach wie vor über den RR-Typ PTR, nur ist für IPv6 die Reverse Domain nicht mehr IN-ADDR.ARPA wie für IPv4, sondern IP6
- ARPA und die Delegation von Subdomains darin geschieht nicht mehr an 8-Bit-, sondern an 4-Bit-Grenzen
Ein IPv6-fähiger Rechner sucht in der Regel mittels DNS zu einem Namen zunächst nach dem RR-Typ AAAA, dann nach dem RR-Typ A
- Laut der Default Policy Table in RFC 3484 wird die Kommunikation über IPv6 gegenüber IPv4 bevorzugt, falls festgestellt wird, dass für eine Verbindung beide Protokolle zur Verfügung stehen
Die Anwendungsreihenfolge der Protokolle ist meistens aber auch im Betriebssystem und auf der Anwendungsebene, also beispielsweise im Browser, einstellbar
Root-Nameserver
Elf der dreizehn Root-Nameserver und mindestens zwei Nameserver der meisten Top-Level-Domains sind bereits über IPv6 erreichbar
Das übertragende Protokoll ist unabhängig von den übertragenen Informationen
- Insbesondere kann man über IPv4 einen Nameserver nach AAAA-RRs fragen
Anbieter großer Portalseiten denken jedoch darüber nach, nur DNS-Anfragen, die über IPv6 gestellt werden, auch mit AAAA Resource Records zu beantworten, um Probleme mit fehlerhaft programmierter Software zu vermeiden
Sicherheit
IPv6/Sicherheit - Sicherheit von IPv6-Knoten
Beschreibung
- Empfehlungen
Beschreibung | |
---|---|
1 | Patches einspielen |
2 | Dienste deaktivieren |
3 | Firewall aktivieren |
4 | Dienste nur an benötigte IPv4/IPv6 Adressen binden |
tcp_wrapper
- Zugangsbeschränkungen
- Viele Dienste setzen die tcp_wrapper Bibliothek für die Zugangskontrolle ein
- Eine Beschreibung finden Sie unter use of tcp_wrapper
Sicherheitsüberwachung
- Aktuell gibt es keine komfortablen Sicherheitstools mit denen man ein System über ein Netzwerk nach IPv6 relevanten Sicherheitslücken hin überprüfen kann
- Weder Nessus noch irgendein kommerzieller Security Scanner ist zur Zeit dazu in der Lage, IPv6-Adressen scannen zu können
Rechtsfragen
- ACHTUNG
- Bitte stellen Sie immer sicher, dass Sie ausschließlich ihr eigenes Netzwerk scannen oder einen Scan nur nach Erhalt einer schriftlichen Erlaubnis durchführen.
- Andernfalls haben sie mit rechtlichen Konsequenzen zu rechnen! ÜBERPRÜFEN Sie die Ziel-IPv6-Adresse ZWEIMAL, bevor Sie einen Scan starten
Sicherheitsüberwachung
QoS
IPv6/QoS - IPv6 - Quality of Service
Beschreibung
- IPv6 unterstützt QoS durch die Anwendung von Flow Labels und Traffic Classes.
Vernünftig funktionierendes QoS ist nur an der ausgehenden Schnittstelle eines Routers oder Host möglich, wo der Flaschenhals anfängt. Alles andere bereitet nur Probleme und funktioniert wahrscheinlich nicht so, wie erwartet.
Router
topic - Beschreibung
Beschreibung
Migration
Skript/Netzwerk/IPv6 - Umstieg von IPv4 auf IPv6

Beschreibung
IPv4 und IPv6 können auf derselben Infrastruktur parallel betreiben werden
- Betriebssystem
Geeignete Betriebssysteme benötigen keine neuen
- Leitungen
- Netzwerkkarten
- Geräte
- Unterstützung
IPv6 sollte von aktuellen Betriebssystemen angemessen unterstützt werden
- Fehlende Unterstützung
- ...
- Übergangsverfahren
Mechanismen für einen Übergang von IPv4 zu IPv6
- Für Geräte, die ausschließlich über IPv4 oder IPv6 angebunden werden können
- IPv6 wird dabei in der Regel hinzugeschaltet
- Ohne IPv4 abzuschalten
- Mechanismen
Übergangstechnologie | Beschreibung |
---|---|
Parallelbetrieb | |
Tunnel | |
Übersetzung |
- Parallelbetrieb und Tunnelmechanismen
Setzten voraus, dass die Betriebssysteme beide Protokolle beherrschen
- Es gibt Bereiche des Internet, die ausschließlich mit IPv6 erreichbar sind
- Teile sind mit beiden Protokollen angebunden
- Teile ausschließlich mit IPv4 angebunden sind
Parallelbetrieb
Verfahren | Beschreibung |
---|---|
Dual Stack | Netzknoten mit IPv4 und IPv6 |
Dual Stack Lite | Dual-Stack mit globaler IPv6 und Carrier-NAT IPv4 |
Tunnel
Verfahren | Beschreibung | Status |
---|---|---|
4in6 | IPv4-Datagramm als Payload in IPv6-Datagramm | Aktuell |
6in4 | IPv6-Datagramm als Payload in IPv4-Datagramm | Aktuell |
6over4 | Transport von IPv6-Datagrammen zwischen Dual-Stack Knoten über ein IPv4-Netzwerk | Aktuell |
6to4 | Transport von IPv6-Datagrammen über ein IPv4-Netzwerk | Veraltet |
AYIYA | Anything In Anything | Aktuell |
6rd | IPv6 rapid deployment | Aktuell |
ISATAP | Intra-Site Automatic Tunnel Addressing Protocol (veraltet) | Veraltet |
Teredo | Kapselung von IPv6-Datenpaketen in IPv4-UDP-Datenpaketen | properitär |
Übersetzung
Verfahren | Beschreibung |
---|---|
NAT64 | IPv4-Adressen in IPv6-Adressen |
DNS64 | IPv6-DNS Einträge (AAAA) für IPv4-A-Einträge erzeugen |
464XLAT | IPv4-in-IPv6-in-IPv4 |
Firewall
Skript/Netzwerk/IPv6
ICMPv6
Das Internet Control Message Protocol (ICMP) ist ein Kernbestandteil der Internetprotokollfamilie
- Austausch von Fehlermeldungen und Informationsnachrichten
Bei IPv4 ist es gängige Praxis, ICMP an der Firewall zu blockieren
- Unter IPv6 hat ICMPv6 eine deutlich stärkere Bedeutung bekommen
- Für Mechanismen, wie pMTUd, unerlässlich
- Eine undifferenzierte Filterung von ICMPv6 kann Erreichbarkeitsprobleme mit sich bringen
Daher sollte bei IPv6 keine generelle Sperrung von ICMPv6 erfolgen
Folgende ICMPv6-Typen sollten zumindest teilweise zugelassen werden (vgl. auch RFC/4890)
- Nicht genannte Typen sollten gesperrt werden
- Die Bezeichnungen „vom Internet“ und „zum Internet“ beziehen sich jeweils auf das System, das die Verbindung aufbaut oder deren Endpunkt darstellt (in der Regel ein ALG)
IPv6-ICMP Nachricht (Typ) | Zwischen internen Netzen | Vom Internet | Zum Internet |
---|---|---|---|
Destination unreachable (1) | ✓ | ✓ | ✓ |
Packet too big (2) | ✓ | ✓ | ✓ |
Time exceeded (3) | ✓ | ✓ | ✓ |
Parameter Problem (4) | ✓ | ✓ | ✓ |
Echo-Request (128) | ✓ 1 | ✗ | ✓ 1 |
Echo-Antwort (129) | ✓ 2 | ✓ 2 | ✗ |
Multicast (130-132, 143, 151-153) | ✓ 3 | ✓ 3 | ✓ 3 |
Router (133, 134) | ✓ 3 | ✗ | ✗ |
Neighbor (135,136) | ✓ 3 | ✓ 3 | ✓ 3 |
Redirect (137) | ✓ 3/4 | ✗ | ✗ |
ICMP-Information (139) | ✓ 1 | ✗ | ✗ |
ICMP-Information (140) | ✓ 2 | ✗ | ✗ |
Reverse-Neighbor (141) | ✓ 1 | ✗ | ✗ |
Reverse-Neighbor (142) | ✓ 2 | ✗ | ✗ |
- Legende
- 1 = von der Management-Station aus
- 2 = zur Management-Station hin
- 3 = ohne Forwarding
- 4 = ausgehend vom Router
Quelle
OPNsense
iptables
Regeln Client
* mangle
: PREROUTING ACCEPT [ : ]
: INPUT ACCEPT [ : ]
: FORWARD ACCEPT [ : ]
: OUTPUT ACCEPT [ : ]
: POSTROUTING ACCEPT [ : ]
COMMIT
#
* filter
: INPUT DROP [ : ]
: FORWARD DROP [ : ]
: OUTPUT ACCEPT [ : ]
: ndp-slaac - [ : ]
: trashlog - [ : ]
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack -- ctstate INVALID -j trashlog
-A INPUT -m conntrack -- ctstate RELATED , ESTABLISHED -j ACCEPT
-A INPUT -p ipv6-icmp -j ndp-slaac
-A INPUT -s fe80::/1 -d fe80::/10 -p ipv6-icmp -m icmp6 --icmpv6-type 128 -m conntrack -- ctstate NEW -j ACCEPT
-A INPUT -s fe80::/1 -p tcp -m tcp -- dport 22 -m conntrack -- ctstate NEW -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A ndp-slaac -p ipv6-icmp -m icmp6 --icmpv6-type 133 -m hl --hl-eq 255 -j ACCEPT
-A ndp-slaac -p ipv6-icmp -m icmp6 --icmpv6-type 134 -m hl --hl-eq 255 -j ACCEPT
-A ndp-slaac -p ipv6-icmp -m icmp6 --icmpv6-type 135 -m hl --hl-eq 255 -j ACCEPT
-A ndp-slaac -p ipv6-icmp -m icmp6 --icmpv6-type 136 -m hl --hl-eq 255 -j ACCEPT
-A ndp-slaac -p ipv6-icmp -m icmp6 --icmpv6-type 137 -m hl --hl-eq 255 -j ACCEPT
-A ndp-slaac -p ipv6-icmp -m icmp6 --icmpv6-type 130 -m hl --hl-eq 1 -j ACCEPT
-A ndp-slaac -p ipv6-icmp -m icmp6 --icmpv6-type 131 -m hl --hl-eq 1 -j ACCEPT
-A ndp-slaac -p ipv6-icmp -m icmp6 --icmpv6-type 132 -m hl --hl-eq 1 -j ACCEPT
-A ndp-slaac -p ipv6-icmp -m icmp6 --icmpv6-type 143 -m hl --hl-eq 1 -j ACCEPT
-A trashlog -j LOG -- log - prefix " TRASHLOG : " --log - level 5
-A trashlog -j DROP
COMMIT
Regeln Router
* mangle
: PREROUTING ACCEPT [ : ]
: INPUT ACCEPT [ : ]
: FORWARD ACCEPT [ : ]
: OUTPUT ACCEPT [ : ]
: POSTROUTING ACCEPT [ : ]
COMMIT
#
* filter
: INPUT DROP [ : ]
: FORWARD DROP [ : ]
: OUTPUT ACCEPT [ : ]
: bad - eh - [ : ]
: icmpv6-filter - [ : ]
: ndp-minimal - [ : ]
: trashlog - [ : ]
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack -- ctstate RELATED , ESTABLISHED -j ACCEPT
-A INPUT -m conntrack -- ctstate INVALID -j trashlog
-A INPUT -p ipv6-icmp -j ndp-minimal
-A INPUT -i eth1 -p ipv6-icmp -m icmp6 --icmpv6-type 133 -m hl --hl-eq 255 -j ACCEPT
-A INPUT -i eth1 -p udp -m udp -- dport 53 -m conntrack -- ctstate NEW -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp -- dport 53 -m conntrack -- ctstate NEW -j ACCEPT
-A FORWARD -m conntrack -- ctstate RELATED , ESTABLISHED -j ACCEPT
-A FORWARD -p ipv6-icmp -j icmpv6-filter
-A FORWARD -i eth1 -o sixxs -m conntrack -- ctstate NEW -j ACCEPT
-A FORWARD -i eth1 -o nat64 -m conntrack -- ctstate NEW -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A bad - eh -m rt --rt - type --rt - segsleft -j DROP
-A icmpv6-filter -s fe80::/1 -j DROP
-A icmpv6-filter -d fe80::/1 -j DROP
-A icmpv6-filter -s 2a01:198:200:8a23::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 128 -m conntrack -- ctstate NEW -j ACCEPT
-A icmpv6-filter -d 2a01:198:200:8a23:200:ff:fe60:d1e/128 -p ipv6-icmp -m icmp6 --icmpv6-type 128 -m conntrack -- ctstate NEW -j ACCEPT
-A icmpv6-filter -d ff00::/8 -p ipv6-icmp -m icmp6 --icmpv6-type 129 -j DROP
-A icmpv6-filter -s 2a01:198:200:8a23::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 2 -j ACCEPT
-A icmpv6-filter -s 2a01:198:200:8a23::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 3/1 -j ACCEPT
-A icmpv6-filter -s 2a01:198:200:8a23::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 4/0 -j ACCEPT
-A icmpv6-filter -s 2a01:198:200:8a23::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 4/1 -j ACCEPT
-A icmpv6-filter -s 2a01:198:200:8a23::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 4/2 -j ACCEPT
-A icmpv6-filter -s 2a01:198:200:8a23::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 1 -j ACCEPT
-A icmpv6-filter -s 2a01:198:200:8a23::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 3/0 -j ACCEPT
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 135 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 136 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 133 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 134 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 137 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 130 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 131 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 132 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 143 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 147 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 139 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 140 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 144 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 145 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 146 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 147 -j DROP
-A icmpv6-filter -j DROP
-A ndp-minimal -p ipv6-icmp -m icmp6 --icmpv6-type 135 -m hl --hl-eq 255 -j ACCEPT
-A ndp-minimal -p ipv6-icmp -m icmp6 --icmpv6-type 136 -m hl --hl-eq 255 -j ACCEPT
-A ndp-minimal -p ipv6-icmp -m icmp6 --icmpv6-type 137 -m hl --hl-eq 255 -j ACCEPT
-A ndp-minimal -p ipv6-icmp -m icmp6 --icmpv6-type 130 -m hl --hl-eq 1 -j ACCEPT
-A ndp-minimal -p ipv6-icmp -m icmp6 --icmpv6-type 131 -m hl --hl-eq 1 -j ACCEPT
-A ndp-minimal -p ipv6-icmp -m icmp6 --icmpv6-type 132 -m hl --hl-eq 1 -j ACCEPT
-A ndp-minimal -p ipv6-icmp -m icmp6 --icmpv6-type 143 -m hl --hl-eq 1 -j ACCEPT
-A trashlog -j LOG -- log - prefix " TRASHLOG : " --log - level 5
-A trashlog -j DROP
COMMIT
Tunnel
Skript/Netzwerk/IPv6
Beschreibung
- Verfahren
Verfahren | Beschreibung | Status |
---|---|---|
4in6 | IPv4-Datagramm als Payload in IPv6-Datagramm | Aktuell |
6in4 | IPv6-Datagramm als Payload in IPv4-Datagramm | Aktuell |
6over4 | Transport von IPv6-Datagrammen zwischen Dual-Stack Knoten über ein IPv4-Netzwerk | Aktuell |
6to4 | Transport von IPv6-Datagrammen über ein IPv4-Netzwerk | Veraltet |
AYIYA | Anything In Anything | Aktuell |
6rd | IPv6 rapid deployment | Aktuell |
ISATAP | Intra-Site Automatic Tunnel Addressing Protocol (veraltet) | Veraltet |
Teredo | Kapselung von IPv6-Datenpaketen in IPv4-UDP-Datenpaketen | properitär |
Anhang
Siehe auch
Dokumentation
RFC
Links
Weblinks
</noinclude>
Subnetting
IPv6/Subnetting - IPv6-Adressen mit Subnetzmasken in Netz- und Host-Teil unterteilen
Beschreibung
Wie bei IPv4 können IPv6-Adressen mittels Subnetzmasken (subnet masks) in einen Netz- und einen Host-Teil unterteilt werden
Präfixlängen für das Routing
Um eine maximale Reduktion an Routing-Tabellen zu erzielen, war in der frühen Design-Phase noch ein vollkommen hierarchischer Routing-Ansatz vorgesehen
- Die Überlegungen hinter diesem Ansatz waren die gegenwärtigen IPv4 Routing-Einträge in den Haupt-Routern (mit über 400.000 Einträgen im Jahr 2013) sowie die Reduktion des Speicherbedarfs für die Routing-Tabellen bei Hardware-Routern (ASIC "Application Specified Integrated Circuit", speziell konstuierter Chip) sowie ein daraus resultierender Geschwindigkeitszuwachs (weniger Einträge ergeben hoffentlich schnellere Abfragen)
Heutiger Standpunkt ist, dass das Routing für Netzwerke mit nur einem Service Provider hauptsächlich mit einem hierarchischen Design realisiert wird
- Eine solche Vorgehensweise ist nicht möglich, wenn mehr als eine ISP-Verbindung besteht
- Diese Problematik wird unter dem Thema multi-homing diskutiert (Infos zu multi-homing: drafts-ietf-multi6-*,IPv6 Multihoming Solutions)
Präfixlängen (netmasks)
Vergleichbar zu IPv4, handelt es sich hierbei um den routbaren Netzwerkpfad für das stattfindende Routing
- Da die Standard-Notierung der Netzmaske von 128 bit nicht sehr fein aussieht, verwenden die Designer das aus IPv4 bekannte Classless Inter Domain Routing Schema (CIDR, RFC 1519 / Classless Inter-Domain Routing)
- Mit Hilfe des CIDR wird die Bitanzahl der IP Adresse festgelegt, welche für das Routing verwendet werden
- Diese Methode wird auch als "Slash"-Notation genannt
- Beispiel
Diese Notation wird erweitert zu
- Netzwerk
- Netzmaske
Zutreffende Routen
Im Normalfall (ohne QoS) ergibt eine Suche in der Routing-Tabelle eine Route mit der signifikantesten Adress-Bit-Anzahl, d. h. jene Route mit der größten Präfix-Länge wird zuerst herangezogen
Wenn beispielsweise eine Routing-Tabelle folgende Einträge zeigt (Liste ist nicht komplett)
Die gezeigten Zieladressen der IPv6 Pakete werden über die entsprechenden Geräte geroutet