diff --git a/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.de.html b/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.de.html index 6db962d3..b89dd933 100644 --- a/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.de.html +++ b/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.de.html @@ -290,17 +290,17 @@ HREF="#AEN778" >
4.4. IPv6 kompatible Programme
4.5. IPv6 kompatible Client-Programme (Auswahl)
4.6. IPv6 kompatible Server
5.1. Unterschiedliche Netzwerk-Geräte
5.2. Interfaces ein/aus-schalten
6.1. Bestehende IPv6 Adressen anzeigen
6.2. Hinzufügen einer IPv6 Adresse
6.3. IPv6 Adressen entfernen
7.1. Bestehende IPv6-Routen anzeigen
7.2. Eine IPv6-Route über ein Gateway hinzufügen
7.3. Eine IPv6-Route über ein Gateway entfernen
7.4. Eine IPv6-Route über ein Interface hinzufügen
7.5. Eine IPv6-Route über ein Interface entfernen
7.6. FAQ für IPv6-Routen
8.1. Netzwerkumgebung mit “ip” anzeigen
8.2. Tabelle der Netzwerkumgebung mit “ip” editieren
9.1. Tunnelarten
9.2. Bestehende Tunnel anzeigen
10.1. Anzeigen von existierenden Tunnels
10.2. Konfiguration eines Punkt-zu-Punkt Tunnels
10.3. Löschen von Punkt-zu-Punkt-Tunnels
11.1. Zugriff auf das /proc-Dateisystem
14.1. Server Socket-Anbindung
15.1. Red Hat Linux und “Klone”
15.2. SuSE Linux
16.1. Stateless Auto-Konfiguration (out-of-the-box)
16.2. Stateless Auto-Konfiguration unter Verwendung des Router Advertisement Daemon (radvd)
16.3. Dynamic Host Configuration Protocol v6 (DHCPv6)
17.1. Allgemeines
18.2. Vorbereitung
18.3. Verwendung
19.1. Sicherheit des Knoten
19.2. Zugangsbeschränkungen
20.1. Nutzungsarten von Verschlüsselung und Authentifizierung
20.2. Unterstützung im Kernel (ESP und AH)
20.3. Automatischer Schlüssel-Austausch (IKE)
20.4. Anmerkungen:
21.1. General
21.2. Linux QoS mit “tc”
23.2. Andere Programmiersprachen
25.4. IPv6 Infrastruktur
26. Versions-Überblick / Danksagung / Zum Schluss
26.3. Zum Schluss
3.4. 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 104.000 Einträgen im Mai 2001) 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).

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:

Einige Implementierungen unterstützen auch %<device> Definition zusätzlich zu -I <device>, z.B.

# ping6 <link-local-ipv6address>%<device>

Beispiel


4.3.1.1. Das Interface für einen IPv6 ping bestimmen

Beispiel für %<device> Notation:

# ping6 -c 1 fe80::2e0:18ff:fe90:9205%eth0

4.3.1.2. Ping6 zu Multicast-Adressen

Beispiel für %<device> Notation:

# ping6 ff02::1%eth0

Bei IPv6 kann dieses Verhalten zurzeit, im Gegensatz zu IPv4, wo Antworten auf ein Ping auf die Broadcast Adresse unterdrückt werden können, nicht unterbunden werden. Ausnahme hierbei ist der Einsatz der lokalen IPv6 Firewall-Funktionalität.

Anmerkung: Im Unterschied zu modernen IPv4 traceroute Versionen, welche den Einsatz von ICMPv4-echo-request Paketen wie auch UDP Paketen (default) ermöglichen, können mit IPv6-traceroute nur UDP Pakete versendet werden. Wie Sie vielleicht bereits wissen, werden von Firewalls bzw. von ACLs auf Routern ICMP echo-request Pakete mehr akzeptiert als UDP Pakete.

Falls ein Interface spezifiziert werden muß, kann dies durch -i <device> oder in der Form <address>%<device> erfolgen.


4.3.4.1. IPv6 ping zur Adresse 2001:0db8:100:f101::1 über einen lokalen Link


4.3.4.2. IPv6 ping zur Adresse 2001:0db8:100::1 über einen IPv6-in-IPv4 Tunnel geroutet


4.4. IPv6 kompatible Programme


4.5. IPv6 kompatible Client-Programme (Auswahl)

Um die folgend abgebildeten Tests durchzuführen, benötigen Sie ein funktionierendes IPv6 System. Bei einigen Beispielen werden Adressen angezeigt, die nur bei einer verfügbaren 6bone Verbindung erreichbar sind.

Note: wenn Namen anstatt dedizierter IPv4/IPv6 Adressen benutzt werden, dann kann dieser zu einer Liste von IPv4 und IPv6 Adressen aufgelöst werden. Einige Kommandozeilenwerkzeuge unterstützen explizite Benutzung des gewünschten Protokolls. Üblicherweis haben solche Werkzeuge Optionen wie “-4” für IPv4 und “-6” für IPv6.


4.6. IPv6 kompatible Server

4.7.1. Anwendung diverser Tools

Just note that addresses beginning with “fec0” are deprecated!

Beispiel für einen automatisch konfigurierten Host.

Hier sehen Sie einige automatisch konfigurierte IP Adressen und deren Lebensdauer.


6.1.2. Verwendung von "ifconfig"


6.2. Hinzufügen einer IPv6 Adresse


6.2.1. Verwendung von "ip"


6.2.2. Verwendung von "ifconfig"


6.3. IPv6 Adressen entfernen


6.3.1. Verwendung von "ip"


6.3.2. Verwendung von "ifconfig"

Kapitel 7. Konfiguration normaler IPv6-Routen

Wenn Sie Ihren lokalen Link verlassen und Pakete in das weltweite IPv6-Internet versenden wollen, dann benötigen Sie Routing. Wenn sich bereits ein IPv6 fähiger Router an Ihrem Link befindet, dann reicht eventuell das Hinzufügen von IPv6 Routen.

Achtung: Adressen beginnend mit “fec0” sind obsolet, hier aber noch der Vollständigheit wegen gezeigt!


7.1. Bestehende IPv6-Routen anzeigen


7.1.1. Verwendung von "ip"


7.1.2. Verwendung von "route"


7.2. Eine IPv6-Route über ein Gateway hinzufügen


7.2.1. Verwendung von "ip"


7.2.2. Verwendung von "route"


7.3. Eine IPv6-Route über ein Gateway entfernen


7.3.1. Verwendung von "ip"


7.3.2. Verwendung von "route"


7.4. Eine IPv6-Route über ein Interface hinzufügen


7.4.1. Verwendung von "ip"


7.4.2. Verwendung von "route"


7.5. Eine IPv6-Route über ein Interface entfernen


7.5.1. Verwendung von "ip"


7.5.2. Verwendung von "route"


7.6. FAQ für IPv6-Routen

7.6.1. Unterstützung einer IPv6 Default-Route


7.6.1.1. Clients (kein Routing eines Paketes!)


7.6.1.2. Router & Paketweiterleitung


8.1. Netzwerkumgebung mit “ip” anzeigen


8.2. Tabelle der Netzwerkumgebung mit “ip” editieren

8.2.1. Eintrag manuell hinzufügen


8.2.2. Eintrag manuell entfernen


8.2.3. Erweiterte Einstellungen


9.1. Tunnelarten


9.1.1. Statische Punkt-zu-Punkt Tunnel


9.1.2. Automatische Tunnel


9.1.3.1. Erstellen eines 6to4 Präfixes


9.1.3.2. 6to4 Tunnel zum Upstream


