Zum Inhalt springen

Skript/Netzwerk/IPv6

Aus Foxwiki

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


Header

IPv6/Header - Aufbau des Protokollkopfes von IPv6

Beschreibung

IPv6-Header hat eine feste Größe von 40 Byte (320 Bit)

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

Payload


IPv6/Header/Format

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

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


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
Internet-Protokolle im TCP/IP-Protokollstapel
Internet ICMPv6
IPv6
Netzzugang Ethernet Token
Bus
IEEE
802.11a/b/g/n
FDDI
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

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

ICMPv6 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
Prüfsummen-Schema
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

  1. https://de.wikipedia.org/wiki/ICMPv6
  2. IANA ICMP Parameters - Vollständige Liste der ICMPv6-Typen und -Codes

</noinclude>

ICMPv6 Fuktionen

IPv6/ICMPv6 Fuktionen

Mobile IP

Mobile IP wurde als Erweiterung des IPv6-Standards unter dem Namen "Mobile IPv6" (RFC 6275) in IPv6 integriert.

Überall unter der gleichen IP-Adresse erreichbar

Die Kommunikation erfolgt dabei virtuell immer unabhängig von der aktuellen Position der Knotenpunkte.

Somit erlaubt Mobile IP Endgeräten, überall unter der gleichen IP-Adresse erreichbar zu sein, beispielsweise im heimischen Netzwerk und auf einer Konferenz.

Home Agent

Normalerweise müssten dazu aufwändig Routing-Tabellen geändert werden. Mobile IPv6 benutzt stattdessen einen Schatten-Rechner ("Home Agent"), der das Mobilgerät in seinem Heimnetz vertritt.

Eingehende Pakete werden durch diesen Schattenrechner an die momentane Adresse ("Care-of-Address") des Mobilgeräts getunnelt.

Binding Updates

Der Home Agent bekommt die aktuelle Care-of-Address des Mobilgerätes durch "Binding Updates" mitgeteilt, die das Gerät an den Home Agent sendet, sobald es eine neue Adresse im besuchten Fremdnetz erhalten hat.

IPv4

Mobile IP ist auch für IPv4 spezifiziert.

Im Gegensatz zu dieser Spezifikation benötigt Mobile IPv6 jedoch keinen Foreign Agent, der im Fremdnetz die Anwesenheit von Mobilgeräten registriert.

Mobilität eines Knotens (Node Mobility)

Die Unterstützung für IPv6-Mobilität in Linux kann durch die Installation der MIPL2-Implementierung aktviert werden, welche hier zu finden ist: https://www.mobile-ipv6.org/

Diese Implementierung ist konform zur RFC 3775. Sie besteht aus einem Kernel-Patch und einen Mobilitäts-Daemon (genannt mip6d). Die Version 2.0.1 passt für Linux kernel 2.6.15.

Installation und Setup sind im Linux Mobile IPv6 HOWTO beschrieben.

Netzwerk-Mobililtät

Zusätzlich existiert die Implementierung der Netzwerk-Mobilität für Linux, genannt NEPL, und basiert auf MIPL. Diese steht auch zur Verfügung unter: https://www.mobile-ipv6.org/.

Folgendes HOWTO Dokument beschreibt Setup und Konfiguration: https://www.nautilus6.org/doc/nepl-howto/.


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


Übergang

IPv6/Migration

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

IPv6/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-Datagrammen in IPv4-UDP-Datagrammen properitär

IPv6/Tunnel/Verfahren

Ü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

Zusammenfassung

IPv6-Übergangsmechanismen
4in6 Tunneling von IPv4 in IPv6
6in4 Tunneling von IPv6 in IPv4
6over4 Transport von IPv6-Datenpaketen zwischen Dual-Stack Knoten über ein IPv4-Netzwerk
6to4 Transport von IPv6-Datenpaketen über ein IPv4-Netzwerk (veraltet)
AYIYA Anything In Anything
Dual-Stack Netzknoten mit IPv4 und IPv6 im Parallelbetrieb
Dual-Stack Lite DS-Lite - Wie Dual-Stack, jedoch mit globaler IPv6 und Carrier-NAT IPv4
6rd IPv6 rapid deployment
ISATAP Intra-Site Automatic Tunnel Addressing Protocol (veraltet)
Teredo Kapselung von IPv6-Datenpaketen in IPv4-UDP-Datenpaketen
NAT64 Übersetzung von IPv4-Adressen in IPv6-Adressen
464XLAT Übersetzung von IPv4- in IPv6- in IPv4-Adressen
SIIT Stateless IP/ICMP Translation

IPv6/Migration/Mechanismen


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-Datagrammen in IPv4-UDP-Datagrammen properitär

IPv6/Tunnel/Verfahren

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