9.1.3.3. 6to4 Tunnel zum Downstream

  • Der entfernte Host sendet die Pakete zurück an das weltweite IPv6 Netzwerk, und abhängig vom dynamischen Routing, erstellt dann ein Relay-Router automatisch zum lokalen Knoten einen Tunnel.

    Der entfernte Host sendet die Pakete zurück an das weltweite IPv6 Netzwerk, und abhängig vom dynamischen Routing, erstellt dann ein Relay-Router eines ISPs, der 2002::/16 via BGP kundgibt, automatisch zum lokalen Knoten einen Tunnel.


  • 9.1.3.4. Möglicher 6to4 Verkehr

    Vom non-6to4 zum 6to4: Der Datenstrom wird mittels Downstream-Tunnel versendet.

    Achtung, durch das mögliche asymmetrische Routing können Probleme mit defekten 6to4-Relays schwer zu diagnostizieren sein.


    9.1.4. UDP gekapselte IPv6 Tunnels


    9.1.4.1. Teredo Tunnel


    9.1.4.2. AYIYA Tunnel


    9.1.4.3. gogo6 Tunnel


    9.2. Bestehende Tunnel anzeigen

    9.2.1. Verwendung von "ip"


    9.2.2. Verwendung von "route"


    9.3.1. Einen Punkt-zu-Punkt Tunnel hinzufügen

    9.3.1.1. Verwendung von "ip"


    9.3.1.2. Verwendung von "ifconfig" und "route" (nicht empfehlenswert)


    9.3.1.3. Verwendung allein von "route"


    9.3.2. Punkt-zu-Punkt Tunnel entfernen


    9.3.2.1. Verwendung von "ip"


    9.3.2.2. Verwendung von "ifconfig" und "route" (nicht empfehlenswert, da unbequem)


    9.3.2.3. Verwendung von "route"


    9.3.3. Nummerierte Punkt-zu-Punkt Tunnel


    9.4.1. 6to4 Tunnel hinzufügen


    9.4.1.1. Verwendung von "ip" und einem dedizierten Tunnel-Device


    9.4.1.2. Verwendung von "ifconfig" und "route" sowie einem generischen Tunnel-Device "sit0" (nicht empfehlenswert)


    9.4.2. 6to4 Tunnel entfernen

    9.4.2.1. Verwendung von "ip" und einem dedizierten Tunnel-Device


    9.4.2.2. Verwendung von "ifconfig" und "route" sowie einem generischen Tunnel-Device "sit0" (nicht empfehlenswert)


    10.1. Anzeigen von existierenden Tunnels


    10.2. Konfiguration eines Punkt-zu-Punkt Tunnels


    10.3. Löschen von Punkt-zu-Punkt-Tunnels


    11.1. Zugriff auf das /proc-Dateisystem

    11.1.1. Verwendung von "cat" und "echo"


    11.1.1.1. Wert anzeigen


    11.1.1.2. Wert einstellen


    11.1.2. Verwendung von "sysctl"


    11.1.2.1. Wert anzeigen


    11.1.2.2. Wert einstellen


    11.1.2.3. Sonstiges


    11.1.3. Werte im /proc-Dateisystem

    11.2.1. conf/default/*


    11.2.2. conf/all/*


    11.2.2.1. conf/all/forwarding


    11.2.3. conf/interface/*


    11.2.3.1. accept_ra


    11.2.3.2. accept_redirects


    11.2.3.3. autoconf


    11.2.3.4. dad_transmits


    11.2.3.5. forwarding


    11.2.3.6. hop_limit


    11.2.3.7. mtu


    11.2.3.8. router_solicitation_delay


    11.2.3.9. router_solicitation_interval


    11.2.3.10. router_solicitations


    11.2.4. neigh/default/*


    11.2.4.1. gc_thresh1


    11.2.4.2. gc_thresh2


    11.2.4.3. gc_thresh3


    11.2.4.4. gc_interval


    11.2.5. neigh/interface/*


    11.2.5.1. anycast_delay


    11.2.5.2. gc_stale_time


    11.2.5.3. proxy_qlen


    11.2.5.4. unres_qlen


    11.2.5.5. app_solicit


    11.2.5.6. locktime


    11.2.5.7. retrans_time


    11.2.5.8. base_reachable_time


    11.2.5.9. mcast_solicit


    11.2.5.10. ucast_solicit


    11.2.5.11. delay_first_probe_time


    11.2.5.12. proxy_delay


    11.2.6. route/*


    11.2.6.1. flush


    11.2.6.2. gc_interval


    11.2.6.3. gc_thresh


    11.2.6.4. mtu_expires


    11.2.6.5. gc_elasticity


    11.2.6.6. gc_min_interval


    11.2.6.7. gc_timeout


    11.2.6.8. min_adv_mss


    11.2.6.9. max_size


    11.3.1. ip_*

    11.3.1.1. ip_local_port_range


    11.3.2. tcp_*


    11.3.3. icmp_*


    11.3.4. Sonstige Einträge


    11.4.1. if_inet6


    11.4.2. ipv6_route


    11.4.3. sockstat6


    11.4.4. tcp6


    11.4.5. udp6


    11.4.6. igmp6


    11.4.7. raw6


    11.4.8. ip6_flowlabel


    11.4.9. rt6_stats


    11.4.10. snmp6


    11.4.11. ip6_tables_names

    14.1. Server Socket-Anbindung

    14.1.1. Überprüfung der Server Socket-Anbindung mit “netstat”


    14.2.1. Router-Erkennung

    14.2.1.1. Router Advertisement


    14.2.1.2. Router Anfrage


    14.2.2. Neighbor-Erkennung


    18.3.2.3. Hinzufügen einer Log-Regel zum Input-Filter mit Optionen


    18.3.2.4. Hinzufügen einer Drop-Regel zum Input-Filter


    18.3.2.5. Löschen einer Regel mit Hilfe der Regelnummer


    18.3.2.6. Aktiviere die Auswertung des Verbindungsstatus (connection tracking)


    18.3.2.7. ICMPv6 erlauben


    18.3.2.8. Rate-limiting


    18.3.2.9. Eingehende SSH-Verbindung erlauben


    18.3.2.10. Getunnelten IPv6-in-IPv4 Datenverkehr erlauben


    18.3.2.11. Schutz gegen eingehende TCP-Verbindungs-Anfragen


    18.3.2.12. Schutz gegen eingehende UDP-Verbindungs-Anfragen


    18.3.3. Anwendungsbeispiele

    18.3.3.1. Einfaches Beispiel für Fedora


    18.3.3.2. Umfangreicheres Beispiel


    18.4.1. IPv6 Maskierung


    18.4.2. IPv6 Destination NAT


    18.4.3. IPv6 Port Weiterleitung

    19.1. Sicherheit des Knoten


    19.2. Zugangsbeschränkungen


    19.3.1. Rechtsfragen


    19.3.2. Sicherheitsüberwachung mit IPv6 fähigen netcat


    19.3.3. Sicherheitsüberwachung mit IPv6 fähigen NMap


    19.3.4. Sicherheitsüberwachung mit IPv6 fähigen strobe19.3.4. Sicherheitsüberprüfung IPv6 fähigen strobe

    Strobe ist (im Vergleich zu NMap) ein low budget Portscanner. Allerdings gibt es für Strobe einen IPv6 Patch (siehe


    19.3.5. Überwachungsergebnisse19.3.5. Sicherheitsüberprüfung mit Online-Werkzeugen

    Es gibt einige IPv6-fähige Online-Werkzeuge, welche das Testen einer Firewall-Konfiguration bzgl. eingehenden Verbindungen unterstützen können:


    19.3.6. Überprüfungsergebnisse

    Falls das Ergebnis einer Überwachung nicht Ihren IPv6 Sicherheitsrichtlinien entspricht, schließen Sie die Lücken mit Hilfe der IPv6-Firewall-Funktionalität, z.B. mit netfilter6 (siehe


    20.1. Nutzungsarten von Verschlüsselung und Authentifizierung


    20.1.1. Transport-Modus


    20.1.2. Tunnel-Modus


    20.2. Unterstützung im Kernel (ESP und AH)


    22.3.1.2. Virtueller Host mit IPv4 und IPv6 Adresse


    22.3.1.3. Zusätzliche Anmerkungen


    22.4.1. radvd konfigurieren

    22.4.1.1. Einfache Konfiguration


    22.4.1.2. Spezielle 6to4 Konfiguration


    22.4.2. Fehlersuche


    22.5.1. Konfiguration des DHCPv6-Servers (dhcp6s)

    22.5.1.1. Einfache Konfiguration


    22.5.2. Konfiguration des DHCPv6-Client (dhcp6s)

    22.5.2.1. Einfache Konfiguration


    22.5.3. Benutzung

    22.5.3.1. dhcp6s


    22.5.3.2. dhcp6c


    22.5.4. Fehlersuche

    22.5.4.1. dhcp6s


    22.5.4.2. dhcp6c


    22.6.1. Konfiguration des ISC DHCP Server für IPv6 (dhcpd)


    22.6.1.1. Einfache Configuration


    22.6.2. Benutzung

    22.6.2.1. dhcpd


    22.7.1. Konfiguration des Dibbler DHCP server für IPv6

    22.7.1.1. Einfache Konfuration


    22.7.2. Benutzung

    22.7.2.1. dibbler-server


    22.8.1. Filter-Funktionalität


    22.8.2. Welches Programm benützt tcp_wrapper


    22.8.3. Anwendung


    22.8.3.1. Beispiel für /etc/hosts.allow


    22.8.3.2. Beispiel für /etc/hosts.deny


    22.8.4. Protokollierung


    22.8.4.1. Abgelehnte Verbindung


    22.8.4.2. Akzeptierte Verbindung

    22.9.1. Auf IPv6-Adressen lauschen

    22.10.1. Auf IPv6-Adressen lauschen


    23.2. Andere Programmiersprachen

    25.6.1. Test-Werkzeuge


    25.6.2. Informationsbeschaffung


    25.6.3. IPv6 Looking Glasses


    25.6.4. Hilfsapplikationen


    Kapitel 26. Versions-Überblick / Danksagung / Zum Schluss


    26.1.1. Ausgabe 0.x

    26.1.1.1. Englische Sprachversion (Peter Bieringer's Original)


    26.1.1.2. Deutsche Sprachversion


    26.2.2. Sonstiger Dank...

    26.2.2.1. Verwaltung des Dokuments


    26.3. Zum Schluss

    ] \end_layout +\begin_layout Standard + +\lang english +Einige Implementierungen unterstützen auch % Definition zusätzlich + zu -I , z.B. +\end_layout + +\begin_layout Code + +# ping6 % +\end_layout + \begin_layout Standard Beispiel \end_layout @@ -3821,6 +3833,17 @@ PING fe80::212:23ff:fe12:3456(fe80::212:23ff:fe12:3456) from ¬ min/avg/max/mdev = 0.445/0.445/0.445/0.000 ms \end_layout +\begin_layout Standard + +\lang english +Beispiel für % Notation: +\end_layout + +\begin_layout Code + +# ping6 -c 1 fe80::2e0:18ff:fe90:9205%eth0 +\end_layout + \begin_layout Subsubsection Ping6 zu Multicast-Adressen \end_layout @@ -3851,6 +3874,17 @@ PING ff02::1(ff02::1) from fe80:::2ab:cdff:feef:0123 eth0: 56 data bytes \end_layout +\begin_layout Standard + +\lang english +Beispiel für % Notation: +\end_layout + +\begin_layout Code + +# ping6 ff02::1%eth0 +\end_layout + \begin_layout Standard Bei IPv6 kann dieses Verhalten zurzeit, im Gegensatz zu IPv4, wo Antworten auf ein Ping auf die Broadcast Adresse unterdrückt werden können, nicht @@ -3932,6 +3966,11 @@ Anmerkung: Im Unterschied zu modernen IPv4 traceroute Versionen, welche \end_layout +\begin_layout Standard +Falls ein Interface spezifiziert werden muß, kann dies durch -i + oder in der Form

    % erfolgen. +\end_layout + \begin_layout Subsection \begin_inset CommandInset label LatexCommand label @@ -4226,6 +4265,32 @@ des IPv6 System. 6bone Verbindung erreichbar sind. \end_layout +\begin_layout Standard + +\lang english +Note: wenn Namen anstatt dedizierter IPv4/IPv6 Adressen benutzt werden, + dann kann dieser zu einer Liste von IPv4 und IPv6 Adressen aufgelöst werden. + Einige Kommandozeilenwerkzeuge unterstützen explizite Benutzung des gewünschten + Protokolls. + Üblicherweis haben solche Werkzeuge Optionen wie +\begin_inset Quotes sld +\end_inset + +-4 +\begin_inset Quotes srd +\end_inset + + für IPv4 und +\begin_inset Quotes sld +\end_inset + +-6 +\begin_inset Quotes srd +\end_inset + + für IPv6. +\end_layout + \begin_layout Subsection DNS-Überprüfung der IPv6 Adress-Auflösung \end_layout @@ -4528,6 +4593,84 @@ target "http://www.kame.net/" zustande gekommen, andererseits bleibt die Schildkröte statisch. \end_layout +\begin_layout Standard +Andere Test-Server sind z.B. +\end_layout + +\begin_layout Itemize +\begin_inset CommandInset href +LatexCommand href +name "What Is My IPv6" +target "http://www.whatismyipv6.com/" + +\end_inset + + +\end_layout + +\begin_layout Itemize +\begin_inset CommandInset href +LatexCommand href +name "ip.bieringer.de" +target "http://ip.bieringer.de/" + +\end_inset + + +\end_layout + +\begin_layout Itemize +\begin_inset CommandInset href +LatexCommand href +name "IPv6 Test" +target "http://ipv6-test.com/" + +\end_inset + + +\end_layout + +\begin_layout Itemize +\begin_inset CommandInset href +LatexCommand href +name "test-ipv6.com" +target "http://test-ipv6.com/" + +\end_inset + + +\end_layout + +\begin_layout Itemize +\begin_inset CommandInset href +LatexCommand href +name "The ICSI Netalyzr" +target "http://netalyzr.icsi.berkeley.edu/" + +\end_inset + + +\end_layout + +\begin_layout Itemize +\begin_inset CommandInset href +LatexCommand href +name "Speedtest Comcast" +target "http://speedtest.comcast.net/" + +\end_inset + +, +\begin_inset CommandInset href +LatexCommand href +name "IPv6 Speedtest Comcast" +target "http://ipv6.speedtest.comcast.net/" + +\end_inset + + +\end_layout + \begin_layout Section IPv6 kompatible Server \end_layout @@ -4970,6 +5113,20 @@ Zuerst sollten sie überprüfen, ob und welche IPv6 Adressen bereits konfigurier \end_layout +\begin_layout Standard + +\lang english +Achtung: Adressen beginnend mit +\begin_inset Quotes sld +\end_inset + +fec0 +\begin_inset Quotes srd +\end_inset + + sind obsolet, hier aber noch der Vollständigheit wegen gezeigt! +\end_layout + \begin_layout Subsection Verwendung von "ip" \end_layout @@ -5012,6 +5169,20 @@ inet6 2001:0db8:0:f101::1/64 scope global inet6 fec0:0:0:f101::1/64 scope site \end_layout +\begin_layout Standard + +\lang english +Just note that addresses beginning with +\begin_inset Quotes sld +\end_inset + +fec0 +\begin_inset Quotes srd +\end_inset + + are deprecated! +\end_layout + \begin_layout Standard Beispiel für einen automatisch konfigurierten Host. \end_layout @@ -5228,6 +5399,20 @@ Wenn Sie Ihren lokalen Link verlassen und Pakete in das weltweite IPv6-Internet reicht eventuell das Hinzufügen von IPv6 Routen. \end_layout +\begin_layout Standard + +\lang english +Achtung: Adressen beginnend mit +\begin_inset Quotes sld +\end_inset + +fec0 +\begin_inset Quotes srd +\end_inset + + sind obsolet, hier aber noch der Vollständigheit wegen gezeigt! +\end_layout + \begin_layout Section Bestehende IPv6-Routen anzeigen \end_layout @@ -6185,8 +6370,9 @@ Der entfernte Host benutzt 6to4 und sendet die Pakete direkt an den lokalen \begin_layout Itemize Der entfernte Host sendet die Pakete zurück an das weltweite IPv6 Netzwerk, - und abhängig vom dynamischen Routing, erstellt dann ein Relay-Router automatisc -h zum lokalen Knoten einen Tunnel. + und abhängig vom dynamischen Routing, erstellt dann ein Relay-Router eines + ISPs, der 2002::/16 via BGP kundgibt, automatisch zum lokalen Knoten einen + Tunnel. \end_layout \begin_layout Subsubsection @@ -6206,6 +6392,11 @@ Vom 6to4 zum non-6to4: Der Datenstrom wird mittels Upstream-Tunnel versendet. Vom non-6to4 zum 6to4: Der Datenstrom wird mittels Downstream-Tunnel versendet. \end_layout +\begin_layout Standard +Achtung, durch das mögliche asymmetrische Routing können Probleme mit defekten + 6to4-Relays schwer zu diagnostizieren sein. +\end_layout + \begin_layout Subsection \lang english @@ -12672,7 +12863,7 @@ Nmap run completed -- 1 IP address (1 host up) scanned in 0.525 seconds \end_layout \begin_layout Subsection -Sicherheitsüberwachung mit IPv6 fähigen strobe +Sicherheitsüberprüfung IPv6 fähigen strobe \end_layout \begin_layout Standard @@ -12725,7 +12916,47 @@ mmer ist zudem falsch. \end_layout \begin_layout Subsection -Überwachungsergebnisse + +\lang english +Sicherheitsüberprüfung mit Online-Werkzeugen +\end_layout + +\begin_layout Standard + +\lang english +Es gibt einige IPv6-fähige Online-Werkzeuge, welche das Testen einer Firewall-Ko +nfiguration bzgl. + eingehenden Verbindungen unterstützen können: +\end_layout + +\begin_layout Itemize + +\lang english +\begin_inset CommandInset href +LatexCommand href +name "Tim's Online IPv6 TCP/UDP Port Scanner" +target "http://ipv6.chappell-family.com/ipv6tcptest/" + +\end_inset + + +\end_layout + +\begin_layout Itemize + +\lang english +\begin_inset CommandInset href +LatexCommand href +name "SubnetOnline IPv6 Scanner" +target "http://www.subnetonline.com/pages/ipv6-network-tools/online-ipv6-port-scanner.php" + +\end_inset + + +\end_layout + +\begin_layout Subsection +Überprüfungsergebnisse \end_layout \begin_layout Standard diff --git a/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.de.pdf b/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.de.pdf index 913934d6..3eec71ee 100644 Binary files a/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.de.pdf and b/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.de.pdf differ diff --git a/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.de.sgml b/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.de.sgml index 4222729c..97caeef3 100644 --- a/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.de.sgml +++ b/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.de.sgml @@ -378,7 +378,7 @@ Aufgrund dessen, daß IPv6 nun produktiv ist, wird dieser Präfix nicht mehr lä 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 -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 104.000 Einträgen im Mai 2001) 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). +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" genannt) 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. @@ -466,6 +466,8 @@ Aufgrund dessen, daß IPv6 nun produktiv ist, wird dieser Präfix nicht mehr lä # ping6 # ping6 [-I ] +]]>Einige Implementierungen unterstützen auch %<device> Definition zusätzlich zu -I <device>, z.B. +% ]]>Beispiel Beispiel für %<device> Notation: + Ping6 zu Multicast-Adressen Ein interessanter Mechanismus zum Aufspüren eines IPv6 aktiven Hosts am Link ist mit ping6 an eine link-lokale all-node Multicast Adresse zu pingen. @@ -496,6 +500,8 @@ PING fe80::212:23ff:fe12:3456(fe80::212:23ff:fe12:3456) from PING ff02::1(ff02::1) from fe80:::2ab:cdff:feef:0123 eth0: 56 data bytes 64 bytes from ::1: icmp_seq=1 ttl=64 time=0.104 ms 64 bytes from fe80::212:34ff:fe12:3450: icmp_seq=1 ttl=64 time=0.549 ms (DUP!) +]]>Beispiel für %<device> Notation: +Bei IPv6 kann dieses Verhalten zurzeit, im Gegensatz zu IPv4, wo Antworten auf ein Ping auf die Broadcast Adresse unterdrückt werden können, nicht unterbunden werden. Ausnahme hierbei ist der Einsatz der lokalen IPv6 Firewall-Funktionalität. <!-- anchor id="program-traceroute6." -->IPv6 traceroute6 Dieses Programm ist normal im Paket iputils enthalten. Es ist ein Programm vergleichbar dem IPv4 traceroute. Unten sehen Sie ein Beispiel: @@ -508,7 +514,8 @@ traceroute to 6bone.net (3ffe:b00:c18:1::10) from 2001:0db8:0000:f101::2, 30 4 3ffe:c00:8023:2b::2 (3ffe:c00:8023:2b::2) 968.468 ms 993.392 ms 973.441 ms 5 3ffe:2e00:e:c::3 (3ffe:2e00:e:c::3) 507.784 ms 505.549 ms 508.928 ms 6 www.6bone.net (3ffe:b00:c18:1::10) 1265.85 ms * 1304.74 ms -]]>Anmerkung: Im Unterschied zu modernen IPv4 traceroute Versionen, welche den Einsatz von ICMPv4-echo-request Paketen wie auch UDP Paketen (default) ermöglichen, können mit IPv6-traceroute nur UDP Pakete versendet werden. Wie Sie vielleicht bereits wissen, werden von Firewalls bzw. von ACLs auf Routern ICMP echo-request Pakete mehr akzeptiert als UDP Pakete. +]]>Anmerkung: Im Unterschied zu modernen IPv4 traceroute Versionen, welche den Einsatz von ICMPv4-echo-request Paketen wie auch UDP Paketen (default) ermöglichen, können mit IPv6-traceroute nur UDP Pakete versendet werden. Wie Sie vielleicht bereits wissen, werden von Firewalls bzw. von ACLs auf Routern ICMP echo-request Pakete mehr akzeptiert als UDP Pakete. +Falls ein Interface spezifiziert werden muß, kann dies durch -i <device> oder in der Form <address>%<device> erfolgen. <!-- anchor id="program-tracepath6." -->IPv6 tracepath6 Dieses Programm ist normalerweise im Paket iputils enthalten. Das Programm ist dem traceroute6 ähnlich, es gibt den Weg zu einem angegebenen Ziel wieder und misst hierbei den MTU-Wert. Unten sehen Sie ein Beispiel: IPv6 kompatible Programme Aktuelle Distributionen beinhalten bereits die gängigsten IPv6 kompatiblen Client- und Server-Programme. Weitere Infos gibt es unter IPv6+Linux-Status-Distribution. Falls ein Programm hier noch nicht gelistet sein sollte, können Sie unter Current Status of IPv6 Support for Networking Applications nachlesen, ob das Programm bereits auf IPv6 portiert wurde und unter Linux bereits läuft. Für verbreitete Programme gibt es einige Hinweise hier weiter unten. IPv6 kompatible Client-Programme (Auswahl) -Um die folgend abgebildeten Tests durchzuführen, benötigen Sie ein funktionierendes IPv6 System. Bei einigen Beispielen werden Adressen angezeigt, die nur bei einer verfügbaren 6bone Verbindung erreichbar sind. +Um die folgend abgebildeten Tests durchzuführen, benötigen Sie ein funktionierendes IPv6 System. Bei einigen Beispielen werden Adressen angezeigt, die nur bei einer verfügbaren 6bone Verbindung erreichbar sind. +Note: wenn Namen anstatt dedizierter IPv4/IPv6 Adressen benutzt werden, dann kann dieser zu einer Liste von IPv4 und IPv6 Adressen aufgelöst werden. Einige Kommandozeilenwerkzeuge unterstützen explizite Benutzung des gewünschten Protokolls. Üblicherweis haben solche Werkzeuge Optionen wie “-4” für IPv4 und “-6” für IPv6. DNS-Überprüfung der IPv6 Adress-Auflösung Jeder DNS-Server (Domain Name System) sollte aufgrund der Sicherheitsupdates der letzten Jahre bereits mit neuerer Software bestückt sein, die den Übergangs-IPv6-Adress-Standardtyp AAAA unterstützt (der neueste Standardtyp - A6 genannt - wird nur von BIND9 und höheren Versionen unterstützt und ist daher noch nicht allzu verbreitet. Ebenfalls nicht unterstützt wird die root Domain IP6.ARPA). Ein einfacher Test zum überprüfen der IPv6 Adress-Auflösung ist: Ist ein IPv4 Proxy in den Einstellungen eingetragen, dann werden IPv6 Anfragen zum Proxy gesendet. Der Proxy kann keine IPv6 Anfragen verstehen und somit scheitert die Anfrage. Lösung: Proxy Software aktualisieren (siehe weiter unten).Automatik-Einstellungen des Proxy (*.pac) können aufgrund ihrer Beschaffenheit nicht derart erweitert werden, dass sie IPv6 Anfragen anders handhaben (z.B. kein Proxy verwenden) können (Sie sind in Javaskript geschrieben und ziemlich hard coded in den Quellen verankert; z.B. Mozilla Quellcode).Ältere Browser-Versionen verstehen ebenfalls keine URL mit IPv6 Adressen wie z.B. http://[2001:4dd0:f838:a006::6]/, IPv6-Addresse von http://www.ipv6.bieringer.de/ (die angegebene URL funktioniert nur mit einem IPv6 kompatiblen Browser!). Ein kleiner Test ist diese URL mit einem gegebenen Browser und ohne Proxy zu verwenden. URLs zum testen -Ein guter Ausgangspunkt zum Betrachten von Webseiten mit IPv6 ist http://www.kame.net/. Ist die Schildkröte animiert, dann ist Verbindung mittels IPv6 Verbindung zustande gekommen, andererseits bleibt die Schildkröte statisch. +Ein guter Ausgangspunkt zum Betrachten von Webseiten mit IPv6 ist http://www.kame.net/. Ist die Schildkröte animiert, dann ist Verbindung mittels IPv6 Verbindung zustande gekommen, andererseits bleibt die Schildkröte statisch. +Andere Test-Server sind z.B. +What Is My IPv6ip.bieringer.deIPv6 Testtest-ipv6.comThe ICSI NetalyzrSpeedtest Comcast, IPv6 Speedtest Comcast IPv6 kompatible Server In diesem Teil des HOWTOs wird stärker auf Client-spezifische Belange eingegangen. Folglich sei zu IPv6 kompatiblen Servern wie sshd, httpd, telnetd usw. auf diese Stelle verwiesen: Hints for IPv6-enabled daemons. <!-- anchor id="faq-ipv6-ready-system-check" -->FAQ (IPv6 Systemcheck) @@ -664,7 +674,8 @@ user@::1's password: ****** <!-- anchor id="chapter-configuration-address" -->IPv6 Adressen konfigurieren Es gibt verschiedene Methoden zum konfigurieren einer IPv6 Adresse eines Interfaces. Sie können "ifconfig" oder "ip" dazu einsetzen. Bestehende IPv6 Adressen anzeigen -Zuerst sollten sie überprüfen, ob und welche IPv6 Adressen bereits konfiguriert sind (etwa durch automatischer stateless Konfiguration). +Zuerst sollten sie überprüfen, ob und welche IPv6 Adressen bereits konfiguriert sind (etwa durch automatischer stateless Konfiguration). +Achtung: Adressen beginnend mit “fec0” sind obsolet, hier aber noch der Vollständigheit wegen gezeigt! Verwendung von "ip" Anwendung: @@ -674,7 +685,8 @@ user@::1's password: ****** inet6 fe80::210:a4ff:fee3:9566/10 scope link inet6 2001:0db8:0:f101::1/64 scope global inet6 fec0:0:0:f101::1/64 scope site -]]>Beispiel für einen automatisch konfigurierten Host. +]]>Just note that addresses beginning with “fec0” are deprecated! +Beispiel für einen automatisch konfigurierten Host. Hier sehen Sie einige automatisch konfigurierte IP Adressen und deren Lebensdauer. <!-- anchor id="chapter-configuration-route" -->Konfiguration normaler IPv6-Routen -Wenn Sie Ihren lokalen Link verlassen und Pakete in das weltweite IPv6-Internet versenden wollen, dann benötigen Sie Routing. Wenn sich bereits ein IPv6 fähiger Router an Ihrem Link befindet, dann reicht eventuell das Hinzufügen von IPv6 Routen. +Wenn Sie Ihren lokalen Link verlassen und Pakete in das weltweite IPv6-Internet versenden wollen, dann benötigen Sie Routing. Wenn sich bereits ein IPv6 fähiger Router an Ihrem Link befindet, dann reicht eventuell das Hinzufügen von IPv6 Routen. +Achtung: Adressen beginnend mit “fec0” sind obsolet, hier aber noch der Vollständigheit wegen gezeigt! Bestehende IPv6-Routen anzeigen Zuerst sollten sie überprüfen, ob und welche IPv6 Adressen bereits konfiguriert sind (etwa durch automatischer Konfiguration). Verwendung von "ip" @@ -886,10 +899,10 @@ Usage: ip neigh { add | del | change | replace } { ADDR [ lladdr LLADDR ] Heute können Upstream Router automatisch mittels der anycast Adresse 192.88.99.1 gefunden werden. Routing Protokolle sind für die Verarbeitung im Hintergrund zuständig, siehe RFC 3068 / An Anycast Prefix for 6to4 Relay Routers für weitere Details. 6to4 Tunnel zum Downstream Der Downstream (6bone -> Ihr 6to4 fähiger Node) ist nicht wirklich fix, er kann von jenem Host variieren, an dem ursprünglich die Pakete gesendet wurden. Es gibt zwei Möglichkeiten: -Der entfernte Host benutzt 6to4 und sendet die Pakete direkt an den lokalen Knoten zurück (siehe unten).Der entfernte Host sendet die Pakete zurück an das weltweite IPv6 Netzwerk, und abhängig vom dynamischen Routing, erstellt dann ein Relay-Router automatisch zum lokalen Knoten einen Tunnel. +Der entfernte Host benutzt 6to4 und sendet die Pakete direkt an den lokalen Knoten zurück (siehe unten).Der entfernte Host sendet die Pakete zurück an das weltweite IPv6 Netzwerk, und abhängig vom dynamischen Routing, erstellt dann ein Relay-Router eines ISPs, der 2002::/16 via BGP kundgibt, automatisch zum lokalen Knoten einen Tunnel. Möglicher 6to4 Verkehr -Vom 6to4 zum 6to4: der Tunnel entsteht normalerweise direkt zwischen den beiden 6to4 fähigen Hosts.Vom 6to4 zum non-6to4: Der Datenstrom wird mittels Upstream-Tunnel versendet.Vom non-6to4 zum 6to4: Der Datenstrom wird mittels Downstream-Tunnel versendet. +Vom 6to4 zum 6to4: der Tunnel entsteht normalerweise direkt zwischen den beiden 6to4 fähigen Hosts.Vom 6to4 zum non-6to4: Der Datenstrom wird mittels Upstream-Tunnel versendet.Vom non-6to4 zum 6to4: Der Datenstrom wird mittels Downstream-Tunnel versendet.Achtung, durch das mögliche asymmetrische Routing können Probleme mit defekten 6to4-Relays schwer zu diagnostizieren sein. UDP gekapselte IPv6 Tunnels UDP gekapseltes IPv6 Tunneling wird üblicherweise benutzt, wenn am internen Endpunkt keine globale IPv4 Addresse verfügbar ist, aber via Network Adress Translation (NAT) noch entsprechende Endpunkte im Internet mit Hilfe unten beschriebener UDP Ports erreichbar sind. Teredo Tunnel @@ -1990,7 +2003,7 @@ Port State Service 2401/tcp open cvspserver Nmap run completed -- 1 IP address (1 host up) scanned in 0.525 seconds ]]> -Sicherheitsüberwachung mit IPv6 fähigen strobe +Sicherheitsüberprüfung IPv6 fähigen strobe Strobe ist (im Vergleich zu NMap) ein low budget Portscanner. Allerdings gibt es für Strobe einen IPv6 Patch (siehe IPv6+Linux-status-apps/security-auditing für Details). Anwendungsbeispiel: . ::1 2401 unassigned unknown @@ -1999,7 +2012,10 @@ Nmap run completed -- 1 IP address (1 host up) scanned in 0.525 seconds ::1 6010 unassigned unknown ::1 53 domain Domain Name Server ]]>Hinweis: strobe wird nicht wirklich weiterentwickelt, die abgebildete Versionsnummer ist zudem falsch. -Überwachungsergebnisse +Sicherheitsüberprüfung mit Online-Werkzeugen +Es gibt einige IPv6-fähige Online-Werkzeuge, welche das Testen einer Firewall-Konfiguration bzgl. eingehenden Verbindungen unterstützen können: +Tim's Online IPv6 TCP/UDP Port ScannerSubnetOnline IPv6 Scanner +Überprüfungsergebnisse Falls das Ergebnis einer Überwachung nicht Ihren IPv6 Sicherheitsrichtlinien entspricht, schließen Sie die Lücken mit Hilfe der IPv6-Firewall-Funktionalität, z.B. mit netfilter6 (siehe Firewalling/Netfilter6 für Details). Hinweis: Detailliertere Informationen zum Thema IPv6 Sicherheit finden Sie unter folgenden Links: IETF drafts - IPv6 Operations (v6ops)RFC 3964 / Security Considerations for 6to4 diff --git a/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.html b/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.html index e9ab9a38..e4534d8c 100644 --- a/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.html +++ b/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.html @@ -307,17 +307,17 @@ HREF="#AEN804" >
    4.4. IPv6-ready programs
    4.5. IPv6-ready client programs (selection)
    4.6. IPv6-ready server programs
    5.1. Different network devices
    5.2. Bringing interfaces up/down
    6.1. Displaying existing IPv6 addresses
    6.2. Add an IPv6 address
    6.3. Removing an IPv6 address
    7.1. Displaying existing IPv6 routes
    7.2. Add an IPv6 route through a gateway
    7.3. Removing an IPv6 route through a gateway
    7.4. Add an IPv6 route through an interface
    7.5. Removing an IPv6 route through an interface
    7.6. FAQ for IPv6 routes
    8.1. Displaying neighbors using “ip”
    8.2. Manipulating neighbors table using “ip”
    9.1. Types of tunnels
    9.2. Displaying existing tunnels
    10.1. Displaying existing tunnels
    10.2. Setup of point-to-point tunnel
    10.3. Removing point-to-point tunnels
    11.1. How to access the /proc-filesystem
    14.1. Server socket binding
    15.1. Red Hat Linux and “clones”
    15.2. SuSE Linux
    16.1. Stateless auto-configuration out-of-the-box
    16.2. Stateless auto-configuration using Router Advertisement Daemon (radvd)
    16.3. Dynamic Host Configuration Protocol v6 (DHCPv6)
    17.1. Common information
    18.2. Preparation
    18.3. Usage
    19.1. Node security
    19.2. Access limitations
    20.1. Modes of using encryption and authentication
    20.2. Support in kernel (ESP and AH)
    20.3. Automatic key exchange (IKE)
    20.4. Additional informations:
    21.1. General
    21.2. Linux QoS using “tc”
    23.2. Other programming languages
    25.4. IPv6 Infrastructure
    26. Revision history / Credits / The End
    26.3. The End
    3.4. Prefix lengths for routing

    In the early design phase it was planned to use a fully hierarchical routing approach to reduce the size of the routing tables maximally. The reasons behind this approach were the number of current IPv4 routing entries in core routers (> 104 thousand in May 2001), reducing the need of memory in hardware routers (ASIC “Application Specified Integrated Circuit” driven) to hold the routing table and increase speed (fewer entries hopefully result in faster lookups).

    In the early design phase it was planned to use a fully hierarchical routing approach to reduce the size of the routing tables maximally. The reasons behind this approach were the number of current IPv4 routing entries in core routers (> 400 thousand in 2013), reducing the need of memory in hardware routers (ASIC “Application Specified Integrated Circuit” driven) to hold the routing table and increase speed (fewer entries hopefully result in faster lookups).

    Todays view is that routing will be mostly hierarchically designed for networks with only one service provider. With more than one ISP connections, this is not possible, and subject to an issue named multi-homing (infos on multi-homing:

    Some implementation also support %<device> suffix instead of using -I <device>, e.g.

    # ping6 <link-local-ipv6address>%<device>

    Example


    4.3.1.1. Specifying interface for IPv6 ping

    # ping6 -I eth0 -c 1 fe80::2e0:18ff:fe90:9205 
    +># ping6 -I eth0 -c 1 fe80::2e0:18ff:fe90:9205
     PING fe80::212:23ff:fe12:3456(fe80::212:23ff:fe12:3456) from
     ¬ fe80::212:34ff:fe12:3478 eth0: 56 data bytes 
     64 bytes from fe80::212:23ff:fe12:3456: icmp_seq=0 hops=64 time=445 usec
    @@ -3972,13 +3989,30 @@ PING fe80::212:23ff:fe12:3456(fe80::212:23ff:fe12:3456) from
     >

    Example for %<device> notation:

    # ping6 -c 1 fe80::2e0:18ff:fe90:9205%eth0

    4.3.1.2. Ping6 to multicast addresses

    Example for %<device> notation:

    # ping6 ff02::1%eth0

    Unlike in IPv4, where replies to a ping on the broadcast address can be disabled, in IPv6 currently this behavior cannot be disable except by local IPv6 firewalling.

    Note: unlike some modern versions of IPv4 traceroute, which can use ICMPv4 echo-request packets as well as UDP packets (default), current IPv6-traceroute is only able to send UDP packets. As you perhaps already know, ICMP echo-request packets are more accepted by firewalls or ACLs on routers inbetween than UDP packets.

    If a dedicated interface must be specified, this can be done by -i <device> or using <address>%<device>.


    4.3.4.1. IPv6 ping to 2001:0db8:100:f101::1 native over a local link


    4.3.4.2. IPv6 ping to 2001:0db8:100::1 routed through an IPv6-in-IPv4-tunnel


    4.4. IPv6-ready programs


    4.5. IPv6-ready client programs (selection)

    To run the following shown tests, it's required that your system is IPv6 enabled, and some examples show addresses which only can be reached if a connection to the 6bone is available.

    To run the following shown tests, it's required that your system is IPv6 enabled, and some examples show addresses which only can be reached if a connection to the global IPv6 network is available.

    Note: if using names instead of dedicated IPv4/IPv6 addresses which resolves to IPv4 and IPv6 addresses, some command line clients support explicitly use of specified protocol. Usually such clients have option “-4” for IPv4 and “-6” for IPv6.


    4.6. IPv6-ready server programs

    4.7.1. Using tools

    4.7.1.1. Q: Cannot ping6 to link-local addresses


    4.7.1.2. Q: Cannot ping6 or traceroute6 as normal user

    5.1. Different network devices


    5.1.1. Physically bounded


    5.1.2. Virtually bounded


    5.1.2.1. IPv6-in-IPv4 tunnel interfaces


    5.1.2.2. PPP interfaces


    5.1.2.3. ISDN HDLC interfaces


    5.1.2.4. ISDN PPP interfaces


    5.1.2.5. SLIP + PLIP


    5.1.2.6. Ether-tap device


    5.1.2.7. tun devices


    5.1.2.8. ATM


    5.1.2.9. Others


    5.2. Bringing interfaces up/down


    5.2.1. Using "ip"


    5.2.2. Using "ifconfig"


    6.1. Displaying existing IPv6 addresses

    First you should check, whether and which IPv6 addresses are already configured (perhaps auto-magically during stateless auto-configuration).

    Just note that addresses beginning with “fec0” are deprecated, but shown here for completness!


    6.1.1. Using "ip"


    6.1.2. Using "ifconfig"


    6.2. Add an IPv6 address


    6.2.1. Using "ip"


    6.2.2. Using "ifconfig"


    6.3. Removing an IPv6 address


    6.3.1. Using "ip"


    6.3.2. Using "ifconfig"

    Chapter 7. Configuring normal IPv6 routes

    If you want to leave your link and want to send packets in the world wide IPv6-Internet, you need routing. If there is already an IPv6 enabled router on your link, it's possible enough to add IPv6 routes.

    Just note that addresses beginning with “fec0” are deprecated, but shown here for completness!


    7.1. Displaying existing IPv6 routes


    7.1.1. Using "ip"


    7.1.2. Using "route"


    7.2. Add an IPv6 route through a gateway


    7.2.1. Using "ip"


    7.2.2. Using "route"


    7.3. Removing an IPv6 route through a gateway


    7.3.1. Using "ip"


    7.3.2. Using "route"


    7.4. Add an IPv6 route through an interface


    7.4.1. Using "ip"


    7.4.2. Using "route"


    7.5. Removing an IPv6 route through an interface


    7.5.1. Using "ip"


    7.5.2. Using "route"


    7.6. FAQ for IPv6 routes

    7.6.1. Support of an IPv6 default route


    7.6.1.1. Clients (not routing any packet!)


    7.6.1.2. Routers in case of packet forwarding


    8.1. Displaying neighbors using “ip”


    8.2. Manipulating neighbors table using “ip”

    8.2.1. Manually add an entry


    8.2.2. Manually delete an entry


    8.2.3. More advanced settings


    9.1. Types of tunnels


    9.1.1. Static point-to-point tunneling


    9.1.2. Automatically tunneling


    9.1.3.1. Generation of 6to4 prefix


    9.1.3.2. 6to4 upstream tunneling


    9.1.3.3. 6to4 downstream tunneling

    The downstream (6bone -> your 6to4 enabled node) is not really fix and can vary from foreign host which originated packets were send to. There exist two possibilities:

    The downstream (IPv6 backbone -> your 6to4 enabled node) is not really fix and can vary from foreign host which originated packets were send to. There exist two possibilities:

    • Foreign host sends packets back to the world-wide IPv6 network and depending on the dynamic routing a relay router create a automatic tunnel back to your node.

      Foreign host sends packets back to the world-wide IPv6 network and depending on the dynamic routing a relay router of an ISP which announces 2002::/16 via BGP will create a automatic tunnel back to your node.


    9.1.3.4. Possible 6to4 traffic

    non-6to4 to 6to4: is sent via downstream tunneling

    Note, that because of possible asymmetric routing problems with a broken 6to4 relay can be hard to troubleshoot.


    9.1.4. UDP encapsulated IPv6 tunneling


    9.1.4.1. Teredo Tunnel


    9.1.4.2. AYIYA Tunnel


    9.1.4.3. gogo6 Tunnel


    9.2. Displaying existing tunnels

    9.2.1. Using "ip"


    9.2.2. Using "route"


    9.3.1. Add point-to-point tunnels

    9.3.1.1. Using "ip"


    9.3.1.2. Using "ifconfig" and "route" (deprecated)


    9.3.1.3. Using "route" only


    9.3.2. Removing point-to-point tunnels


    9.3.2.1. Using "ip"


    9.3.2.2. Using "ifconfig" and "route" (deprecated because not very funny)


    9.3.2.3. Using "route"


    9.3.3. Numbered point-to-point tunnels


    9.4.1. Add a 6to4 tunnel


    9.4.1.1. Using "ip" and a dedicated tunnel device


    9.4.1.2. Using "ifconfig" and "route" and generic tunnel device “sit0” (deprecated)


    9.4.2. Remove a 6to4 tunnel

    9.4.2.1. Using "ip" and a dedicated tunnel device


    9.4.2.2. Using “ifconfig” and “route” and generic tunnel device “sit0” (deprecated)


    10.1. Displaying existing tunnels


    10.2. Setup of point-to-point tunnel


    10.3. Removing point-to-point tunnels


    11.1. How to access the /proc-filesystem

    11.1.1. Using “cat” and “echo”


    11.1.1.1. Retrieving a value


    11.1.1.2. Setting a value


    11.1.2. Using “sysctl”


    11.1.2.1. Retrieving a value


    11.1.2.2. Setting a value


    11.1.2.3. Additionals


    11.1.3. Values found in /proc-filesystems

    11.2.1. conf/default/*


    11.2.2. conf/all/*


    11.2.2.1. conf/all/forwarding


    11.2.3. conf/interface/*


    11.2.3.1. accept_ra


    11.2.3.2. accept_redirects


    11.2.3.3. autoconf


    11.2.3.4. dad_transmits


    11.2.3.5. forwarding


    11.2.3.6. hop_limit


    11.2.3.7. mtu


    11.2.3.8. router_solicitation_delay


    11.2.3.9. router_solicitation_interval


    11.2.3.10. router_solicitations


    11.2.4. neigh/default/*


    11.2.4.1. gc_thresh1


    11.2.4.2. gc_thresh2


    11.2.4.3. gc_thresh3


    11.2.4.4. gc_interval


    11.2.5. neigh/interface/*


    11.2.5.1. anycast_delay


    11.2.5.2. gc_stale_time


    11.2.5.3. proxy_qlen


    11.2.5.4. unres_qlen


    11.2.5.5. app_solicit


    11.2.5.6. locktime


    11.2.5.7. retrans_time


    11.2.5.8. base_reachable_time


    11.2.5.9. mcast_solicit


    11.2.5.10. ucast_solicit


    11.2.5.11. delay_first_probe_time


    11.2.5.12. proxy_delay


    11.2.6. route/*


    11.2.6.1. flush


    11.2.6.2. gc_interval


    11.2.6.3. gc_thresh


    11.2.6.4. mtu_expires


    11.2.6.5. gc_elasticity


    11.2.6.6. gc_min_interval


    11.2.6.7. gc_timeout


    11.2.6.8. min_adv_mss


    11.2.6.9. max_size


    11.3.1. ip_*


    14.2.1.2. Router solicitation


    14.2.2. Neighbor discovery


    18.3.2.3. Insert a log rule at the input filter with options


    18.3.2.4. Insert a drop rule at the input filter


    18.3.2.5. Delete a rule by number


    18.3.2.6. Enable connection tracking


    18.3.2.7. Allow ICMPv6


    18.3.2.8. Rate-limiting


    18.3.2.9. Allow incoming SSH


    18.3.2.10. Enable tunneled IPv6-in-IPv4


    18.3.2.11. Protection against incoming TCP connection requests


    18.3.2.12. Protection against incoming UDP connection requests


    18.3.3. Examples


    19.3.6. Audit results

    If the result of an audit mismatch your IPv6 security policy, use IPv6 firewalling to close the holes, e.g. using netfilter6 (see


    20.1. Modes of using encryption and authentication


    20.1.1. Transport mode


    20.1.2. Tunnel mode


    20.2. Support in kernel (ESP and AH)


    22.3.1.2. Virtual host listen on an IPv6 and on an IPv4 address


    22.3.1.3. Additional notes


    22.4.1. Configuring radvd

    22.4.1.1. Simple configuration


    22.4.1.2. Special 6to4 configuration


    22.4.2. Debugging


    22.5.1. Configuration of the DHCPv6 server (dhcp6s)

    22.5.1.1. Simple configuration


    22.5.2. Configuration of the DHCPv6 client (dhcp6c)

    22.5.2.1. Simple configuration


    22.5.3. Usage

    22.5.3.1. dhcpv6_server


    22.5.3.2. dhcpv6_client


    22.5.4. Debugging

    22.5.4.1. dhcpv6_server


    22.5.4.2. dhcpv6_client


    22.6.1. Configuration of the ISC DHCP server for IPv6 (dhcpd)


    22.6.1.1. Simple configuration


    22.6.2. Usage

    22.6.2.1. dhcpd


    22.7.1. Configuration of the Dibbler DHCP server for IPv6

    22.7.1.1. Simple configuration


    22.7.2. Usage

    22.7.2.1. dibbler-server


    22.8.1. Filtering capabilities


    22.8.2. Which program uses tcp_wrapper


    22.8.3. Usage


    22.8.3.1. Example for /etc/hosts.allow


    22.8.3.2. Example for /etc/hosts.deny


    22.8.4. Logging


    22.8.4.1. Refused connection


    22.8.4.2. Permitted connection

    22.9.1. Listening on IPv6 addresses

    22.10.1. Listening on IPv6 addresses


    23.1.1. Address Structures


    23.1.1.1. IPv4 sockaddr_in


    23.1.1.2. IPv6 sockaddr_in6


    23.1.1.3. Generic Addresses


    23.1.2. Lookup Functions


    23.1.3. Quirks Encountered


    23.1.3.1. IPv4 Mapped Addresses


    23.1.3.2. Cannot Specify the Scope Identifier in /etc/hosts


    23.1.3.3. Client & Server Residing on the Same Machine


    23.1.4. Putting It All Together (A Client-Server Programming Example)

    Porting applications to IPv6 HowTo. For the record, the source code presented here is original, developed from scratch, and any similarity between it and any other publicly available 'daytime' example is purely coincidental.]. The source code presented in this section was developed and tested on a RedHat Linux release using the 2.6 kernel (2.6.9 to be specific). Readers may use the source code freely, so long as proper credit is attributed; but of course the standard disclaimer must be given first:


    23.1.4.1. 'Daytime' Server Code


    23.1.4.2. 'Daytime' TCP Client Code


    23.1.4.3. 'Daytime' UDP Client Code


    23.2. Other programming languages

    25.6.1. Testing tools


    25.6.2. Information retrievement


    25.6.3. IPv6 Looking Glasses


    25.6.4. Helper applications


    Chapter 26. Revision history / Credits / The End


    26.1.1. Releases 0.x

    0.66

    2010-04-20/PB: extend QoS section with examples, 20130513/PB: add IPv6 NAT hints, 20130521/PB: review dhcpd

    2010-04-20/PB: extend QoS section with examples, 20130513/PB: add IPv6 NAT hints, 20130521/PB: review dhcpd, 20131019/bie: general review

    0.65

    26.2.2. Other credits

    26.2.2.1. Document technique related


    26.3. The End

    104 thousand in May 2001), reducing the need - of memory in hardware routers (ASIC + entries in core routers (> 400 thousand in 2013), reducing the need of + memory in hardware routers (ASIC \begin_inset Quotes sld \end_inset @@ -3643,6 +3643,16 @@ Usage # ping6 [-I ] \end_layout +\begin_layout Standard +Some implementation also support % suffix instead of using -I , + e.g. +\end_layout + +\begin_layout Code + +# ping6 % +\end_layout + \begin_layout Standard Example \end_layout @@ -3723,7 +3733,7 @@ In this case you have to specify the interface additionally like shown here: \begin_layout Code -# ping6 -I eth0 -c 1 fe80::2e0:18ff:fe90:9205 +# ping6 -I eth0 -c 1 fe80::2e0:18ff:fe90:9205 \end_layout \begin_layout Code @@ -3760,6 +3770,15 @@ PING fe80::212:23ff:fe12:3456(fe80::212:23ff:fe12:3456) from ¬ min/avg/max/mdev = 0.445/0.445/0.445/0.000 ms \end_layout +\begin_layout Standard +Example for % notation: +\end_layout + +\begin_layout Code + +# ping6 -c 1 fe80::2e0:18ff:fe90:9205%eth0 +\end_layout + \begin_layout Subsubsection Ping6 to multicast addresses \end_layout @@ -3790,6 +3809,15 @@ PING ff02::1(ff02::1) from fe80:::2ab:cdff:feef:0123 eth0: 56 data bytes \end_layout +\begin_layout Standard +Example for % notation: +\end_layout + +\begin_layout Code + +# ping6 ff02::1%eth0 +\end_layout + \begin_layout Standard Unlike in IPv4, where replies to a ping on the broadcast address can be disabled, in IPv6 currently this behavior cannot be disable except by local @@ -3874,6 +3902,13 @@ Note: unlike some modern versions of IPv4 traceroute, which can use ICMPv4 \end_layout +\begin_layout Standard + +\lang ngerman +If a dedicated interface must be specified, this can be done by -i + or using

    %. +\end_layout + \begin_layout Subsection \begin_inset CommandInset label LatexCommand label @@ -4161,7 +4196,30 @@ IPv6-ready client programs (selection) \begin_layout Standard To run the following shown tests, it's required that your system is IPv6 enabled, and some examples show addresses which only can be reached if - a connection to the 6bone is available. + a connection to the global IPv6 network is available. +\end_layout + +\begin_layout Standard +Note: if using names instead of dedicated IPv4/IPv6 addresses which resolves + to IPv4 and IPv6 addresses, some command line clients support explicitly + use of specified protocol. + Usually such clients have option +\begin_inset Quotes sld +\end_inset + +-4 +\begin_inset Quotes srd +\end_inset + + for IPv4 and +\begin_inset Quotes sld +\end_inset + +-6 +\begin_inset Quotes srd +\end_inset + + for IPv6. \end_layout \begin_layout Subsection @@ -4449,6 +4507,98 @@ target "http://www.kame.net/" the turtle is static. \end_layout +\begin_layout Standard + +\lang ngerman +Other test servers are e.g. +\end_layout + +\begin_layout Itemize + +\lang ngerman +\begin_inset CommandInset href +LatexCommand href +name "What Is My IPv6" +target "http://www.whatismyipv6.com/" + +\end_inset + + +\end_layout + +\begin_layout Itemize + +\lang ngerman +\begin_inset CommandInset href +LatexCommand href +name "ip.bieringer.de" +target "http://ip.bieringer.de/" + +\end_inset + + +\end_layout + +\begin_layout Itemize + +\lang ngerman +\begin_inset CommandInset href +LatexCommand href +name "IPv6 Test" +target "http://ipv6-test.com/" + +\end_inset + + +\end_layout + +\begin_layout Itemize + +\lang ngerman +\begin_inset CommandInset href +LatexCommand href +name "test-ipv6.com" +target "http://test-ipv6.com/" + +\end_inset + + +\end_layout + +\begin_layout Itemize + +\lang ngerman +\begin_inset CommandInset href +LatexCommand href +name "The ICSI Netalyzr" +target "http://netalyzr.icsi.berkeley.edu/" + +\end_inset + + +\end_layout + +\begin_layout Itemize + +\lang ngerman +\begin_inset CommandInset href +LatexCommand href +name "Speedtest Comcast" +target "http://speedtest.comcast.net/" + +\end_inset + +, +\begin_inset CommandInset href +LatexCommand href +name "IPv6 Speedtest Comcast" +target "http://ipv6.speedtest.comcast.net/" + +\end_inset + + +\end_layout + \begin_layout Section IPv6-ready server programs \end_layout @@ -4887,6 +5037,18 @@ First you should check, whether and which IPv6 addresses are already configured (perhaps auto-magically during stateless auto-configuration). \end_layout +\begin_layout Standard +Just note that addresses beginning with +\begin_inset Quotes sld +\end_inset + +fec0 +\begin_inset Quotes srd +\end_inset + + are deprecated, but shown here for completness! +\end_layout + \begin_layout Subsection Using "ip" \end_layout @@ -5143,6 +5305,18 @@ If you want to leave your link and want to send packets in the world wide enough to add IPv6 routes. \end_layout +\begin_layout Standard +Just note that addresses beginning with +\begin_inset Quotes sld +\end_inset + +fec0 +\begin_inset Quotes srd +\end_inset + + are deprecated, but shown here for completness! +\end_layout + \begin_layout Section Displaying existing IPv6 routes \end_layout @@ -6052,8 +6226,8 @@ target "http://www.faqs.org/rfcs/rfc3068.html" \end_layout \begin_layout Standard -The downstream (6bone -> your 6to4 enabled node) is not really fix and can - vary from foreign host which originated packets were send to. +The downstream (IPv6 backbone -> your 6to4 enabled node) is not really fix + and can vary from foreign host which originated packets were send to. There exist two possibilities: \end_layout @@ -6063,8 +6237,8 @@ Foreign host uses 6to4 and sends packet direct back to your node (see below) \begin_layout Itemize Foreign host sends packets back to the world-wide IPv6 network and depending - on the dynamic routing a relay router create a automatic tunnel back to - your node. + on the dynamic routing a relay router of an ISP which announces 2002::/16 + via BGP will create a automatic tunnel back to your node. \end_layout \begin_layout Subsubsection @@ -6084,6 +6258,13 @@ from 6to4 to non-6to4: is sent via upstream tunneling non-6to4 to 6to4: is sent via downstream tunneling \end_layout +\begin_layout Standard + +\lang ngerman +Note, that because of possible asymmetric routing problems with a broken + 6to4 relay can be hard to troubleshoot. +\end_layout + \begin_layout Subsection UDP encapsulated IPv6 tunneling \end_layout @@ -12390,6 +12571,37 @@ Note: strobe isn't really developed further on, the shown version number isn't the right one. \end_layout +\begin_layout Subsection +Security auditing using online tools +\end_layout + +\begin_layout Standard +There are some IPv6 enabled online tools available which can support in + testing inbound firewall configuration: +\end_layout + +\begin_layout Itemize +\begin_inset CommandInset href +LatexCommand href +name "Tim's Online IPv6 TCP/UDP Port Scanner" +target "http://ipv6.chappell-family.com/ipv6tcptest/" + +\end_inset + + +\end_layout + +\begin_layout Itemize +\begin_inset CommandInset href +LatexCommand href +name "SubnetOnline IPv6 Scanner" +target "http://www.subnetonline.com/pages/ipv6-network-tools/online-ipv6-port-scanner.php" + +\end_inset + + +\end_layout + \begin_layout Subsection Audit results \end_layout @@ -31578,7 +31790,7 @@ Releases 0.x \begin_layout Description 0.66 2010-04-20/PB: extend QoS section with examples, 20130513/PB: add IPv6 - NAT hints, 20130521/PB: review dhcpd + NAT hints, 20130521/PB: review dhcpd, 20131019/bie: general review \end_layout \begin_layout Description diff --git a/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.pdf b/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.pdf index 3f5251ca..b320c8cf 100644 Binary files a/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.pdf and b/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.pdf differ diff --git a/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.sgml b/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.sgml index 8a1079d1..d8381fdc 100644 --- a/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.sgml +++ b/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.sgml @@ -385,7 +385,7 @@ Because IPv6 is now in production, this prefix is no longer be delegated and is For manual suffixes like “::1” shown in the above example, it's required that the 7th most significant bit is set to 0 (the universal/local bit of the automatically generated identifier). Also some other (otherwise unchosen ) bit combinations are reserved for anycast addresses, too. Prefix lengths for routing -In the early design phase it was planned to use a fully hierarchical routing approach to reduce the size of the routing tables maximally. The reasons behind this approach were the number of current IPv4 routing entries in core routers (> 104 thousand in May 2001), reducing the need of memory in hardware routers (ASIC “Application Specified Integrated Circuit” driven) to hold the routing table and increase speed (fewer entries hopefully result in faster lookups). +In the early design phase it was planned to use a fully hierarchical routing approach to reduce the size of the routing tables maximally. The reasons behind this approach were the number of current IPv4 routing entries in core routers (> 400 thousand in 2013), reducing the need of memory in hardware routers (ASIC “Application Specified Integrated Circuit” driven) to hold the routing table and increase speed (fewer entries hopefully result in faster lookups). Todays view is that routing will be mostly hierarchically designed for networks with only one service provider. With more than one ISP connections, this is not possible, and subject to an issue named multi-homing (infos on multi-homing: drafts-ietf-multi6-*,IPv6 Multihoming Solutions). Prefix lengths (also known as "netmasks") Similar to IPv4, the routable network path for routing to take place. Because standard netmask notation for 128 bits doesn't look nice, designers employed the IPv4 Classless Inter Domain Routing (CIDR, RFC 1519 / Classless Inter-Domain Routing) scheme, which specifies the number of bits of the IP address to be used for routing. It is also called the "slash" notation. @@ -472,6 +472,8 @@ Because IPv6 is now in production, this prefix is no longer be delegated and is # ping6 # ping6 [-I ] +]]>Some implementation also support %<device> suffix instead of using -I <device>, e.g. +% ]]>Example In this case you have to specify the interface additionally like shown here: -Example for %<device> notation: + Ping6 to multicast addresses An interesting mechanism to detect IPv6-active hosts on a link is to ping6 to the link-local all-node multicast address: @@ -502,6 +506,8 @@ PING fe80::212:23ff:fe12:3456(fe80::212:23ff:fe12:3456) from PING ff02::1(ff02::1) from fe80:::2ab:cdff:feef:0123 eth0: 56 data bytes 64 bytes from ::1: icmp_seq=1 ttl=64 time=0.104 ms 64 bytes from fe80::212:34ff:fe12:3450: icmp_seq=1 ttl=64 time=0.549 ms (DUP!) +]]>Example for %<device> notation: +Unlike in IPv4, where replies to a ping on the broadcast address can be disabled, in IPv6 currently this behavior cannot be disable except by local IPv6 firewalling. <!-- anchor id="program-traceroute6." -->IPv6 traceroute6 This program is normally included in package iputils. It's a program similar to IPv4 traceroute. Below you will see an example: @@ -514,7 +520,8 @@ traceroute to 6bone.net (3ffe:b00:c18:1::10) from 2001:0db8:0000:f101::2, 30 4 3ffe:c00:8023:2b::2 (3ffe:c00:8023:2b::2) 968.468 ms 993.392 ms 973.441 ms 5 3ffe:2e00:e:c::3 (3ffe:2e00:e:c::3) 507.784 ms 505.549 ms 508.928 ms 6 www.6bone.net (3ffe:b00:c18:1::10) 1265.85 ms * 1304.74 ms -]]>Note: unlike some modern versions of IPv4 traceroute, which can use ICMPv4 echo-request packets as well as UDP packets (default), current IPv6-traceroute is only able to send UDP packets. As you perhaps already know, ICMP echo-request packets are more accepted by firewalls or ACLs on routers inbetween than UDP packets. +]]>Note: unlike some modern versions of IPv4 traceroute, which can use ICMPv4 echo-request packets as well as UDP packets (default), current IPv6-traceroute is only able to send UDP packets. As you perhaps already know, ICMP echo-request packets are more accepted by firewalls or ACLs on routers inbetween than UDP packets. +If a dedicated interface must be specified, this can be done by -i <device> or using <address>%<device>. <!-- anchor id="program-tracepath6." -->IPv6 tracepath6 This program is normally included in package iputils. It's a program like traceroute6 and traces the path to a given destination discovering the MTU along this path. Below you will see an example: IPv6-ready programs Current distributions already contain the most needed IPv6 enabled client and servers. See first on IPv6+Linux-Status-Distribution. If still not included, you can check Current Status of IPv6 Support for Networking Applications whether the program is already ported to IPv6 and usable with Linux. For common used programs there are some hints available here later in this document. IPv6-ready client programs (selection) -To run the following shown tests, it's required that your system is IPv6 enabled, and some examples show addresses which only can be reached if a connection to the 6bone is available. +To run the following shown tests, it's required that your system is IPv6 enabled, and some examples show addresses which only can be reached if a connection to the global IPv6 network is available. +Note: if using names instead of dedicated IPv4/IPv6 addresses which resolves to IPv4 and IPv6 addresses, some command line clients support explicitly use of specified protocol. Usually such clients have option “-4” for IPv4 and “-6” for IPv6. Checking DNS for resolving IPv6 addresses Because of security updates in the last years every Domain Name System (DNS) server should run newer software which already understands the (intermediate) IPv6 address-type AAAA (the newer one named A6 isn't still common at the moment because only supported using BIND9 and newer and also the non-existent support of root domain IP6.ARPA). A simple test whether the used system can resolve IPv6 addresses is If using an IPv4 only proxy in the settings, IPv6 requests will be sent to the proxy, but the proxy will fail to understand the request and the request fails. Solution: update proxy software (see later).Automatic proxy settings (*.pac) cannot be extended to handle IPv6 requests differently (e.g. don't use proxy) because of their nature (written in Java-script and well hard coded in source like to be seen in Mozilla source code).Also older versions don't understand an URL with IPv6 encoded addresses like http://[2001:4dd0:f838:a006::6]/, IPv6 address of http://www.ipv6.bieringer.de/ (this given URLs only works with an IPv6-enabled browser!). A short test is to try shown URL with a given browser and using no proxy. URLs for testing -A good starting point for browsing using IPv6 is http://www.kame.net/. If the turtle on this page is animated, the connection is via IPv6, otherwise the turtle is static. +A good starting point for browsing using IPv6 is http://www.kame.net/. If the turtle on this page is animated, the connection is via IPv6, otherwise the turtle is static. +Other test servers are e.g. +What Is My IPv6ip.bieringer.deIPv6 Testtest-ipv6.comThe ICSI NetalyzrSpeedtest Comcast, IPv6 Speedtest Comcast IPv6-ready server programs In this part of this HOWTO, more client specific issues are mentioned. Therefore hints for IPv6-ready servers like sshd, httpd, telnetd, etc. are shown below in Hints for IPv6-enabled daemons. <!-- anchor id="faq-ipv6-ready-system-check" -->FAQ (IPv6-ready system check) @@ -669,7 +679,8 @@ user@::1's password: ****** <!-- anchor id="chapter-configuration-address" -->Configuring IPv6 addresses There are different ways to configure an IPv6 address on an interface. You can use use "ifconfig" or "ip". Displaying existing IPv6 addresses -First you should check, whether and which IPv6 addresses are already configured (perhaps auto-magically during stateless auto-configuration). +First you should check, whether and which IPv6 addresses are already configured (perhaps auto-magically during stateless auto-configuration). +Just note that addresses beginning with “fec0” are deprecated, but shown here for completness! Using "ip" Usage: @@ -728,7 +739,8 @@ inet6 addr: fec0:0:0:f101::1/64 Scope:Site <!-- anchor id="chapter-configuration-route" -->Configuring normal IPv6 routes -If you want to leave your link and want to send packets in the world wide IPv6-Internet, you need routing. If there is already an IPv6 enabled router on your link, it's possible enough to add IPv6 routes. +If you want to leave your link and want to send packets in the world wide IPv6-Internet, you need routing. If there is already an IPv6 enabled router on your link, it's possible enough to add IPv6 routes. +Just note that addresses beginning with “fec0” are deprecated, but shown here for completness! Displaying existing IPv6 routes First you should check, whether and which IPv6 addresses are already configured (perhaps auto-magically during auto-configuration). Using "ip" @@ -888,11 +900,11 @@ Usage: ip neigh { add | del | change | replace } { ADDR [ lladdr LLADDR ] The node has to know to which foreign tunnel endpoint its in IPv4 packed IPv6 packets should be send to. In “early” days of 6to4 tunneling, dedicated upstream accepting routers were defined. See NSayer's 6to4 information for a list of routers. Nowadays, 6to4 upstream routers can be found auto-magically using the anycast address 192.88.99.1. In the background routing protocols handle this, see RFC 3068 / An Anycast Prefix for 6to4 Relay Routers for details. 6to4 downstream tunneling -The downstream (6bone -> your 6to4 enabled node) is not really fix and can vary from foreign host which originated packets were send to. There exist two possibilities: -Foreign host uses 6to4 and sends packet direct back to your node (see below)Foreign host sends packets back to the world-wide IPv6 network and depending on the dynamic routing a relay router create a automatic tunnel back to your node. +The downstream (IPv6 backbone -> your 6to4 enabled node) is not really fix and can vary from foreign host which originated packets were send to. There exist two possibilities: +Foreign host uses 6to4 and sends packet direct back to your node (see below)Foreign host sends packets back to the world-wide IPv6 network and depending on the dynamic routing a relay router of an ISP which announces 2002::/16 via BGP will create a automatic tunnel back to your node. Possible 6to4 traffic -from 6to4 to 6to4: is normally directly tunneled between the both 6to4 enabled hostsfrom 6to4 to non-6to4: is sent via upstream tunnelingnon-6to4 to 6to4: is sent via downstream tunneling +from 6to4 to 6to4: is normally directly tunneled between the both 6to4 enabled hostsfrom 6to4 to non-6to4: is sent via upstream tunnelingnon-6to4 to 6to4: is sent via downstream tunnelingNote, that because of possible asymmetric routing problems with a broken 6to4 relay can be hard to troubleshoot. UDP encapsulated IPv6 tunneling UDP encapsulated IPv6 tunneling is usally used if no global IPv4 address is available on the internal endpoint, but using Network Adress Translation (NAT) it can still reach related endpoints using UDP ports described below. Teredo Tunnel @@ -2007,6 +2019,9 @@ Nmap run completed -- 1 IP address (1 host up) scanned in 0.525 seconds ::1 6010 unassigned unknown ::1 53 domain Domain Name Server ]]>Note: strobe isn't really developed further on, the shown version number isn't the right one. +Security auditing using online tools +There are some IPv6 enabled online tools available which can support in testing inbound firewall configuration: +Tim's Online IPv6 TCP/UDP Port ScannerSubnetOnline IPv6 Scanner Audit results If the result of an audit mismatch your IPv6 security policy, use IPv6 firewalling to close the holes, e.g. using netfilter6 (see Firewalling/Netfilter6 for more). Info: More detailed information concerning IPv6 Security can be found here: @@ -5017,7 +5032,7 @@ Publisher: MarketResearch.com; ISBN B00006334Y; (November 1, 2001) Versions x.y.z are work-in-progress and published as LyX and SGML file on CVS. Because Deep Space 6 mirrors these SGML files and generate independend from TLDP public versions, this versions will show up there and also on its mirrors. Releases 0.x -0.662010-04-20/PB: extend QoS section with examples, 20130513/PB: add IPv6 NAT hints, 20130521/PB: review dhcpd0.652009-12-13/PB: minor fixes0.642009-06-11/PB: extend DHCP server examples (ISC DHCP, Dibbler)0.632009-02-14/PB: Fix FSF address, major update on 4in6 tunnels, add new section for address resolving, add some URLs, remove broken URLs0.622008-11-09/PB: Adjust URL to Turkish howto, add some HIP related URLs, remove broken URLs0.61.12007-11-11/PB: fix broken description of shortcut BIND0.612007-10-06/PB: fix broken URLs to TLDP-CVS, minor URL update.0.60.22007-10-03/PB: fix description of sysctl/autoconf (credits to Francois-Xavier Le Bail)0.60.12007-06-16/PB: speling fixes (credits to Larry W. Burton)0.602007-05-29/PB: import major contribution to Programming using C-API written by John Wenker, minor fixes0.522007-05-23/PB: update firewalling chapter, improve document for proper SGML validation, minor bugfixes0.512006-11-08/PB: remove broken URLs, add a new book (credits to Bryan Vukich)0.50.22006-10-25/PB: fix typo in dhcp6 section (credits to Michele Ferritto)0.50.12006-09-23/PB: add some URLs0.502006-08-24/PB: check RFC URLs, fix URL to Chinese translation, finalize for publishing0.49.52006-08-23/PB: fix/remove broken URLs0.49.42006-08-21/PB: some review, update and enhancement of the content, replace old 6bone example addresses with the current defined ones.0.49.32006-08-20/PB: fix bug in maillist entries, 'mobility' is now a separate chapter0.49.22006-08-20/PB: update and cleanup of maillist entries0.49.12006-06-13/PB: major update of mobility section (contributed by Benjamin Thery)0.492005-10-03/PB: add configuration hints for DHCPv6, major broken URL cleanup (credits to Necdet Yucel)0.48.12005-01-15/PB: minor fixes0.482005-01-11/PB: grammar check and minor review of IPv6 IPsec section0.47.12005-01-01/PB: add information and examples about IPv6 IPsec, add some URLs0.472004-08-30/PB: add some notes about proftpd, vsftpd and other daemons, add some URLs, minor fixes, update status of Spanish translation0.46.42004-07-19/PB: minor fixes0.46.32004-06-23/PB: add note about started Greek translation, replace Taiwanese with Chinese for related translation0.46.22004-05-22/PB: minor fixes0.46.12004-04-18/PB: minor fixes0.462004-03-04/PB: announce Italian translation, add information about DHCPv6, minor updates0.45.12004-01-12/PB: add note about the official example address space0.452004-01-11/PB: minor fixes, add/fix some URLs, some extensions0.44.22003-10-30/PB: fix some copy&paste text bugs0.44.12003-10-19/PB: add note about start of Italian translation0.442003-08-15/PB: fix URLs, add hint on tcp_wrappers (about broken notation in some versions) and Apache20.43.42003-07-26/PB: fix URL, add archive URL for maillist users at ipv6.org, add some ds6 URLs0.43.32003-06-19/PB: fix typos0.43.22003-06-11/PB: fix URL0.43.12003-06-07/PB: fix some URLs, fix credits, add some notes at IPsec0.432003-06-05/PB: add some notes about configuration in SuSE Linux, add URL of French translation0.422003-05-09/PB: minor fixes, announce French translation0.41.42003-05-02/PB: Remove a broken URL, update some others.0.41.32003-04-23/PB: Minor fixes, remove a broken URL, fix URL to Taiwanese translation0.41.22003-04-13/PB: Fix some typos, add a note about a French translation is in progress0.41.12003-03-31/PB: Remove a broken URL, fix another0.412003-03-22/PB: Add URL of German translation0.40.22003-02-27/PB: Fix a misaddressed URL0.40.12003-02-12/PB: Add Debian-Linux-Configuration, add a minor note on translations0.402003-02-10/PB: Announcing available German version0.39.22003-02-10/GK: Minor syntax and spelling fixes0.39.12003-01-09/PB: fix an URL (draft adopted to an RFC)0.392003-01-13/PB: fix a bug (forgotten 'link” on “ip link set” (credits to Yaniv Kaul)0.38.12003-01-09/PB: a minor fix0.382003-01-06/PB: minor fixes0.37.12003-01-05/PB: minor updates0.372002-12-31/GK: 270 new links added (searched in 1232 SearchEngines) in existing and 53 new (sub)sections0.36.12002-12-20/PB: Minor fixes0.362002-12-16/PB: Check of and fix broken links (credits to Georg Käfer), some spelling fixes0.352002-12-11/PB: Some fixes and extensions0.34.12002-11-25/PB: Some fixes (e.g. broken linuxdoc URLs)0.342002-11-19/PB: Add information about German translation (work in progress), some fixes, create a small shortcut explanation list, extend “used terms” and add two German books0.332002-11-18/PB: Fix broken RFC-URLs, add parameter ttl on 6to4 tunnel setup example0.322002-11-03/PB: Add information about Taiwanese translation0.31.12002-10-06/PB: Add another maillist0.312002-09-29/PB: Extend information in proc-filesystem entries0.302002-09-27/PB: Add some maillists0.292002-09-18/PB: Update statement about nmap (triggered by Fyodor)0.28.12002-09-16/PB: Add note about ping6 to multicast addresses, add some labels0.282002-08-17/PB: Fix broken LDP/CVS links, add info about Polish translation, add URL of the IPv6 Address Oracle0.272002-08-10/PB: Some minor updates0.26.22002-07-15/PB: Add information neighbor discovery, split of firewalling (got some updates) and security into extra chapters0.26.12002-07-13/PB: Update nmap/IPv6 information0.262002-07-13/PB: Fill /proc-filesystem chapter, update DNS information about depricated A6/DNAME, change P-t-P tunnel setup to use of “ip” only0.25.22002-07-11/PB: Minor spelling fixes0.25.12002-06-23/PB: Minor spelling and other fixes0.252002-05-16/PB: Cosmetic fix for 2^128, thanks to José Abílio Oliveira Matos for help with LyX0.242002-05-02/PB: Add entries in URL list, minor spelling fixes0.232002-03-27/PB: Add entries in URL list and at maillists, add a label and minor information about IPv6 on RHL0.222002-03-04/PB: Add info about 6to4 support in kernel series 2.2.x and add an entry in URL list and at maillists0.212002-02-26/PB: Migrate next grammar checks submitted by John Ronan 0.20.42002-02-21/PB: Migrate more grammar checks submitted by John Ronan, add some additional hints at DNS section 0.20.32002-02-12/PB: Migrate a minor grammar check patch submitted by John Ronan0.20.22002-02-05/PB: Add mipl to maillist table0.20.12002-01-31/PB: Add a hint how to generate 6to4 addresses0.202002-01-30/PB: Add a hint about default route problem, some minor updates0.19.22002-01-29/PB: Add many new URLs0.19.12002-01-27/PB: Add some forgotten URLs0.192002-01-25/PB: Add two German books, fix quote entinities in exported SGML code0.18.22002-01-23/PB: Add a FAQ on the program chapter0.18.12002-01-23/PB: Move “the end” to the end, add USAGI to maillists0.182002-01-22/PB: Fix bugs in explanation of multicast address types0.17.22002-01-22/PB: Cosmetic fix double existing text in history (at 0.16), move all credits to the end of the document0.17.12002-01-20/PB: Add a reference, fix URL text in online-test-tools0.172002-01-19/PB: Add some forgotten information and URLs about global IPv6 addresses0.162002-01-19/PB: Minor fixes, remove “bold” and “emphasize” formats on code lines, fix “too long unwrapped code lines” using selfmade utility, extend list of URLs.0.152002-01-15/PB: Fix bug in addresstype/anycast, move content related credits to end of document0.142002-01-14/PB: Minor review at all, new chapter “debugging”, review “addresses”, spell checking, grammar checking (from beginning to 3.4.1) by Martin Krafft, add tcpdump examples, copy firewalling/netfilter6 from IPv6+Linux-HowTo, minor enhancements0.132002-01-05/PB: Add example BIND9/host, move revision history to end of document, minor extensions0.122002-01-03/PB: Merge review of David Ranch0.112002-01-02/PB: Spell checking and merge review of Pekka Savola0.102002-01-02/PB: First public release of chapter 1 +0.662010-04-20/PB: extend QoS section with examples, 20130513/PB: add IPv6 NAT hints, 20130521/PB: review dhcpd, 20131019/bie: general review0.652009-12-13/PB: minor fixes0.642009-06-11/PB: extend DHCP server examples (ISC DHCP, Dibbler)0.632009-02-14/PB: Fix FSF address, major update on 4in6 tunnels, add new section for address resolving, add some URLs, remove broken URLs0.622008-11-09/PB: Adjust URL to Turkish howto, add some HIP related URLs, remove broken URLs0.61.12007-11-11/PB: fix broken description of shortcut BIND0.612007-10-06/PB: fix broken URLs to TLDP-CVS, minor URL update.0.60.22007-10-03/PB: fix description of sysctl/autoconf (credits to Francois-Xavier Le Bail)0.60.12007-06-16/PB: speling fixes (credits to Larry W. Burton)0.602007-05-29/PB: import major contribution to Programming using C-API written by John Wenker, minor fixes0.522007-05-23/PB: update firewalling chapter, improve document for proper SGML validation, minor bugfixes0.512006-11-08/PB: remove broken URLs, add a new book (credits to Bryan Vukich)0.50.22006-10-25/PB: fix typo in dhcp6 section (credits to Michele Ferritto)0.50.12006-09-23/PB: add some URLs0.502006-08-24/PB: check RFC URLs, fix URL to Chinese translation, finalize for publishing0.49.52006-08-23/PB: fix/remove broken URLs0.49.42006-08-21/PB: some review, update and enhancement of the content, replace old 6bone example addresses with the current defined ones.0.49.32006-08-20/PB: fix bug in maillist entries, 'mobility' is now a separate chapter0.49.22006-08-20/PB: update and cleanup of maillist entries0.49.12006-06-13/PB: major update of mobility section (contributed by Benjamin Thery)0.492005-10-03/PB: add configuration hints for DHCPv6, major broken URL cleanup (credits to Necdet Yucel)0.48.12005-01-15/PB: minor fixes0.482005-01-11/PB: grammar check and minor review of IPv6 IPsec section0.47.12005-01-01/PB: add information and examples about IPv6 IPsec, add some URLs0.472004-08-30/PB: add some notes about proftpd, vsftpd and other daemons, add some URLs, minor fixes, update status of Spanish translation0.46.42004-07-19/PB: minor fixes0.46.32004-06-23/PB: add note about started Greek translation, replace Taiwanese with Chinese for related translation0.46.22004-05-22/PB: minor fixes0.46.12004-04-18/PB: minor fixes0.462004-03-04/PB: announce Italian translation, add information about DHCPv6, minor updates0.45.12004-01-12/PB: add note about the official example address space0.452004-01-11/PB: minor fixes, add/fix some URLs, some extensions0.44.22003-10-30/PB: fix some copy&paste text bugs0.44.12003-10-19/PB: add note about start of Italian translation0.442003-08-15/PB: fix URLs, add hint on tcp_wrappers (about broken notation in some versions) and Apache20.43.42003-07-26/PB: fix URL, add archive URL for maillist users at ipv6.org, add some ds6 URLs0.43.32003-06-19/PB: fix typos0.43.22003-06-11/PB: fix URL0.43.12003-06-07/PB: fix some URLs, fix credits, add some notes at IPsec0.432003-06-05/PB: add some notes about configuration in SuSE Linux, add URL of French translation0.422003-05-09/PB: minor fixes, announce French translation0.41.42003-05-02/PB: Remove a broken URL, update some others.0.41.32003-04-23/PB: Minor fixes, remove a broken URL, fix URL to Taiwanese translation0.41.22003-04-13/PB: Fix some typos, add a note about a French translation is in progress0.41.12003-03-31/PB: Remove a broken URL, fix another0.412003-03-22/PB: Add URL of German translation0.40.22003-02-27/PB: Fix a misaddressed URL0.40.12003-02-12/PB: Add Debian-Linux-Configuration, add a minor note on translations0.402003-02-10/PB: Announcing available German version0.39.22003-02-10/GK: Minor syntax and spelling fixes0.39.12003-01-09/PB: fix an URL (draft adopted to an RFC)0.392003-01-13/PB: fix a bug (forgotten 'link” on “ip link set” (credits to Yaniv Kaul)0.38.12003-01-09/PB: a minor fix0.382003-01-06/PB: minor fixes0.37.12003-01-05/PB: minor updates0.372002-12-31/GK: 270 new links added (searched in 1232 SearchEngines) in existing and 53 new (sub)sections0.36.12002-12-20/PB: Minor fixes0.362002-12-16/PB: Check of and fix broken links (credits to Georg Käfer), some spelling fixes0.352002-12-11/PB: Some fixes and extensions0.34.12002-11-25/PB: Some fixes (e.g. broken linuxdoc URLs)0.342002-11-19/PB: Add information about German translation (work in progress), some fixes, create a small shortcut explanation list, extend “used terms” and add two German books0.332002-11-18/PB: Fix broken RFC-URLs, add parameter ttl on 6to4 tunnel setup example0.322002-11-03/PB: Add information about Taiwanese translation0.31.12002-10-06/PB: Add another maillist0.312002-09-29/PB: Extend information in proc-filesystem entries0.302002-09-27/PB: Add some maillists0.292002-09-18/PB: Update statement about nmap (triggered by Fyodor)0.28.12002-09-16/PB: Add note about ping6 to multicast addresses, add some labels0.282002-08-17/PB: Fix broken LDP/CVS links, add info about Polish translation, add URL of the IPv6 Address Oracle0.272002-08-10/PB: Some minor updates0.26.22002-07-15/PB: Add information neighbor discovery, split of firewalling (got some updates) and security into extra chapters0.26.12002-07-13/PB: Update nmap/IPv6 information0.262002-07-13/PB: Fill /proc-filesystem chapter, update DNS information about depricated A6/DNAME, change P-t-P tunnel setup to use of “ip” only0.25.22002-07-11/PB: Minor spelling fixes0.25.12002-06-23/PB: Minor spelling and other fixes0.252002-05-16/PB: Cosmetic fix for 2^128, thanks to José Abílio Oliveira Matos for help with LyX0.242002-05-02/PB: Add entries in URL list, minor spelling fixes0.232002-03-27/PB: Add entries in URL list and at maillists, add a label and minor information about IPv6 on RHL0.222002-03-04/PB: Add info about 6to4 support in kernel series 2.2.x and add an entry in URL list and at maillists0.212002-02-26/PB: Migrate next grammar checks submitted by John Ronan 0.20.42002-02-21/PB: Migrate more grammar checks submitted by John Ronan, add some additional hints at DNS section 0.20.32002-02-12/PB: Migrate a minor grammar check patch submitted by John Ronan0.20.22002-02-05/PB: Add mipl to maillist table0.20.12002-01-31/PB: Add a hint how to generate 6to4 addresses0.202002-01-30/PB: Add a hint about default route problem, some minor updates0.19.22002-01-29/PB: Add many new URLs0.19.12002-01-27/PB: Add some forgotten URLs0.192002-01-25/PB: Add two German books, fix quote entinities in exported SGML code0.18.22002-01-23/PB: Add a FAQ on the program chapter0.18.12002-01-23/PB: Move “the end” to the end, add USAGI to maillists0.182002-01-22/PB: Fix bugs in explanation of multicast address types0.17.22002-01-22/PB: Cosmetic fix double existing text in history (at 0.16), move all credits to the end of the document0.17.12002-01-20/PB: Add a reference, fix URL text in online-test-tools0.172002-01-19/PB: Add some forgotten information and URLs about global IPv6 addresses0.162002-01-19/PB: Minor fixes, remove “bold” and “emphasize” formats on code lines, fix “too long unwrapped code lines” using selfmade utility, extend list of URLs.0.152002-01-15/PB: Fix bug in addresstype/anycast, move content related credits to end of document0.142002-01-14/PB: Minor review at all, new chapter “debugging”, review “addresses”, spell checking, grammar checking (from beginning to 3.4.1) by Martin Krafft, add tcpdump examples, copy firewalling/netfilter6 from IPv6+Linux-HowTo, minor enhancements0.132002-01-05/PB: Add example BIND9/host, move revision history to end of document, minor extensions0.122002-01-03/PB: Merge review of David Ranch0.112002-01-02/PB: Spell checking and merge review of Pekka Savola0.102002-01-02/PB: First public release of chapter 1 <!-- anchor id="credits" -->Credits The quickest way to be added to this nice list is to send bug fixes, corrections, and/or updates to me ;-). If you want to do a major review, you can use the native LyX file (see original source) and send diffs against it, because diffs against SGML don't help too much.