LDP/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.de.html

19310 lines
386 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Linux IPv6 HOWTO (de)</TITLE
><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"></HEAD
><BODY
CLASS="BOOK"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="BOOK"
><A
NAME="AEN1"
></A
><DIV
CLASS="TITLEPAGE"
><H1
CLASS="TITLE"
><A
NAME="AEN2"
>Linux IPv6 HOWTO (de)</A
></H1
><H3
CLASS="AUTHOR"
><A
NAME="AEN4"
></A
>Peter Bieringer</H3
><DIV
CLASS="AFFILIATION"
><DIV
CLASS="ADDRESS"
><P
CLASS="ADDRESS"
>pb&nbsp;at&nbsp;bieringer&nbsp;dot&nbsp;de</P
></DIV
></DIV
><DIV
CLASS="REVHISTORY"
><TABLE
WIDTH="100%"
BORDER="0"
><TR
><TH
ALIGN="LEFT"
VALIGN="TOP"
COLSPAN="3"
><B
>Versionsgeschichte</B
></TH
></TR
><TR
><TD
ALIGN="LEFT"
>Version 0.67.de.1wip</TD
><TD
ALIGN="LEFT"
>2015-08-18</TD
><TD
ALIGN="LEFT"
>Geändert durch: PB</TD
></TR
><TR
><TD
ALIGN="LEFT"
COLSPAN="3"
></TD
></TR
><TR
><TD
ALIGN="LEFT"
>Version 0.66.de.1</TD
><TD
ALIGN="LEFT"
>2014-05-15</TD
><TD
ALIGN="LEFT"
>Geändert durch: PB</TD
></TR
><TR
><TD
ALIGN="LEFT"
COLSPAN="3"
></TD
></TR
><TR
><TD
ALIGN="LEFT"
>Version 0.65.de.1</TD
><TD
ALIGN="LEFT"
>2009-12-13</TD
><TD
ALIGN="LEFT"
>Geändert durch: PB</TD
></TR
><TR
><TD
ALIGN="LEFT"
COLSPAN="3"
></TD
></TR
><TR
><TD
ALIGN="LEFT"
>Version 0.64.de.1</TD
><TD
ALIGN="LEFT"
>2009-06-11</TD
><TD
ALIGN="LEFT"
>Geändert durch: PB</TD
></TR
><TR
><TD
ALIGN="LEFT"
COLSPAN="3"
></TD
></TR
><TR
><TD
ALIGN="LEFT"
>Version 0.61.de.1</TD
><TD
ALIGN="LEFT"
>2007-10-06</TD
><TD
ALIGN="LEFT"
>Geändert durch: PB</TD
></TR
><TR
><TD
ALIGN="LEFT"
COLSPAN="3"
></TD
></TR
></TABLE
></DIV
><DIV
><DIV
CLASS="ABSTRACT"
><P
></P
><A
NAME="AEN30"
></A
><P
>Das Ziel des Linux IPv6 HOWTO ist die Beantwortung von Basis- und Experten-Fragen zum Thema IPv6 mit Linux-Betriebssystemen. Dieses HOWTO will dem Leser genug Informationen bereitstellen, um IPv6-Anwendungen auf Linux Computer installieren, konfigurieren und anwenden zu können. Zwischen-Versionen sind auf <A
HREF="http://mirrors.bieringer.de/Linux+IPv6-HOWTO/"
TARGET="_top"
>mirrors.bieringer.de</A
> oder <A
HREF="http://mirrors.deepspace6.net/Linux+IPv6-HOWTO/"
TARGET="_top"
>mirrors.deepspace6.net</A
> verfügbar. Änderungen sind in der <A
HREF="#REVISION-HISTORY"
>Revisionshistorie</A
> aufgelistet.</P
><P
></P
></DIV
></DIV
><HR></DIV
><DIV
CLASS="TOC"
><DL
><DT
><B
>Inhaltsverzeichnis</B
></DT
><DT
>1. <A
HREF="#CHAPTER-GENERAL"
>Allgemein</A
></DT
><DD
><DL
><DT
>1.1. <A
HREF="#GENERAL-COPRIGHT"
>Copyright, Lizenz und anderes</A
></DT
><DT
>1.2. <A
HREF="#GENERAL-CATEGORY"
>Kategorie</A
></DT
><DT
>1.3. <A
HREF="#AEN80"
>Version, Werdegang und Unerledigtes</A
></DT
><DT
>1.4. <A
HREF="#GENERAL-TRANSLATIONS"
>Übersetzungen</A
></DT
><DT
>1.5. <A
HREF="#AEN137"
>Technisches</A
></DT
><DT
>1.6. <A
HREF="#AEN167"
>Vorwort</A
></DT
><DT
>1.7. <A
HREF="#AEN191"
>Verwendete Begriffe, Glossar und Abkürzungen</A
></DT
><DT
>1.8. <A
HREF="#AEN341"
>Grundvoraussetzung für die Verwendung dieses HOWTOs</A
></DT
></DL
></DD
><DT
>2. <A
HREF="#CHAPTER-BASICS"
>Grundlagen</A
></DT
><DD
><DL
><DT
>2.1. <A
HREF="#AEN369"
>Was ist IPv6?</A
></DT
><DT
>2.2. <A
HREF="#BASIC-HISTORY-IPV6-LINUX"
>Geschichte von IPv6 &#38; Linux</A
></DT
><DT
>2.3. <A
HREF="#AEN403"
>Wie sehen IPv6 Adressen aus?</A
></DT
><DT
>2.4. <A
HREF="#AEN428"
>FAQ (Grundlagen)</A
></DT
></DL
></DD
><DT
>3. <A
HREF="#CHAPTER-ADDRESSTYPES"
>Adress-Typen</A
></DT
><DD
><DL
><DT
>3.1. <A
HREF="#AEN457"
>Adressen ohne speziellen Präfix</A
></DT
><DT
>3.2. <A
HREF="#AEN494"
>Netzteil der Adresse (Präfix)</A
></DT
><DT
>3.3. <A
HREF="#AEN625"
>Adress-Typen (Host-Teil)</A
></DT
><DT
>3.4. <A
HREF="#AEN650"
>Präfixlängen für das Routing</A
></DT
></DL
></DD
><DT
>4. <A
HREF="#CHAPTER-SYSTEMCHECK"
>IPv6 System-Check</A
></DT
><DD
><DL
><DT
>4.1. <A
HREF="#SYSTEMCHECK-KERNEL"
>IPv6 kompatibler Kernel</A
></DT
><DT
>4.2. <A
HREF="#AEN757"
>IPv6 kompatible Tools zur Netzwerkkonfiguration</A
></DT
><DT
>4.3. <A
HREF="#AEN780"
>IPv6 Test/Debug-Programme</A
></DT
><DT
>4.4. <A
HREF="#AEN853"
>IPv6 kompatible Programme</A
></DT
><DT
>4.5. <A
HREF="#AEN858"
>IPv6 kompatible Client-Programme (Auswahl)</A
></DT
><DT
>4.6. <A
HREF="#AEN927"
>IPv6 kompatible Server</A
></DT
><DT
>4.7. <A
HREF="#FAQ-IPV6-READY-SYSTEM-CHECK"
>FAQ (IPv6 Systemcheck)</A
></DT
></DL
></DD
><DT
>5. <A
HREF="#CHAPTER-CONFIGURATION-INTERFACE"
>Interface-Konfiguration</A
></DT
><DD
><DL
><DT
>5.1. <A
HREF="#AEN951"
>Unterschiedliche Netzwerk-Geräte</A
></DT
><DT
>5.2. <A
HREF="#AEN993"
>Interfaces ein/aus-schalten</A
></DT
></DL
></DD
><DT
>6. <A
HREF="#CHAPTER-CONFIGURATION-ADDRESS"
>IPv6 Adressen konfigurieren</A
></DT
><DD
><DL
><DT
>6.1. <A
HREF="#AEN1011"
>Bestehende IPv6 Adressen anzeigen</A
></DT
><DT
>6.2. <A
HREF="#AEN1031"
>Hinzufügen einer IPv6 Adresse</A
></DT
><DT
>6.3. <A
HREF="#AEN1046"
>IPv6 Adressen entfernen</A
></DT
><DT
>6.4. <A
HREF="#AEN1061"
>Automatische IPv6-Adress-Konfiguration</A
></DT
><DT
>6.5. <A
HREF="#AEN1065"
>Aktivieren der Privacy Extension</A
></DT
></DL
></DD
><DT
>7. <A
HREF="#CHAPTER-CONFIGURATION-ROUTE"
>Konfiguration normaler IPv6-Routen</A
></DT
><DD
><DL
><DT
>7.1. <A
HREF="#AEN1110"
>Bestehende IPv6-Routen anzeigen</A
></DT
><DT
>7.2. <A
HREF="#AEN1125"
>Eine IPv6-Route über ein Gateway hinzufügen</A
></DT
><DT
>7.3. <A
HREF="#AEN1141"
>Eine IPv6-Route über ein Gateway entfernen</A
></DT
><DT
>7.4. <A
HREF="#AEN1156"
>Eine IPv6-Route über ein Interface hinzufügen</A
></DT
><DT
>7.5. <A
HREF="#AEN1172"
>Eine IPv6-Route über ein Interface entfernen</A
></DT
><DT
>7.6. <A
HREF="#AEN1187"
>FAQ für IPv6-Routen</A
></DT
></DL
></DD
><DT
>8. <A
HREF="#CHAPTER-NEIGHBOR-DISCOVERY"
>Neighbor Discovery</A
></DT
><DD
><DL
><DT
>8.1. <A
HREF="#AEN1206"
>Netzwerkumgebung mit “ip” anzeigen</A
></DT
><DT
>8.2. <A
HREF="#AEN1212"
>Tabelle der Netzwerkumgebung mit “ip” editieren</A
></DT
></DL
></DD
><DT
>9. <A
HREF="#CHAPTER-CONFIGURING-IPV6-IN-IPV4-TUNNELS"
>Konfiguration eines IPv6-in-IPv4 Tunnels</A
></DT
><DD
><DL
><DT
>9.1. <A
HREF="#AEN1235"
>Tunnelarten</A
></DT
><DT
>9.2. <A
HREF="#AEN1320"
>Bestehende Tunnel anzeigen</A
></DT
><DT
>9.3. <A
HREF="#CONF-IPV6-IN-IPV4-POINT-TO-POINT-TUNNELS"
>Einrichtung eines Punkt-zu-Punkt Tunnels</A
></DT
><DT
>9.4. <A
HREF="#CONFIGURING-IPV6TO4-TUNNELS"
>Einrichtung von 6to4 Tunnel</A
></DT
></DL
></DD
><DT
>10. <A
HREF="#CHAPTER-CONFIGURING-IPV4-IN-IPV6-TUNNELS"
>Konfiguration eines IPv4-in-IPv6 Tunnels</A
></DT
><DD
><DL
><DT
>10.1. <A
HREF="#AEN1444"
>Anzeigen von existierenden Tunnels</A
></DT
><DT
>10.2. <A
HREF="#AEN1451"
>Konfiguration eines Punkt-zu-Punkt Tunnels</A
></DT
><DT
>10.3. <A
HREF="#AEN1457"
>Löschen von Punkt-zu-Punkt-Tunnels</A
></DT
></DL
></DD
><DT
>11. <A
HREF="#CHAPTER-KERNEL-SETTINGS"
>Kernel-Einstellungen im /proc-Dateisystem</A
></DT
><DD
><DL
><DT
>11.1. <A
HREF="#AEN1466"
>Zugriff auf das /proc-Dateisystem</A
></DT
><DT
>11.2. <A
HREF="#PROC-SYS-NET-IPV6."
>Einträge in /proc/sys/net/ipv6/</A
></DT
><DT
>11.3. <A
HREF="#PROC-SYS-NET-IPV4."
>IPv6 relevante Einträge in /proc/sys/net/ipv4/</A
></DT
><DT
>11.4. <A
HREF="#PROC-NET"
>IPv6 relevante Einträge in /proc/net/</A
></DT
></DL
></DD
><DT
>12. <A
HREF="#NETLINK"
>Netlink-Interface zum Kernel</A
></DT
><DT
>13. <A
HREF="#RESOLVER"
>Adress-Auflösung</A
></DT
><DT
>14. <A
HREF="#NETWORK-DEBUGGING"
>Netzwerk-Fehlersuche</A
></DT
><DD
><DL
><DT
>14.1. <A
HREF="#AEN2050"
>Server Socket-Anbindung</A
></DT
><DT
>14.2. <A
HREF="#EXAMPLES-TCPDUMP"
>tcpdump-Beispiele</A
></DT
></DL
></DD
><DT
>15. <A
HREF="#CHAPTER-SUPPORT-PERSISTENT-CONFIGURATION"
>Unterstützung einer ständigen IPv6-Konfiguration in Linux Distributionen</A
></DT
><DD
><DL
><DT
>15.1. <A
HREF="#AEN2102"
>Red Hat Linux und “Klone”</A
></DT
><DT
>15.2. <A
HREF="#AEN2140"
>SuSE Linux</A
></DT
><DT
>15.3. <A
HREF="#CONFIGURATION-DEBIAN-LINUX"
>Debian Linux</A
></DT
></DL
></DD
><DT
>16. <A
HREF="#CHAPTER-AUTOCONFIGURATION"
>Automatische Konfiguration</A
></DT
><DD
><DL
><DT
>16.1. <A
HREF="#AEN2192"
>Stateless Auto-Konfiguration (out-of-the-box)</A
></DT
><DT
>16.2. <A
HREF="#AEN2197"
>Stateless Auto-Konfiguration unter Verwendung des Router Advertisement Daemon (radvd)</A
></DT
><DT
>16.3. <A
HREF="#AEN2201"
>Dynamic Host Configuration Protocol v6 (DHCPv6)</A
></DT
></DL
></DD
><DT
>17. <A
HREF="#CHAPTER-MOBILITY"
>Mobilität</A
></DT
><DD
><DL
><DT
>17.1. <A
HREF="#AEN2220"
>Allgemeines</A
></DT
></DL
></DD
><DT
>18. <A
HREF="#CHAPTER-FIREWALLING-SECURITY"
>Firewall-Funktionalität</A
></DT
><DD
><DL
><DT
>18.1. <A
HREF="#FIREWALLING-NETFILTER6."
>Firewall-Funktionalität mit netfilter6</A
></DT
><DT
>18.2. <A
HREF="#AEN2305"
>Vorbereitung</A
></DT
><DT
>18.3. <A
HREF="#AEN2383"
>Verwendung</A
></DT
><DT
>18.4. <A
HREF="#NAT-NETFILTER6."
>Network Address Translation (NAT) mit netfilter6</A
></DT
><DT
>18.5. <A
HREF="#AEN2528"
>Firewall-Setup mit nftables</A
></DT
></DL
></DD
><DT
>19. <A
HREF="#CHAPTER-SECURITY"
>Sicherheit</A
></DT
><DD
><DL
><DT
>19.1. <A
HREF="#AEN2577"
>Sicherheit des Knoten</A
></DT
><DT
>19.2. <A
HREF="#AEN2581"
>Zugangsbeschränkungen</A
></DT
><DT
>19.3. <A
HREF="#IPV6-SECURITY-AUDITING"
>IPv6 Sicherheitsüberwachung</A
></DT
></DL
></DD
><DT
>20. <A
HREF="#CHAPTER-ENCRYPTION-AUTHENTICATION"
>Verschlüsselung und Authentifizierung</A
></DT
><DD
><DL
><DT
>20.1. <A
HREF="#AEN2634"
>Nutzungsarten von Verschlüsselung und Authentifizierung</A
></DT
><DT
>20.2. <A
HREF="#AEN2645"
>Unterstützung im Kernel (ESP und AH)</A
></DT
><DT
>20.3. <A
HREF="#AEN2655"
>Automatischer Schlüssel-Austausch (IKE)</A
></DT
><DT
>20.4. <A
HREF="#AEN2717"
>Anmerkungen:</A
></DT
></DL
></DD
><DT
>21. <A
HREF="#CHAPTER-QOS"
>Quality of Service (QoS)</A
></DT
><DD
><DL
><DT
>21.1. <A
HREF="#AEN2729"
>General</A
></DT
><DT
>21.2. <A
HREF="#AEN2733"
>Linux QoS mit “tc”</A
></DT
></DL
></DD
><DT
>22. <A
HREF="#CHAPTER-HINTS-DAEMONS"
>Hinweise zu IPv6 kompatiblen Daemons</A
></DT
><DD
><DL
><DT
>22.1. <A
HREF="#HINTS-DAEMONS-BIND"
>Berkeley Internet Name Domain (BIND) daemon “named”</A
></DT
><DT
>22.2. <A
HREF="#HINTS-DAEMONS-XINETD"
>Internet super daemon (xinetd)</A
></DT
><DT
>22.3. <A
HREF="#HINTS-DAEMONS-APACHE2."
>Webserver Apache2 (httpd2)</A
></DT
><DT
>22.4. <A
HREF="#HINTS-DAEMONS-RADVD"
>Router Advertisement Daemon (radvd)</A
></DT
><DT
>22.5. <A
HREF="#HINTS-DAEMONS-DHCPV6."
>Dynamic Host Configuration v6 Server (dhcp6s)</A
></DT
><DT
>22.6. <A
HREF="#HINTS-DAEMONS-ISC-DHCP"
>ISC Dynamic Host Configuration Server (dhcpd)</A
></DT
><DT
>22.7. <A
HREF="#HINTS-DAEMONS-DIBBLER"
>DHCP Server Dibbler</A
></DT
><DT
>22.8. <A
HREF="#HINTS-DAEMONS-TCPWRAPPER"
>tcp_wrapper</A
></DT
><DT
>22.9. <A
HREF="#HINTS-DAEMONS-VSFTPD"
>vsftpd</A
></DT
><DT
>22.10. <A
HREF="#HINTS-DAEMONS-PROFTPD"
>proftpd</A
></DT
><DT
>22.11. <A
HREF="#HINTS-DAEMONS-OTHERS"
>Andere Daemons</A
></DT
></DL
></DD
><DT
>23. <A
HREF="#CHAPTER-PROGRAMMING"
>Programmierung</A
></DT
><DD
><DL
><DT
>23.1. <A
HREF="#CHAPTER-SECTION-USING-API"
>Programmierung mit Nutzung der C-API</A
></DT
><DT
>23.2. <A
HREF="#AEN3091"
>Andere Programmiersprachen</A
></DT
></DL
></DD
><DT
>24. <A
HREF="#CHAPTER-INTEROPERABILITY"
>Interoperabilität</A
></DT
><DT
>25. <A
HREF="#CHAPTER-INFORMATION"
>Weitere Informationen und URLs</A
></DT
><DD
><DL
><DT
>25.1. <A
HREF="#INFORMATION-BOOKS"
>Gedruckte Bücher, Artikel, Onlinerezensionen</A
></DT
><DT
>25.2. <A
HREF="#INFORMATION-CONFERENCES"
>Konferenzen und Meetings</A
></DT
><DT
>25.3. <A
HREF="#INFORMATION-ONLINEINFORMATION"
>Online-Informationen</A
></DT
><DT
>25.4. <A
HREF="#AEN3753"
>IPv6 Infrastruktur</A
></DT
><DT
>25.5. <A
HREF="#INFORMATION-MAILLISTS"
>Mailinglisten</A
></DT
><DT
>25.6. <A
HREF="#INFORMATION-ONLINETESTTOOLS"
>Online-Werkzeuge</A
></DT
><DT
>25.7. <A
HREF="#INFORMATION-TRAININGSANDSEMINARS"
>Trainings, Seminare</A
></DT
><DT
>25.8. <A
HREF="#INFORMATION-ONLINEDISCOVERY"
>'Die Online Entdeckung' ...</A
></DT
></DL
></DD
><DT
>26. <A
HREF="#AEN4136"
>Versions-Überblick / Danksagung / Zum Schluss</A
></DT
><DD
><DL
><DT
>26.1. <A
HREF="#REVISION-HISTORY"
>Versions-Überblick</A
></DT
><DT
>26.2. <A
HREF="#CREDITS"
>Danksagung</A
></DT
><DT
>26.3. <A
HREF="#AEN4365"
>Zum Schluss</A
></DT
></DL
></DD
></DL
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-GENERAL"
></A
>Kapitel 1. Allgemein</H1
><P
>Informationen über verfügbare Übersetzungen finden Sie im Abschnitt <A
HREF="#GENERAL-TRANSLATIONS"
>Übersetzungen</A
>.</P
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="GENERAL-COPRIGHT"
>1.1. Copyright, Lizenz und anderes</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN41"
>1.1.1. Copyright</A
></H3
><P
>Verfasst von und urheberrechtlich geschützt durch Peter Bieringer © 2001-2014.</P
><P
>Deutsche Übersetzung:</P
><P
>Verfasst von und urheberrechtlich geschützt durch Georg Käfer © 2002-2003, weitergeführt von Peter Bieringer © 2004-2014.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN46"
>1.1.2. Lizenz</A
></H3
><P
>Dieses Linux IPv6 HOWTO wird unter der GNU GPL Version 2 herausgegeben:</P
><P
>Dieses Linux IPv6 HOWTO ist ein Handbuch zur Anwendung und Konfiguration von IPv6 auf Linux-Systemen. </P
><P
>Copyright © 2001-2014 Peter Bieringer
Deutsche Übersetzung Copyright © 2002-2003 Georg Käfer, weitergeführt von Peter Bieringer © 2004-2013.</P
><P
>Diese Dokumentation ist freie Software; Sie können diese unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation publiziert, entweder unter Version 2 oder optional jede höhere Version redistribuieren und/oder modifizieren.</P
><P
>Dieses Programm wird in der Hoffnung verteilt, dass es für Sie nutzvoll ist, jedoch OHNE JEDWEDER GEWÄHRLEISTUNG; sogar ohne der implizierten Gewährleistung der MARKTFÄHIGKEIT oder der FÄHIGKEIT ZU EINEM BESONDEREN ZWECK bzw. VORSATZ. Weitere Details finden Sie in der GNU General Public License.</P
><P
>Zusammen mit diesem Dokument sollten Sie eine Kopie der GNU General Public License erhalten haben; Wenn dem nicht so ist, können Sie sich an folgende Adresse wenden: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN54"
>1.1.3. Über den Autor</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN56"
>1.1.3.1. Internet/IPv6 Background des Autors</A
></H4
><P
></P
><UL
><LI
><P
>1993: In Kontakt mit dem Internet getreten, kennenlernen von konsolenbasierte E-Mail- und News-Client-Programme (z.B.: suchen Sie nach “e91abier” auf <A
HREF="http://groups.google.com/"
TARGET="_top"
>groups.google.com</A
>, das ist der Autor).</P
></LI
><LI
><P
>1996: Anfrage zur Gestaltung eines IPv6 Kurses inklusive eines Workshops zum Thema Linux Betriebssystem bekommen.</P
></LI
><LI
><P
>1997: Schreiben einer Anleitung, wie man IPv6 auf Linux Systemen installieren, konfigurieren und anwenden kann, genannt <A
HREF="http://www.bieringer.de/linux/IPv6/"
TARGET="_top"
>IPv6 &#38; Linux - HowTo</A
> (siehe unter <A
HREF="http://www.bieringer.de/linux/IPv6/IPv6-HOWTO/IPv6-HOWTO-0.html#history"
TARGET="_top"
>IPv6 &#38; Linux - HowTo/History</A
>).</P
></LI
><LI
><P
>2001: Begonnen, dieses neue Linux IPv6 HOWTO zu schreiben.</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN70"
>1.1.3.2. Ansprechpartner</A
></H4
><P
>Der Autor kann via E-Mail &#60;pb at bieringer dot de&#62; und auch über seine <A
HREF="http://www.bieringer.de/pb/"
TARGET="_top"
>homepage</A
> kontaktiert werden.</P
><P
>Der Autor lebt zurzeit in München / Bayern / (Süd-)Deutschland / (Mittel-)Europa / Erde (Festland).</P
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="GENERAL-CATEGORY"
>1.2. Kategorie</A
></H2
><P
>Dieses HOWTO sollte in der Kategorie “<EM
>Networking</EM
>/<EM
>Protocols</EM
>” aufgelistet werden.</P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN80"
>1.3. Version, Werdegang und Unerledigtes</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN82"
>1.3.1. Version</A
></H3
><P
>Die aktuelle Versionsnummer finden Sie auf der Titelseite.</P
><P
>Für andere verfügbare Versionen/Übersetzungen siehe auch <A
HREF="http://www.bieringer.de/linux/IPv6/"
TARGET="_top"
>http://www.bieringer.de/linux/IPv6/</A
>.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN87"
>1.3.2. Werdegang</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN89"
>1.3.2.1. Eckpunkte</A
></H4
><P
>2001-11-30: Beginn mit der Neukonzeption dieses HOWTOs.</P
><P
>2002-01-02: Viel Inhalt eingearbeitet, erste Version des Kapitels 1 veröffentlicht (Version 0.10).</P
><P
>2002-01-14: Weitere Vervollständigung und Überprüfung des Inhalts, öffentliche Freigabe des kompletten Dokuments (Version 0.14).</P
><P
>2002-08-16: Polnische Übersetzung ist in Arbeit.</P
><P
>2002-10-31: Chinesische Übersetzung ist verfügbar.</P
><P
>2002-11-10: Deutsche Übersetzung ist in Arbeit.</P
><P
>2003-02-10: Deutsche Übersetzung ist verfügbar.</P
><P
>2003-04-09: Französische Übersetzung ist in Arbeit.</P
><P
>2003-05-09: Französische Übersetzung ist verfügbar</P
><P
>2003-10-16: Italienische Übersetzung ist in Arbeit.</P
><P
>2004-03-12: Italienische Übersetzung ist verfügbar</P
><P
>2004-06-18: Griechische Übersetzung ist in Arbeit</P
><P
>2005-07-25: Türkische Übersetzung ist verfügbar</P
><P
>2007-03-28: Portugiesisch-Brasilianische Übersetzung ist in Arbeit</P
><P
>2008-07-30: Spanische Übersetzung ist verfügbar (aber noch nicht abgeschlossen)</P
><P
>2011-05-09: Portugiesisch-Brasilianische Übersetzung ist wieder in Arbeit</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN107"
>1.3.2.2. Vollständiger Werdegang</A
></H4
><P
>Am Ende dieses Dokumentes finden Sie die <A
HREF="#REVISION-HISTORY"
>Historie der Änderungen</A
>.</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN111"
>1.3.3. Unerledigtes</A
></H3
><P
></P
><UL
><LI
><P
>Fehlenden Inhalt ergänzen</P
></LI
><LI
><P
>Grammatik-Überprüfung beenden</P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="GENERAL-TRANSLATIONS"
>1.4. Übersetzungen</A
></H2
><P
>Übersetzungen müssen den URL, die Versionsnummer und das Copyright des Originaldokuments enthalten (aber auch die Daten zu ihrer Übersetzung). Bitte übersetzen Sie nicht das Original-Changelog, das wäre nicht sehr sinnvoll. Es sieht aus, als wäre die Änderungsfrequenz dieses Dokumentes überwiegend geringer als einmal pro Monat. Seit Version 0.27 scheint der Hauptteil des vom Autor beigesteuerten Inhaltes geschrieben zu sein. Übersetzungen müssen immer das englische Original als Quelle benutzen.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN121"
>1.4.1. Diverse Sprachen</A
></H3
><P
>Notiz: eine Übersicht mit URLs ist zu finden unter <A
HREF="http://www.bieringer.de/linux/IPv6/"
TARGET="_top"
>http://www.bieringer.de/linux/IPv6/</A
>.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN125"
>1.4.1.1. Deutsch</A
></H4
><P
>Mit 2002-11-10 wurde von Georg Käfer &#60;gkaefer at gmx dot at&#62; die Deutsche Übersetzung begonnen und am 10.02.2003 erstmals publiziert. Grundlage der Übersetzung ist die CVS-Version 1.53 der Lyx-Datei, aus der das Linux IPv6 HOWTO Version 0.39.2 erstellt wurde.</P
><P
>Mit Sicherheit werden in dieser Übersetzung noch so manche 'Hoppalas' und auch 'grausige' Rechtschreibfehler zu finden sein. Sorry! Ebenfalls fällt es nicht immer leicht, zu entscheiden, ob ein Terminus überhaupt übersetzt werden soll, bzw. ob die Beibehaltung des englischen Originalwortes nicht zielführender wäre... </P
><P
><EM
>Neue deutsche Rechtschreibung</EM
>: es wurde eine konservative Übersetzung angewandt, d.h. nicht alle möglichen Änderungen der Neuen deutschen Rechtschreibung wurden durchgeführt, sondern nur die notwendigen Änderungen.</P
><P
>Die URL für diese deutsche Übersetzung ist: <A
HREF="http://mirrors.deepspace6.net/Linux+IPv6-HOWTO-de/"
TARGET="_top"
>http://mirrors.deepspace6.net/Linux+IPv6-HOWTO-de/</A
></P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN133"
>1.4.1.2. Andere Sprachen</A
></H4
><P
>Informationen über Übersetzungen in andere Sprachen finden Sie hier im Originaldokument: <A
HREF="http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/general-translations.html"
TARGET="_top"
>TLDP / Linux+IPv6-HOWTO / Übersetzungen</A
>.</P
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN137"
>1.5. Technisches</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="GENERAL-ORIGINAL-SOURCE"
>1.5.1. Originalquelle dieses HOWTOs</A
></H3
><P
>Die originale englische Version dieses HOWTOs wurde mit LyX Version 1.6.1 auf einem Fedora 10 Linux System mit SGML-Template (DocBook book) erstellt. Alle Dateien sind unter <A
HREF="https://github.com/tLDP/LDP/tree/master/LDP/users/Peter-Bieringer/"
TARGET="_top"
>github / tLDP / LDP / users / Peter-Bieringer</A
> verfügbar.</P
><P
>Auch die deutsche Version wurde mit LyX erstellt und befindet sich ebenfalls im angegebenen CVS-Verzeichnis.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN144"
>1.5.1.1. Zeilenumbruch in Code-Beispielen</A
></H4
><P
>Der Zeilenumbruch wird mit Hilfe eines selbst geschriebenen Tools “lyxcodelinewrapper.pl” erstellt; Sie finden das Skript am CVS unter: <A
HREF="http://cvs.tldp.org/go.to/LDP/LDP/users/Peter-Bieringer/"
TARGET="_top"
>TLDP-CVS / users / Peter-Bieringer</A
>.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN148"
>1.5.1.2. SGML Erzeugung</A
></H4
><P
>SGML wird mit Hilfe der Exportfunktion in LyX generiert.</P
><P
>Um korrekten SGML Code zu erstellen, müssen einige Korrekturen gemacht werden. Die entsprechenden Perl Skripts finden Sie unter <A
HREF="http://cvs.tldp.org/go.to/LDP/LDP/users/Peter-Bieringer/"
TARGET="_top"
>TLDP-CVS / users / Peter-Bieringer</A
>:</P
><P
></P
><UL
><LI
><P
>Der Export von Lyx-Tabellen erstellt keine korrekten “colspan” Tags. Tool für die Korrektur: “sgmllyxtabletagfix.pl” (behoben seit LyX Version 1.2.0)</P
></LI
><LI
><P
>LyX verwendet manchmal , anstelle der normalen, spezielle Links-/Rechts-Formatierungen für Zitate, die dann auch im generierten HTML Code ausgegeben werden. Einige Browser können das Ergebnis nicht besonders schön darstellen (bekannt sind: Opera TP2 oder Konqueror). Tool für die Korrektur: “sgmllyxquotefix.pl”</P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN158"
>1.5.2. Online-Verweise auf die HTML Version dieses HOWTOs (Links / Anchors)</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN160"
>1.5.2.1. Hauptindexseite</A
></H4
><P
>Im Allgemeinen wird ein Verweis auf die Hauptindexseite empfohlen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN163"
>1.5.2.2. Seitennamen</A
></H4
><P
>Da die HTML-Seiten aus einer SGML-Datei erstellt werden, werden einige HTML-Dateinamen ziemlich zufällig gewählt. Manche Seiten sind jedoch in LyX mit Tags gekennzeichnet, woraus statische Namen resultieren. Diese sollten der besseren Referenz wegen zukünftig nicht geändert werden.</P
><P
>Bitte lassen Sie es wissen, wenn Sie glauben, dass ein Tag vergessen wurde.</P
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN167"
>1.6. Vorwort</A
></H2
><P
>Einiges vorab:</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN170"
>1.6.1. Wie viele IPv6 &#38; Linux bezogene HOWTOs gibt es?</A
></H3
><P
>Inklusive diesem gibt es drei (3) HOWTO-Dokumente. Pardon, wenn das zu viele sind ;-)</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN173"
>1.6.1.1. Linux Ipv6 FAQ/HOWTO (veraltet)</A
></H4
><P
>Das erste IPv6 bezogene Dokument wurde von <EM
>Eric Osborne</EM
> geschrieben und heißt <A
HREF="http://www.linuxhq.com/IPv6/"
TARGET="_top"
>Linux IPv6 FAQ/HOWTO</A
> (bitte benutzen Sie den Text nur im historischen Kontext). Die neueste Version 3.2.1 wurde am 14.Juli 1997 veröffentlicht.</P
><P
>Bitte um Ihre Mithilfe: Wenn jemand das Erstellungsdatum der Erstversion dieses HOWTOs kennen sollte, senden Sie mir Bitte ein E-Mail (Die Information wird im Abschnitt “Werdegang” eingearbeitet).</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN179"
>1.6.1.2. IPv6 &#38; Linux - HowTo (gewartet)</A
></H4
><P
>Ein zweites Dokument (<A
HREF="http://www.bieringer.de/linux/IPv6/"
TARGET="_top"
>IPv6 &#38; Linux - HowTo</A
>) wurde vom selben Autor (Peter Bieringer) geschrieben und liegt im HTML-Format vor. Begonnen wurde mit dem Schreiben im April 1997 und die erste englische Version wurde im Juni 1997 veröffentlicht. Das Dokument wird weiterhin betreut, es wird aber langsam (jedoch nicht komplett) in das Linux IPv6 HOWTO - das Sie gerade lesen - eingearbeitet.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN183"
>1.6.1.3. Linux IPv6 HOWTO (dieses Dokument)</A
></H4
><P
>Da das <A
HREF="http://www.bieringer.de/linux/IPv6/"
TARGET="_top"
>IPv6 &#38; Linux - HowTo</A
> in HTML geschrieben wurde, war es nicht wirklich mit dem <A
HREF="http://www.tldp.org/"
TARGET="_top"
>The Linux Documentation Project (TLDP)</A
> kompatibel. Der Autor (Peter Bieringer) bekam Ende Nov. 2001 die Anfrage, das <A
HREF="http://www.bieringer.de/linux/IPv6/"
TARGET="_top"
>IPv6 &#38; Linux - HowTo</A
> in SGML zu konvertieren. Er entschied sich auf Grund dieser Diskontinuität (<A
HREF="http://www.bieringer.de/linux/IPv6/IPv6-HOWTO/IPv6-HOWTO-0.html#history"
TARGET="_top"
>Future of IPv6 &#38; Linux - HowTo</A
>) und der Tatsache, dass IPv6 mehr und mehr zum Standard wird, zum Schreiben eines neuen Dokuments. Im zweiten HOWTO (<A
HREF="http://www.bieringer.de/linux/IPv6/"
TARGET="_top"
>IPv6 &#38; Linux - HowTo</A
>) wird auch weiterhin dynamischer Inhalt sowie weiterführender Inhalt zu finden sein. </P
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN191"
>1.7. Verwendete Begriffe, Glossar und Abkürzungen</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN193"
>1.7.1. Netzwerkbegriffe</A
></H3
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
>Base 10</DT
><DD
><P
>Dezimales Zahlensystem, das die Zahlen 0-9 beinhaltet.</P
></DD
><DT
>Base 16</DT
><DD
><P
>Generell in Programmiersprachen verwendetes hexedezimales Zahlensystem, das die Zahlen 0-9 und die Buchstaben A-F beinhaltet (Groß/Kleinschreibung möglich).</P
></DD
><DT
>Base 85</DT
><DD
><P
>85 verschiedene Zahlen/Buchstaben umfasst dieses Zahlensystem und ermöglicht dadurch kürzere Zeichenketten - aber niemals in der Praxis gesehen.</P
></DD
><DT
>Bit</DT
><DD
><P
>Kleinste Speichereinheit mit dem Wert ein/wahr (1) oder aus/falsch (0)</P
></DD
><DT
>Byte</DT
><DD
><P
>Meistens eine Menge von 8 bits (aber kein Muss - siehe ältere Computer Systeme)</P
></DD
><DT
>Device</DT
><DD
><P
>Netzwerkgerät, siehe auch NIC</P
></DD
><DT
>Dual homed host</DT
><DD
><P
>Ein Dual homed host ist ein Node mit zwei (physischen oder virtuellen) Schnittstellen auf zwei unterschiedlichen Links. Datenpakete können zwischen den zwei Verbindungen nicht weitergeleitet werden.</P
></DD
><DT
>Host</DT
><DD
><P
>Im Regelfall handelt es sich um einen Rechner mit einen Link sowie einer aktiven Netzwerk-Schnittstelle, z.B. Ethernet oder (aber nicht und) PPP.</P
></DD
><DT
>Interface</DT
><DD
><P
>Ident mit “device”, siehe auch NIC.</P
></DD
><DT
>IP Header</DT
><DD
><P
>Kopf eines IP-Paketes (jedes Netzwerk-Paket hat einen header, die Form des headers ist abhängig von der Netzwerkschicht).</P
></DD
><DT
>Link</DT
><DD
><P
>Ein Link ist eine Schicht 2 Netzwerk-Transportmedium für Pakete; Beispiele sind Ethernet, Token Ring, PPP, SLIP, ATM, ISDN, Frame Relay,...</P
></DD
><DT
>Node</DT
><DD
><P
>Ein Node (=Knoten) ist ein Host oder ein Router.</P
></DD
><DT
>Octet</DT
><DD
><P
>Sammlung von acht (8) realen bits, vergleichbar mit “byte”.</P
></DD
><DT
>Port</DT
><DD
><P
>Information für den TCP/UDP dispatcher (Schicht 4), mit dessen Hilfe Informationen auf höhere Schichten transportiert werden.</P
></DD
><DT
>Protocol</DT
><DD
><P
>Jede Netzwerkschicht enthält meistens ein Protokoll-Feld damit die Übergabe transportierter Informationen an höhere Netzwerkschichten erleichtert wird. Beispiele hierfür: Schicht 2 (MAC) und 3 (IP).</P
></DD
><DT
>Router</DT
><DD
><P
>Ein Router ist ein Knoten mit zwei (2) oder mehr (physischen oder virtuellen) Schnittstellen, der Datenpakete zwischen den Schnittstellen versenden kann.</P
></DD
><DT
>Socket</DT
><DD
><P
>Ein IP socket wird durch Quell- und Zieladresse, den Ports (und der Verbindung) definiert.</P
></DD
><DT
>Stack</DT
><DD
><P
>Ein Stack setzt sich aus Netzwerkschichten zusammen. </P
></DD
><DT
>Subnetmask</DT
><DD
><P
>IP Netzwerke verwenden Bitmasken um lokale von entfernten Netzwerken zu trennen.</P
></DD
><DT
>Tunnel</DT
><DD
><P
>Ein Tunnel ist typischerweise eine Punkt-zu-Punkt-Verbindung, über die Datenpakete eines anderen Protokolls ausgetauscht werden. Beispiel: IPv6-in-IPv4 Tunnel.</P
></DD
></DL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="GLOSSAR"
>1.7.1.1. Abkürzungen</A
></H4
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
>ACL</DT
><DD
><P
>Access Control List - Zugriffsliste)</P
></DD
><DT
>API</DT
><DD
><P
>Application Programming Interface - Schnittstellen in Programmen zwischen den Applikationen</P
></DD
><DT
>ASIC</DT
><DD
><P
>Application Specified Integrated Circuit - Applikationsspezifischer integrierter Schaltkreis</P
></DD
><DT
>BSD</DT
><DD
><P
>Berkeley Software Distribution</P
></DD
><DT
>CAN-Bus</DT
><DD
><P
>Controller Area Network Bus (physical bus system)</P
></DD
><DT
>ISP</DT
><DD
><P
>Internet Service Provider</P
></DD
><DT
>KAME</DT
><DD
><P
>Ein Projekt und gemeinsame Anstrengung von sechs (6) Firmen in Japan mit dem Ziel, einen freien IPv6 und IPsec Stack für BSD Derivate der Öffentlichkeit zur Verfügung zu stellen <A
HREF="http://www.kame.net/"
TARGET="_top"
>www.kame.net</A
>.</P
></DD
><DT
>LIR</DT
><DD
><P
>Local Internet Registry - Lokale Internet Registratur</P
></DD
><DT
>NIC</DT
><DD
><P
>Network Interface Controller - Netzwerk[schnittstellen]karte, kurz Netzwerkkarte</P
></DD
><DT
>RFC</DT
><DD
><P
>Request For Comments - eine Sammlung von technischen und organisatorischen Dokumenten zum Thema Internet.</P
></DD
><DT
>USAGI</DT
><DD
><P
>UniverSAl playGround for Ipv6 Project - dieses Projekt will für das Linux System einen IPv6 Protokoll stack mit Produktionsqualität ausliefern.</P
></DD
></DL
></DIV
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN324"
>1.7.2. In diesem Dokument verwendete Syntax</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN326"
>1.7.2.1. Zeilenumbruchs-Zeichen bei langen Codebeispielen</A
></H4
><P
>Das spezielle Zeichen “¬” zeigt in den Beispielen an, dass die Zeile umgebrochen wurde. Dies wurde für eine korrekte Darstellung des Textes in den PDF- und PS-Versionen benötigt.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN329"
>1.7.2.2. Platzhalter</A
></H4
><P
>In allgemeinen Beispielen können Sie öfters lesen:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>&#60;myipaddress&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>In Skripts oder an Ihrer Kommandozeile müssen Sie die &#60; und &#62; weglassen und den Text mit dem entsprechenden Inhalt ersetzen. Das Beispiel hier z.B. könnte sein:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>1.2.3.4</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN335"
>1.7.2.3. Shell-Kommandos</A
></H4
><P
>Kommandos, die nicht als Root-Benutzer ausgeführt werden, beginnen mit $, z.B.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>$ whoami</PRE
></FONT
></TD
></TR
></TABLE
><P
>Befehle, die mit Root-Rechten ausgeführt werden, beginnen mit #, z.B.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># whoami</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN341"
>1.8. Grundvoraussetzung für die Verwendung dieses HOWTOs</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN343"
>1.8.1. Persönliche Anforderungen</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN345"
>1.8.1.1. Erfahrung mit Unix Tools</A
></H4
><P
>Sie sollten mit den gängigsten Unix Tools wie<EM
> grep</EM
>, <EM
>awk</EM
>, <EM
>find</EM
>, etc. und deren Kommandozeilen-Optionen vertraut sein.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN351"
>1.8.1.2. Erfahrung mit Netzwerktheorie</A
></H4
><P
>Sie sollten das Schichtmodell und die einzelnen Schichten, Protokolle, Adressarten, Kabelsorten, Stecker etc. kennen. Wenn das Neuland für Sie sein sollte, finden Sie hier einen guten Ausgangspunkt: <A
HREF="http://www.rigacci.org/docs/biblio/online/intro_to_networking/book1.htm"
TARGET="_top"
>http://www.rigacci.org/docs/biblio/online/intro_to_networking/book1.htm</A
></P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN355"
>1.8.1.3. Erfahrung mit der Konfiguration von IPv4 Netzen</A
></H4
><P
>Sie sollten definitiv Erfahrung mit der Konfiguration von IPv4 Netzwerken haben, andernfalls werden Sie dem Text nur schwer folgen können.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN358"
>1.8.1.4. Erfahrung mit dem Domain Name System (DNS)</A
></H4
><P
>Sie sollten ebenfalls das Domain Name System (DNS) verstehen und damit umgehen können.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN361"
>1.8.1.5. Routine im Umgang mit Strategien zur Netzwerk-Fehlersuche</A
></H4
><P
>Sie sollten zumindest mit tcpdump umgehen und den Output des Programms interpretieren können. Andernfalls wird die Netzwerk-Fehlersuche für Sie schwierig.</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN364"
>1.8.2. Linux kompatible Hardware</A
></H3
><P
>Sicherlich wollen Sie mit realer Hardware experimentieren und nicht darüber an dieser Stelle lesen und an der einen oder anderen Stelle einschlummern. ;-7)</P
></DIV
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-BASICS"
></A
>Kapitel 2. Grundlagen</H1
><DIV
CLASS="SECT1"
><H2
CLASS="SECT1"
><A
NAME="AEN369"
>2.1. Was ist IPv6?</A
></H2
><P
>IPv6 ist ein neues Schicht 3 Vermittlungsprotokoll und es wird IPv4 (auch als IP bekannt) ablösen. IPv4 wurde vor langer Zeit entworfen (<A
HREF="http://www.faqs.org/rfcs/rfc760.html"
TARGET="_top"
>RFC 760 / Internet Protocol</A
> vom Januar 1980). Seitdem wurden viele Adressen vergeben und Erweiterungen angeregt. Die aktuelle RFC ist <A
HREF="http://www.faqs.org/rfcs/rfc2460.html"
TARGET="_top"
>RFC 2460 / Internet Protocol Version 6 Specification</A
>. Hauptänderungen in IPv6 sind das neue Design des Headers sowie die Erweiterung der Adresslänge von 32 bits auf 128 bits. Die Schicht 3 ist für den Transport der Pakete von Endpunkt-zu-Endpunkt mittels adressbasierten Paket-Routings zuständig, und wie bei IPv4 müssen bei IPv6 die Adressen (Quell- und Zieladresse) inkludiert sein.</P
><P
>Für weitere Informationen zur IPv6 Geschichte siehe die älteren RFCs z.B. <A
HREF="http://www.switch.ch/lan/ipv6/references.html"
TARGET="_top"
>SWITCH IPv6 Pilot / References</A
>.</P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="BASIC-HISTORY-IPV6-LINUX"
>2.2. Geschichte von IPv6 &#38; Linux</A
></H2
><P
>Die Jahre 1992, 1993 und 1994 der allgemeinen IPv6 Geschichte können Sie in folgendem Dokument nachlesen: <A
HREF="http://www.laynetworks.com/IPv6.htm#CH3"
TARGET="_top"
>IPv6 or IPng (IP next generation)</A
>.</P
><P
>Zu erledigen: Bessere Chronologie, mehr Inhalt</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN381"
>2.2.1. Anfang</A
></H3
><P
>Der erste IPv6 Netzwerk Code wurde dem Linux Kernel 2.1.8 im November 1996 durch Pedro Roque hinzugefügt. Er basierte auf dem BSD API:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>diff -u --recursive --new-file v2.1.7/linux/include/linux/in6.h
¬ linux/include/linux/in6.h
--- v2.1.7/linux/include/linux/in6.h Thu Jan 1 02:00:00 1970
+++ linux/include/linux/in6.h Sun Nov 3 11:04:42 1996
@@ -0,0 +1,99 @@
+/*
+ * Types and definitions for AF_INET6
+ * Linux INET6 implementation
+ * + * Authors:
+ * Pedro Roque &#60;******&#62;
+ *
+ * Source:
+ * IPv6 Program Interfaces for BSD Systems
+ * &#60;draft-ietf-ipngwg-bsd-api-05.txt&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Diese Zeilen entstammen dem patch-2.1.8 (die E-Mail-Adresse wurde hier beim Copy &#38; Paste absichtlich gelöscht).</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN386"
>2.2.2. Übergangszeit</A
></H3
><P
>Aufgrund fehlender Arbeitskraft konnte die IPv6-Kernel-Implementierung nicht mit den Drafts oder neu freigegebenen RFCs Schritt halten. Im Oktober 2000 wurde in Japan das <A
HREF="http://www.linux-ipv6.org/"
TARGET="_top"
>USAGI</A
> Projekt gestartet. Das Ziel war, die fehlende bzw. bereits veraltete IPv6 Funktionalität in Linux zu implementieren. Dabei richtete man sich nach der aktuellen FreeBSD Implementierung von IPv6, die durch das <A
HREF="http://www.kame.net/"
TARGET="_top"
>KAME project</A
> umgesetzt wurde. Von Zeit zu Zeit wurden im Vergleich zu den aktuellen Standard Linux-Kernel-Quellen ein Auszug erstellt. </P
><P
>Bis zum Start der Entwicklungs-Kernel Serie 2.5.x, der <A
HREF="http://www.linux-ipv6.org/"
TARGET="_top"
>USAGI</A
> Patch war so groß, das er von den Linux-Netzwerkcode-Maintainers nicht komplett für die Einbindung in die Produktions-Kernel Serie 2.4.x eingebunden werden konnte.</P
><P
>Während der Entwicklung in der Serie 2.5.x hat <A
HREF="http://www.linux-ipv6.org/"
TARGET="_top"
>USAGI</A
> versucht, so viel wie möglich ihrer Erweiterungen darin zu integrieren.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN395"
>2.2.3. Heute</A
></H3
><P
>Viele der von <A
HREF="http://www.linux-ipv6.org/"
TARGET="_top"
>USAGI</A
> und anderen lang entwickelten IPv6-bezogenen Patches sind bereits in der Vanilla Kernel Serie 2.6.x integriert.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN399"
>2.2.4. Zukunft</A
></H3
><P
><A
HREF="http://www.linux-ipv6.org/"
TARGET="_top"
>USAGI</A
> und andere arbeiten weiterhin an der Implementierung von neuen Features wie Mobility und anderen. Von Zeit zu Zeit werden neue Erweiterungs-Patches veröffentlicht, wie auch die Integration in die Vanilla Kernel Serie 2.6.x vorangetrieben.</P
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN403"
>2.3. Wie sehen IPv6 Adressen aus?</A
></H2
><P
>Wie gesagt, IPv6 Adressen sind 128 bit lang. Diese bit-Anzahl kann sehr hohe dezimale Zahlen mit bis zu 39 Ziffern ergeben:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2^128-1: 340282366920938463463374607431768211455</PRE
></FONT
></TD
></TR
></TABLE
><P
>Solche Zahlen sind nicht wirklich Adressen, die auswendig gelernt werden können. Die IPv6 Adressdarstellung ist bitweise orientiert (wie bei IPv4, aber das wird nicht oft bedacht). Eine bessere Schreibweise ist deshalb die hexadezimale Darstellung. Dabei werden 4 bits (auch ”nibble” genannt) durch die Zeichen 0-9 und a-f (10-15) dargestellt, wodurch die Länge auf 32 Zeichen reduziert wird.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2^128-1: 0xffffffffffffffffffffffffffffffff</PRE
></FONT
></TD
></TR
></TABLE
><P
>Diese Darstellung ist ebenfalls nicht sehr angenehm (mögliche Verwechslung oder Verlust einzelner hexadezimaler Ziffern), so dass die IPv6 Designer das hexadezimales Format mit einem Doppelpunkt als Trennzeichen nach jedem 16 bit Block erweiterten. Ferner wird das führende ”0x” (ein in Programmiersprachen verwendetes Identifizierungsmerkmal für hexadezimale Werte) entfernt:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2^128-1: ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff</PRE
></FONT
></TD
></TR
></TABLE
><P
>Eine gültige Adresse (s.u. Adress-Typen) ist z.B.:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2001:0db8:0100:f101:0210:a4ff:fee3:9566</PRE
></FONT
></TD
></TR
></TABLE
><P
>Der Vereinfachung halber können führende Nullen jedes 16 bit-Blocks weggelassen werden:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2001:0db8:0100:f101:0210:a4ff:fee3:9566 -&#62;
¬ 2001:0db8:100:f101:210:a4ff:fee3:9566</PRE
></FONT
></TD
></TR
></TABLE
><P
>Eine Sequenz von 16 bit-Blöcken, die nur Nullen enthaltet, kann durch ein “::“ ersetzt werden. Diese Komprimierung kann aber nicht öfters als einmal durchgeführt werden</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2001:0db8:100:f101:0:0:0:1 -&#62; 2001:0db8:100:f101::1</PRE
></FONT
></TD
></TR
></TABLE
><P
>Die höchstmögliche Reduktion sieht man bei der IPv6 Localhost Adresse:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>0000:0000:0000:0000:0000:0000:0000:0001 -&#62; ::1</PRE
></FONT
></TD
></TR
></TABLE
><P
>Es gibt auch eine so genannte <EM
>kompakte</EM
> Darstellung (base 85 codiert) <A
HREF="http://www.faqs.org/rfcs/rfc1924.html"
TARGET="_top"
>RFC 1924 / A Compact Representation of IPv6 Addresses</A
> (publiziert am 1. April 1996). Diese Notation wurde allerdings nie in der Praxis gesehen und ist wahrscheinlich ein Aprilscherz. Ein Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ipv6calc --addr_to_base85 2001:0db8:0100:f101:0210:a4ff:fee3:9566
Itu&#38;-ZQ82s&#62;J%s99FJXT</PRE
></FONT
></TD
></TR
></TABLE
><A
NAME="AEN423"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
><P
>Info: <EM
>ipv6calc</EM
> ist ein IPv6 Adressen-Format-Umrechner und Konvertierungsprogramm und ist hier zu finden: <A
HREF="http://www.deepspace6.net/projects/ipv6calc.html"
TARGET="_top"
>ipv6calc homepage</A
> (<A
HREF="http://mirrors.bieringer.de/www.deepspace6.net/projects/ipv6calc.html"
TARGET="_top"
>Mirror</A
>)</P
></BLOCKQUOTE
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN428"
>2.4. FAQ (Grundlagen)</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN430"
>2.4.1. Warum wird der Nachfolger von IPv4 nun IPv6 und nicht IPv5 genannt?</A
></H3
><P
>In jedem IP-Header werden die ersten 4 Bits für die Protokollversion reserviert. So sind theoretisch die Protokollnummern 0 bis 15 möglich:</P
><P
></P
><UL
><LI
><P
>4: Wird schon für IPv4 verwendet</P
></LI
><LI
><P
>5: Ist für das Stream Protocol (STP, <A
HREF="http://www.faqs.org/rfcs/rfc1819.html"
TARGET="_top"
>RFC 1819 / Internet Stream Protocol Version 2</A
>) reserviert (das aber nie den Weg in die Öffentlichkeit fand)</P
></LI
></UL
><P
>So war die nächste freie Zahl 6. IPv6 war geboren!</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN440"
>2.4.2. IPv6 Adressen: Warum ist die Anzahl der Bits so groß?</A
></H3
><P
>Bei der Entwicklung von IPv4 dachte man, dass 32 Bits für die Welt ausreichend wären. Blickt man zurück, so waren bis heute 32 bits ausreichend. Vielleicht ist dies auch noch für ein paar Jahre so. Jedoch werden 32 bits nicht ausreichen, um in der Zukunft jedes Netzwerkgerät mit einer globalen Adresse ausstatten zu können. Denken Sie an Mobiltelefone, Autos (mit elektronischen Geräten an einem CAN Bus), Toaster, Kühlschränken, Lichtschalter usw.</P
><P
>Die IPv6 Designer haben 128 Bit gewählt, 4-mal mehr als im heutigen IPv4.</P
><P
>Aber die benutzbare Größe ist kleiner als es erscheinen mag, da in dem gegenwärtig definierten Adress-Schema 64 Bits für die Schnittstellen-Identifizierung verwendet werden. Die zweiten 64 Bit werden für das Routing verwendet. Die derzeitigen Aggregation-Levels (= Größe der zugeteilten IP-Blöcke) vorausgesetzt (/48, /32,...), ist eine Verknappung der Adressen weiterhin denkbar. Aber mit Sicherheit nicht in naher Zukunft. </P
><P
>Weitere Informationen finden Sie unter <A
HREF="http://www.faqs.org/rfcs/rfc1715.html"
TARGET="_top"
>RFC 1715 / The H Ratio for Address Assignment Efficiency</A
> und <A
HREF="http://www.faqs.org/rfcs/rfc3194.html"
TARGET="_top"
>RFC 3194 / The Host-Density Ratio for Address Assignment Efficiency</A
>.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN448"
>2.4.3. IPv6 Adressen: Warum ist die Bit-Anzahl bei einem neuen Design so klein?</A
></H3
><P
>Es gibt (wahrscheinlich) eine Gruppe (bekannt ist nur Jim Fleming...) von Personen am Internet, die über IPv8 und IPv16 nachdenken. Für diese Designs gibt es aber keine hohe Akzeptanz und auch keine Kernel-Implementierungen. 128 bits sind die beste Wahl bezogen auf Header-Overhead und dem Datentransport. Denken Sie an die minimalste Maximum Transfer Unit (MTU) in IPv4 (575 octets) und in IPv6 (1280 octets), die Header-Länge in IPv4 (20 octets Minimum, kann bis zu 60 octets mit IPv4 Optionen ansteigen) und in IPv6 sind es 40 octets (fixer Wert). Dies ist 3.4 % der minimalen MTU in IPv4 und 3.1 % der minimalen MTU in IPv6. Dies bedeutet, dass der Overhead beim Header fast identisch ist. Mehr bits für die Adressierung würden größere Header und deshalb mehr Overhead erfordern. Bedenken Sie auch die maximale MTU von 1500 octets (in speziellen Fällen bei Jumbo-Paketen bis zu 9k octets) bei normalen Verbindungen (z.B. Ethernet). Letztlich wäre es kein korrektes Design, wenn 10 % oder 20 % der transportierten Daten in einem Schicht 3-Paket für Adressen und nicht für die ”Nutzlast” benötigt würden.</P
></DIV
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-ADDRESSTYPES"
></A
>Kapitel 3. Adress-Typen</H1
><P
>Wie bei IPv4 können IPv6-Adressen mittels Subnetzmasken (subnet masks) in einen Netz- und einen Host-Teil unterteilt werden.</P
><P
>Bei IPv4 hat sich gezeigt, dass es manchmal von Nutzen wäre, einem Interface mehr als eine IP-Adresse zuweisen zu können, je nach Bedarf und Zweck (aliases, multicast etc.). Um in Zukunft flexibler bleiben zu können, geht man bei IPv6 weiter und erlaubt pro Interface mehr als eine zugewiesene IP-Adresse. Derzeit sind durch die RFCs kein Limit gesetzt, wohl aber in der Implementierung des IPv6 Stacks (um DoS Attacken vorzubeugen).</P
><P
>Neben der großen Bit-Anzahl für Adressen definiert IPv6 basierend auf einigen vorangestellten Bits verschiedene Adress-Typen. Diese werden hoffentlich in der Zukunft niemals aufgehoben (zum Unterschied zu IPv4 heute und die Entwicklung der class A, B und C Netze).</P
><P
>Zur Unterstützung einer automatischen Konfiguration wird die Bitanzahl in einen Netzwerk-Teil (vordere 64 Bits) und einen Hostteil (hintere 64 Bits). </P
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN457"
>3.1. Adressen ohne speziellen Präfix</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN459"
>3.1.1. Localhost Adresse</A
></H3
><P
>Dies ist eine spezielle Adresse für das Loopback Interface, vergleichbar zur “127.0.0.1” bei IPv4. Bei IPv6 lautet die localhost Adresse:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>0000:0000:0000:0000:0000:0000:0000:0001 </PRE
></FONT
></TD
></TR
></TABLE
><P
>bzw. komprimiert:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>::1</PRE
></FONT
></TD
></TR
></TABLE
><P
>Pakete mit dieser Quell- bzw. Ziel-Adresse sollten niemals den sendenden Host verlassen.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN466"
>3.1.2. Unspezifische Adresse</A
></H3
><P
>Dies ist eine spezielle Adresse vergleichbar mit “any” oder “0.0.0.0” bei IPv4. In IPv6 lautet sie:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>0000:0000:0000:0000:0000:0000:0000:0000 </PRE
></FONT
></TD
></TR
></TABLE
><P
>oder:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>::</PRE
></FONT
></TD
></TR
></TABLE
><P
>Diese Adresse wird meistens in Routing-Tabellen und beim “socket binding” (zu jeder IPv6 Adresse) angewendet bzw. gesehen.</P
><P
>Beachten: Die Unspezifizierte Adresse kann nicht als Ziel-Adresse verwendet werden.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN474"
>3.1.3. IPv6 Adressen mit eingebetteter IPv4 Adresse</A
></H3
><P
>Es gibt zwei Adressen-Typen, die IPv4 Adressen enthalten können.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN477"
>3.1.3.1. IPv4 Adressen in IPv6 Format</A
></H4
><P
>IPv4-only IPv6-kompatible Adressen kommen manchmal bei IPv6 kompatiblen Daemon zur Anwendung, die allerdings ausschließlich an IPv4 Adressen gebunden sind.</P
><P
>Diese Adressen sind mit einer speziellen Präfixlänge von 96 definiert (a.b.c.d. ist die IPv4 Adresse):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>0:0:0:0:0:ffff:a.b.c.d/96</PRE
></FONT
></TD
></TR
></TABLE
><P
>oder in komprimiertem Format:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>::ffff:a.b.c.d/96</PRE
></FONT
></TD
></TR
></TABLE
><P
>Die IPv4 Adresse 1.2.3.4. z.B. sieht wie folgt aus:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>::ffff:1.2.3.4</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN486"
>3.1.3.2. IPv4 kompatible IPv6 Adressen</A
></H4
><P
>Dieser Adress-Typ wurde für das automatische Tunneln (<A
HREF="http://www.faqs.org/rfcs/rfc2893.html"
TARGET="_top"
>RFC 2893 / Transition Mechanisms for IPv6 Hosts and Routers</A
>) verwendet, welches aber durch das <A
HREF="#TUNNELING-6TO4."
>6to4 tunneling</A
> ersetzt wurde.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>0:0:0:0:0:0:a.b.c.d/96</PRE
></FONT
></TD
></TR
></TABLE
><P
>oder in komprimierter Form:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>::a.b.c.d/96</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN494"
>3.2. Netzteil der Adresse (Präfix)</A
></H2
><P
>Es wurden einige Adress-Typen definiert und zugleich blieb für zukünftige Anforderungen ausreichend Raum für weitere Definitionen. In <A
HREF="http://www.faqs.org/rfcs/rfc4291.html"
TARGET="_top"
>RFC 4291 / IP Version 6 Addressing Architecture</A
> wird das aktuelle Adress-Schema definiert.</P
><P
>Lassen Sie uns nun einen Blick auf die verschiedenen Präfixe (und somit auf die Adress-Arten) werfen::</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN499"
>3.2.1. Link-lokaler Adress-Typ</A
></H3
><P
>Es handelt sich um spezielle Adressen, die ausschließlich auf einem Link eines Interfaces gültig sind. Wird diese Adresse als Zieladresse verwendet, so kann das Paket niemals einen Router passieren. Die Adresse wird bei der Link-Kommunikation eingesetzt, z.B.:</P
><P
></P
><UL
><LI
><P
>Ist noch jemand anderer auf diesem Link?</P
></LI
><LI
><P
>Ist jemand mit einer speziellen Adresse hier (z.B. Suche nach einem Router)?</P
></LI
></UL
><P
>Die Adresse beginnt mit (wobei <EM
>“x”</EM
> für ein hexadezimales Zeichen steht, im Normalfall <EM
>“0</EM
>”)</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>fe8x: &#60;- zurzeit als einziger in Benutzung
fe9x:
feax:
febx:</PRE
></FONT
></TD
></TR
></TABLE
><P
>Eine Adresse mit diesem Präfix gibt es an jedem IPv6 fähigen Interface nach einer stateless automatischen Konfiguration (dies ist der Regelfall).</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN512"
>3.2.2. Site-lokaler Adress-Typ</A
></H3
><P
>Diese Adressen sind vergleichbar zu den <A
HREF="http://www.faqs.org/rfcs/rfc1918.html"
TARGET="_top"
>RFC 1918 / Address Allocation for Private Internets</A
> im heutigen IPv4. Eine Neuerung und Vorteil hierbei ist, vergleichbar zum 10.0.0.0/8 im IPv4, die Nutzbarkeit von 16 bits bzw. ein Maximum von 65536 Subnetzen.</P
><P
>Ein weiterer Vorteil: Da man bei IPv6 mehr als eine Adresse an ein Interface binden kann, ist auch die Zuweisung einer site-local Adresse zusätzlich zu einer globalen Adresse möglich.</P
><P
>Die Adresse beginnt mit:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>fecx: &#60;- meistens genutzt.
fedx:
feex:
fefx:&#13;</PRE
></FONT
></TD
></TR
></TABLE
><P
>(<EM
>“x”</EM
> ist ein hexadezimales Zeichen, normalerweise <EM
>“0</EM
>”) </P
><P
>Dieser Adresstyp ist nun abgekündigt <A
HREF="http://www.faqs.org/rfcs/rfc3879.html"
TARGET="_top"
>RFC 3879 / Deprecating Site Local Addresses</A
> und sollte nicht mehr verwendet werden. Für Tests im Labor sind solche Adressen meineserachtens aber immer noch eine gute Wahl.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN524"
>3.2.3. Unique Local IPv6 Unicast Adressen</A
></H3
><P
>Weil die schon früh definierten site-local Adressen nicht eindeutig sind, kann dies zu großen Problemen führen, wenn z.B. einst unabhängige Netzwerke später zusammengeschlossen werden (Überlappung von Subnetzen). Aufgrund dessen und anderer Gründe wurde ein neuer Adresstyp definiert, genant <A
HREF="http://www.faqs.org/rfcs/rfc4193.html"
TARGET="_top"
>RFC 4193 / Unique Local IPv6 Unicast Addresses</A
>. </P
><P
>Die Adresse beginnt mit:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>fcxx:
fdxx: &#60;- zurzeit als einziger in Benutzung</PRE
></FONT
></TD
></TR
></TABLE
><P
>Ein Teil des Präfix (40 Bits) werden pseudozufällig generiert. Es ist sehr unwahrscheinlich, daß zwei generierte Präfixe identisch sind.</P
><P
>Ein Beispiel für einen Präfix (generiert mit Hilfe des web-basierten Werkzeugs: <A
HREF="http://www.goebel-consult.de/ipv6/createLULA"
TARGET="_top"
>Goebel Consult / createLULA</A
>):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>fd0f:8b72:ac90::/48</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN534"
>3.2.4. Globaler Adress-Typ ("Aggregatable global unicast")</A
></H3
><P
>Heute gibt es ist per Definition eine globale Adress-Art (Das erste Design, ''Provider based'' genannt, wurde bereits vor einigen Jahren wieder aufgegeben <A
HREF="http://www.faqs.org/rfcs/rfc1884.html"
TARGET="_top"
>RFC 1884 / IP Version 6 Addressing Architecture [obsolete]</A
>. Einige Überbleibsel hiervon sind in älteren Linux Kernelquellen noch zu finden.</P
><P
>Die Adresse beginnt mit (x sind hexadezimale Zeichen)</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2xxx:
3xxx:</PRE
></FONT
></TD
></TR
></TABLE
><P
>Hinweis: Der Zusatz “aggregatable” im Namen wird in aktuellen Drafts abgelegt.
Es sind weitere Subarten definiert:</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN541"
>3.2.4.1. 6bone Test-Adressen</A
></H4
><P
>Diese globalen Adressen waren die Ersten definierten und auch benutzen Adressen. Sie alle beginnen mit:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>3ffe:</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>3ffe:ffff:100:f102::1</PRE
></FONT
></TD
></TR
></TABLE
><P
>Eine spezielle 6bone Test-Adresse, die niemals weltweit einmalig ist, beginnt mit</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>3ffe:ffff: </PRE
></FONT
></TD
></TR
></TABLE
><P
>und wird zumeist in alten Beispielen benutzt, um zu vermeiden, dass Anwender diese mit Copy &#38; Paste in Ihre Konfigurationen übernehmen können. Auf diese Weise können Duplikate weltweit einmaliger Adressen aus Versehen bzw. Unachtsamkeit vermieden werden. Es würde für den Original-Host ernste Probleme bedeuten (z.B. Antwortpakete für niemals gesendete Anfragen bekommen...).
Aufgrund dessen, daß IPv6 nun produktiv ist, wird dieser Präfix nicht mehr länger delegiert und nach dem 6.6.2006 vom Routing ausgenommen (mehr unter <A
HREF="http://www.faqs.org/rfcs/rfc3701.html"
TARGET="_top"
>RFC 3701 / 6bone Phaseout</A
> ).</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN551"
>3.2.4.2. 6to4 Adressen</A
></H4
><P
>Diese Adressen werden für einen speziellen Tunnelmechanismus verwendet [<A
HREF="http://www.faqs.org/rfcs/rfc3056.html"
TARGET="_top"
>RFC 3056 / Connection of IPv6 Domains via IPv4 Clouds</A
> und <A
HREF="http://www.faqs.org/rfcs/rfc2893.html"
TARGET="_top"
>RFC 2893 / Transition Mechanisms for IPv6 Hosts and Routers</A
>]. Sie kodieren eine gegebene IPv4 Adresse, ein eventuelles Subnetz und beginnen mit </P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2002:</PRE
></FONT
></TD
></TR
></TABLE
><P
>z.B. wird 192.168.1.1/5 repräsentiert durch:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2002:c0a8:0101:5::1</PRE
></FONT
></TD
></TR
></TABLE
><P
>Ein kleines Shell-Kommando kann aus einer IPv4 eine 6to4 Adresse erstellen:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>ipv4="1.2.3.4"; sla="5"; printf "2002:%02x%02x:%02x%02x:%04x::1" `echo $ipv4
¬ | tr "." " "` $sla</PRE
></FONT
></TD
></TR
></TABLE
><P
>Siehe auch <A
HREF="#TUNNELING-6TO4."
>tunneling using 6to4</A
> und <A
HREF="#INFORMATION-JOINIPV6-6TO4-TUNNELING"
>information about 6to4 relay routers</A
>.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN564"
>3.2.4.3. Durch einen Provider zugewiesene Adressen für ein hierarchisches Routing</A
></H4
><P
>Diese Adressen werden an Internet Service Provider (ISP) delegiert und beginnen mit:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2001:</PRE
></FONT
></TD
></TR
></TABLE
><P
>Präfixe für große ISPs (mit eigenem Backbone) werden durch <A
HREF="#INFORMATION-MAJORREGIONREGISTRIES"
>local registries</A
> vergeben. Zurzeit wird ein Präfix mit der Länge 32 zugeteilt.</P
><P
>Grosse ISPs delegieren ihrerseits an kleinere ISPs ein Präfix mit der Länge 48.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN571"
>3.2.4.4. Für Beispiele und Dokumentationen reservierte Adressen</A
></H4
><P
>Momentan sind zwei Adressbereiche für Beispiele und Dokumentationen <A
HREF="http://www.faqs.org/rfcs/rfc3849.html"
TARGET="_top"
>RFC 3849 / IPv6 Address Prefix Reserved for Documentation</A
> reserviert:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>3ffe:ffff::/32
2001:0DB8::/32 EXAMPLENET-WF</PRE
></FONT
></TD
></TR
></TABLE
><P
>Diese Adressbereiche sollten nicht geroutet werden und am Übergangsrouter zum Internet (basierend auf Absendeadressen) gefiltert werden.</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN577"
>3.2.5. Multicast-Addressen</A
></H3
><P
>Multicast-Adressen werden für entsprechende Dienste verwendet.</P
><P
>Sie beginnen immer mit (xx ist hierbei der Wert der Reichweite)</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>ffxy:</PRE
></FONT
></TD
></TR
></TABLE
><P
>Die Adressen werden in Reichweiten und Typen unterteilt:</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN583"
>3.2.5.1. Multicast-Bereiche</A
></H4
><P
>Die Multicast Reichweite ist ein Parameter, mit dem die maximale Distanz angegeben werden kann, die ein Multicast Paket sich von der versendenden Einheit entfernen kann.</P
><P
>Zurzeit sind folgende Regionen (reichweiten) definiert:</P
><P
></P
><UL
><LI
><P
>ffx1: Node-lokal, Pakete verlassen niemals den Knoten</P
></LI
><LI
><P
>ffx2: Link-lokal, Pakete werden niemals von Routers weitergeleitet, der angegebene Link wird nie verlassen.</P
></LI
><LI
><P
>ffx5: Site-lokal, Pakete verlassen niemals den Standort (Site)</P
></LI
><LI
><P
>ffx8: organisationsweit, Pakete verlassen niemals eine Organisation (nicht einfach zu implementieren, dies muss durch das Routing Protokoll abgedeckt werden)</P
></LI
><LI
><P
>ffxe: Globale Reichweite</P
></LI
><LI
><P
>Sonstige sind reserviert</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN600"
>3.2.5.2. Multicast-Typen</A
></H4
><P
>Es sind bereits viele Typen definiert bzw. reserviert (siehe <A
HREF="http://www.faqs.org/rfcs/rfc4291.html"
TARGET="_top"
>RFC 4291 / IP Version 6 Addressing Architecture</A
> für weitere Details), einige Beispiele:</P
><P
></P
><UL
><LI
><P
>All Nodes Adresse: ID = 1h, alle Hosts am lokalen Node (ff01:0:0:0:0:0:0:1) oder am angeschlossenen Link (ff02:0:0:0:0:0:0:1) werden adressiert.</P
></LI
><LI
><P
>All Routers Adresse: ID = 2h, alle Router am lokalen Node (ff01:0:0:0:0:0:0:2), am angeschlossenen Link (ff02:0:0:0:0:0:0:2) oder am lokalen Standort werden adressiert.</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN609"
>3.2.5.3. Erforderliche node link-local Multicast Adresse</A
></H4
><P
>Diese spezielle Multicast Adresse wird als Zieladresse bei der Erkundung des Nahbereichs verwendet, da es ARP bei IPv6 im Gegensatz zu IPv4 nicht mehr gibt.</P
><P
>Ein Beispiel für diese Adresse könnte sein:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>ff02::1:ff00:1234</PRE
></FONT
></TD
></TR
></TABLE
><P
>Das benutzte Präfix zeigt, dass es sich um eine link-lokale Multicast Adresse handelt. Dass Suffix wird aus der Zieladresse erstellt. In diesem Beispiel soll ein Paket zur Adresse “fe80::1234” gesendet werden, aber die Netzwerk-Schicht hat keine Kenntnis der aktuellen Schicht 2 MAC Adresse. Die oberen 104 bits werde mit “ff02:0:0:0:01:ff00::/104” ersetzt und die unteres 24 bits bleiben unverändert. Diese Adresse wird nun ”am Link” verwendet, um den entsprechenden Node zu finden, der wiederum seine Schicht 2 MAC Adresse als Antwort zurücksendet.</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN615"
>3.2.6. Anycast-Adressen</A
></H3
><P
>Anycast Adressen sind spezielle Adressen und werden verwendet, um besondere Bereiche wie den nächstgelegenen DNS-Server, den nächstliegenden DHCP Server und vergleichbare dynamische Gruppen abzudecken. Die Adressen werden dem Pool des Unicast Adressraums (global-aggregierbar oder Site-lokal zurzeit) entnommen. Der Anycast-Mechanismus (client view) wird von dynamischen Routing-Protokollen gehandhabt.</P
><P
>Hinweis: Anycast Adressen können nicht als Quelladresse verwendet werden, sondern ausschließlich als Zieladressen.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN619"
>3.2.6.1. Subnet-Router Anycast-Adresse</A
></H4
><P
>Die Subnet-Router Anycast Adresse ist ein einfaches Beispiel für eine Anycast Adresse. Angenommen, der Knoten hat folgende global zugewiesene IPv6 Adresse:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2001:0db8:100:f101:210:a4ff:fee3:9566/64 &#60;- Node's address</PRE
></FONT
></TD
></TR
></TABLE
><P
>Die Subnet-Router Anycast Adresse wird durch komplette Streichung des Suffixes (die letzten gültigen 64 bits) erstellt: </P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2001:0db8:100:f101::/64 &#60;- subnet-router anycast address</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN625"
>3.3. Adress-Typen (Host-Teil)</A
></H2
><P
>In Hinblick auf Auto-Konfigurations- und Mobilitätsfragen wurde entschieden, die niedrigeren 64 bits als Host-Bestandteil zu nutzen. Jedes einzelne Subnetz kann deshalb eine große Anzahl an Adressen enthalten.</P
><P
>Der Host-Teil kann aus unterschiedlichen Blickwinkeln betrachtet werden:</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN629"
>3.3.1. Automatisch erstellte Adressen (auch unter dem Namen stateless bekannt)</A
></H3
><P
>Bei der Auto-Konfiguration wird der Hostteil der Adresse durch die Konvertierung der MAC-Adresse eines Interfaces (falls vorhanden) zu einer einmaligen IPv6 Adresse (mittels EUI-64 Methode) generiert. Falls keine MAC-Adresse verfügbar ist (z.B. bei virtuellen Interfaces), wird anstelle dessen etwas anderes herangezogen (wie z.B. die IPv4 Adresse oder die MAC-Adresse eines physikalischen Interfaces).</P
><P
>Als Beispiel hat hier ein NIC folgende MAC-Adresse (48 bit):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>00:10:a4:01:23:45</PRE
></FONT
></TD
></TR
></TABLE
><P
>Diese wird gemäß dem<A
HREF="http://standards.ieee.org/regauth/oui/tutorials/EUI64.html"
TARGET="_top"
>IEEE-Tutorial EUI-64</A
> Design für EUI-48 Identifiers zum 64 bit Interface Identifier erweitert:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>0210:a4ff:fe01:2345</PRE
></FONT
></TD
></TR
></TABLE
><P
>Mit einem gegebenen Präfix wird daraus die schon oben gezeigte IPv6-Adresse:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2001:0db8:0100:f101:0210:a4ff:fe01:2345</PRE
></FONT
></TD
></TR
></TABLE
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN639"
>3.3.1.1. Datenschutzproblem mit automatisch erstellten Adressen sowie eine Lösung</A
></H4
><P
>Der "automatisch generierte" Hostteil ist weltweit einmalig (mit Ausnahme, wenn der Hersteller einer NIC die gleiche MAC-Adresse bei mehr als einer NIC einsetzt). Die Client-Verfolgung am Host wird dadurch möglich, solange kein Proxy verwendet wird. </P
><P
>Dies ist ein bekanntes Problem und eine Lösung wurde dafür definiert: Datenschutz-Erweiterung, definiert in <A
HREF="http://www.faqs.org/rfcs/rfc3041.html"
TARGET="_top"
>RFC 3041 / Privacy Extensions for Stateless Address Autoconfiguration in IPv6</A
> (es gibt bereits ein neueres Draft: <A
HREF="http://www.ietf.org/ids.by.wg/ipv6.html"
TARGET="_top"
>draft-ietf-ipv6-privacy-addrs-v2-*</A
>). Es wird von Zeit zu Zeit mittels eines statischen und eines Zufallswertes ein neues Suffix erstellt. Hinweis: Dies ist nur für ausgehende Client-Verbindungen sinnvoll und bei bekannten Servern nicht wirklich sinnvoll.</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN645"
>3.3.2. Manuell festgelegte Adressen</A
></H3
><P
>Bei Servern ist es wahrscheinlich leichter, sich einfachere Adressen zu merken. Dies kann z.B. mit der Zuweisung einer zusätzlichen IPv6 Adresse an ein Interface geschehen.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2001:0db8:100:f101::1</PRE
></FONT
></TD
></TR
></TABLE
><P
>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.</P
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN650"
>3.4. Präfixlängen für das Routing</A
></H2
><P
>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).</P
><P
>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: <A
HREF="http://www.ietf.org/ids.by.wg/multi6.html"
TARGET="_top"
>drafts-ietf-multi6-*</A
>,<A
HREF="http://arneill-py.sacramento.ca.us/ipv6mh/"
TARGET="_top"
>IPv6 Multihoming Solutions</A
>).</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN656"
>3.4.1. Präfixlängen ("netmasks" genannt)</A
></H3
><P
>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, <A
HREF="http://www.faqs.org/rfcs/rfc1519.html"
TARGET="_top"
>RFC 1519 / Classless Inter-Domain Routing</A
>). 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.</P
><P
>Ein Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2001:0db8:100:1:2:3:4:5/48</PRE
></FONT
></TD
></TR
></TABLE
><P
>Diese Notation wird erweitert zu:</P
><P
></P
><UL
><LI
><P
>Netzwerk: </P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2001:0db8:0100:0000:0000:0000:0000:0000</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Netzmaske: </P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>ffff:ffff:ffff:0000:0000:0000:0000:0000</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN671"
>3.4.2. Zutreffende Routen</A
></H3
><P
>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.</P
><P
>Wenn z.B. eine Routing-Tabelle folgende Einträge zeigt (Liste ist nicht komplett):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2001:0db8:100::/48 :: U 1 0 0 sit1
2000::/3 ::192.88.99.1 UG 1 0 0 tun6to4</PRE
></FONT
></TD
></TR
></TABLE
><P
>Die gezeigten Zieladressen der IPv6 Pakete werden über die entsprechenden Geräte geroutet</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2001:0db8:100:1:2:3:4:5/48 -&#62; routed through device sit1
2001:0db8:200:1:2:3:4:5/48 -&#62; routed through device tun6to4</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-SYSTEMCHECK"
></A
>Kapitel 4. IPv6 System-Check</H1
><P
>Bevor Sie IPv6 auf einem Linux Host einsetzen können, müssen sie überprüfen, ob das System IPv6 fähig ist. Eventuell haben Sie Änderungen vorzunehmen, um IPv6 zu ermöglichen.</P
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="SYSTEMCHECK-KERNEL"
>4.1. IPv6 kompatibler Kernel</A
></H2
><P
>Neuere Linux Distributionen beinhalten bereits einen IPv6-fähigen Kernel. Die IPv6-Funktionalität wird im Allgemeinen als Modul kompiliert. Es ist aber durchaus möglich, dass das Modul nicht automatisch beim Start des Betriebssystems geladen wird.</P
><P
>Hinweis: Sie sollten die Kernel Serie 2.2.x nicht mehr verwenden, da die IPv6-Implementierung nicht mehr aktuell ist. Auch die in der Serie 2.4.x wird nicht mehr weiterentwickelt bzgl. der Definitionen in den neueren RFCs. Es wird empfohlen, einen aus der Serie 2.6.x zu verwenden.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN685"
>4.1.1. Überprüfung der IPv6 Unterstützung im aktuellen Kernel</A
></H3
><P
>Um zu überprüfen, ob ihr aktueller Kernel IPv6 unterstützt, sollten sie einen Blick in ihr /proc-Dateisystem werfen. Folgende Einträge müssen existieren:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>/proc/net/if_inet6</PRE
></FONT
></TD
></TR
></TABLE
><P
>Einen kleinen automatischen Test können Sie wie folgt durchführen:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># test -f /proc/net/if_inet6 &#38;&#38; echo "Running kernel is IPv6 ready"</PRE
></FONT
></TD
></TR
></TABLE
><P
>Wenn dieser Test negativ verläuft, ist das IPv6 Modul aller Wahrscheinlichkeit noch nicht geladen.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN692"
>4.1.2. IPv6 Module laden</A
></H3
><P
>Mit folgenden Befehl können Sie versuchen, das Modul zu laden:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># modprobe ipv6</PRE
></FONT
></TD
></TR
></TABLE
><P
>Wenn dieser Befehl positiv verläuft, dann sollten Sie das Modul mit folgendem Befehl auflisten können:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># lsmod |grep -w 'ipv6' &#38;&#38; echo "IPv6 module successfully loaded"</PRE
></FONT
></TD
></TR
></TABLE
><P
>Der obige Test sollte nun erfolgreich verlaufen.</P
><P
>Hinweis: Ein Entfernen des Moduls im laufenden System wird derzeit nicht unterstützt und kann unter gewissen Bedingungen zu einem Absturz des Kernels führen.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN700"
>4.1.2.1. Automatisches Laden des Moduls</A
></H4
><P
>Es ist möglich das IPv6 Modul bei Bedarf automatisch zu laden. Sie müssen nur folgende Zeile in die Konfigurationsdatei des kernel modul loaders eintragen (normalerweise: /etc/modules.conf oder /etc/conf.modules):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>alias net-pf-10 ipv6 # automatically load IPv6 module on demand</PRE
></FONT
></TD
></TR
></TABLE
><P
>Mit der folgenden Zeile ist es auch möglich, das automatische Laden des IPv6 Moduls auszuschalten.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>alias net-pf-10 off # disable automatically load of IPv6 module on demand</PRE
></FONT
></TD
></TR
></TABLE
><P
>Anmerkung: In Kernel Series 2.6.x wurde der Modul-Lade-Mechanismus geändert. Die neue Konfigurationsdatei wird anstelle /etc/modules.conf nun /etc/modprobe.conf genannt.</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN707"
>4.1.3. Kernel-Kompilierung mit IPv6 Funktionalität</A
></H3
><P
>Wenn beide oben gezeigten Methoden ohne Erfolg blieben und ihr Kernel somit keine IPv6 Unterstützung bietet, dann haben Sie folgende Optionen:</P
><P
></P
><UL
><LI
><P
>Aktualisieren Sie Ihre Distribution mit einer Version, die von Haus aus IPv6 unterstützt (empfohlen für Anfänger),</P
></LI
><LI
><P
>Sie können einen Standard-Kernel kompilieren (einfach, wenn Sie die benötigten Optionen kennen)</P
></LI
><LI
><P
>Kompilieren Sie die Kernel-Quellen ihrer Distribution (manchmal nicht ganz so einfach)</P
></LI
><LI
><P
>Kompilieren Sie einen Kernel mit den USAGI-Erweiterungen</P
></LI
></UL
><P
>Falls Sie sich dazu entscheiden, einen neuen IPv6 kompatiblen Kernel zu kompilieren, sollten Sie auf jeden Fall bereits Erfahrung mit der Kernel-Kompilierung haben sowie das <A
HREF="http://www.tldp.org/HOWTO/Kernel-HOWTO.html"
TARGET="_top"
>Linux Kernel HOWTO</A
> lesen.</P
><P
>Ein Vergleich zwischen dem Standard-Kernel und dem Kernel mit USAGI-Erweiterungen ist verfügbar unter <A
HREF="http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-kernel.html"
TARGET="_top"
>IPv6+Linux-Status-Kernel</A
>.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN723"
>4.1.3.1. Kompilieren eines Standard-Kernels</A
></H4
><P
>Detailliertere Ausführungen zur Kompilierung eines IPv6 fähigen Kernels finden Sie unter <A
HREF="http://www.bieringer.de/linux/IPv6/IPv6-HOWTO/IPv6-HOWTO-2.html#kernel"
TARGET="_top"
>IPv6-HOWTO-2#kernel</A
>.</P
><P
>Hinweis: Sie sollten wann immer möglich die Kernel Serie 2.6.x oder höher einsetzen, da die IPv6 Unterstützung der Serie 2.4.x nur einige Backports erhält und die IPv6-Unterstützung von Serie 2.2.x hoffnungslos veraltet ist und nicht mehr weiterentwickelt wird.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN728"
>4.1.3.2. Kompilieren eines Kernels mit USAGI-Erweiterungen</A
></H4
><P
>Wie für den Standard-Kernel gilt auch hier, dass das Kompilieren des Kernels nur fortgeschrittenen Benutzern empfohlen wird, die mit IPv6 und dem Kompilieren des Kernels bereits vertraut sind.</P
><P
>Siehe auch <A
HREF="http://www.linux-ipv6.org/faq.html"
TARGET="_top"
>USAGI project / FAQ</A
> und <A
HREF="http://www.deepspace6.net/docs/best_ipv6_support.html"
TARGET="_top"
>Obtaining the best IPv6 support with Linux (Article)</A
> (<A
HREF="http://mirrors.bieringer.de/www.deepspace6.net/docs/best_ipv6_support.html"
TARGET="_top"
>Spiegel</A
>).</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN735"
>4.1.4. IPv6 kompatible Netzwerkgeräte</A
></H3
><P
>Nicht alle Netzwerkgeräte sind bereits (bzw. überhaupt) dazu in der Lage, IPv6 Pakete übertragen zu können. Den aktuellen Status können Sie unter <A
HREF="http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-kernel.html#transport"
TARGET="_top"
>IPv6+Linux-status-kernel.html#transport</A
>.</P
><P
>Ein entscheidender Punkt ist die Tatsache, dass ein IPv6 Paket wegen der Struktur der Netzwerkschicht in der Kernel-Implementierung nicht wirklich aufgrund der IP-Header-Nummer (6 anstelle 4) wiedererkannt wird. Es wird aufgrund der Protokollnummer der Schicht 2 Transport-Protokolls wiedererkannt. Folglich können IPv6 Pakete von keinem Transport-Protokoll verwendet werden, welche diese Protokoll-Nummer nicht nutzen. Hinweis: Das Paket wird nach wie vor über den Link transportiert, aber auf der Empfänger-Seite kann das Paket nicht verarbeitet werden (Sie können dies z.B. mit tcpdump sehen).</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN740"
>4.1.4.1. Gegenwärtig bekannte Verbindungsarten, die niemals IPv6 fähig sein werden</A
></H4
><P
></P
><UL
><LI
><P
>Serial Line IP (<A
HREF="http://www.faqs.org/rfcs/rfc1055.html"
TARGET="_top"
>RFC 1055 / SLIP</A
>), auch SLIPv4 genannt; das Gerät heißt: s1X </P
></LI
><LI
><P
>Parallel Line IP (PLIP), gleich dem SLIP, Gerätename: plipX</P
></LI
><LI
><P
>ISDN mit <EM
>rawip</EM
> Encapsulation; Gerätename: isdnX</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN751"
>4.1.4.2. Bekannte Verbindungsarten, die gegenwärtig IPv6 nicht unterstützen</A
></H4
><P
></P
><UL
><LI
><P
>ISDN mit <EM
>syncppp</EM
> Encapsulation; Gerätename: ipppX (Designfrage des ipppd; in der Kernel Serie 2.5.x wird ipppX in einer allgemeinen PPP Schicht inkludiert)</P
></LI
></UL
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN757"
>4.2. IPv6 kompatible Tools zur Netzwerkkonfiguration</A
></H2
><P
>Ohne entsprechende Tools zur Konfiguration von IPv6 würden Sie mit einem IPv6 fähigen Kernel nicht weit kommen. Es gibt verschiedene Pakete womit IPv6 konfiguriert werden kann.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN760"
>4.2.1. net-tools Paket</A
></H3
><P
>Das Paket net-tool beinhaltet einige Tools wie ifconfig und route. Mit den Tools kann IPv6 auf einem Interface konfiguriert werden. Sehen Sie sich die Ausgabe des Befehls <EM
>ifconfig -?</EM
> Bzw. <EM
>route -?</EM
> an. Finden Sie in der Ausgabe die Worte IPv6, inet6 oder Ähnliches, dann ist das Tool IPv6-kompatibel.</P
><P
>Automatische Überprüfung:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ifconfig -? 2&#62;&#38; 1|grep -qw 'inet6' &#38;&#38; echo "utility 'ifconfig' is
¬ IPv6-ready"</PRE
></FONT
></TD
></TR
></TABLE
><P
>Folgenden Check gibt es für route:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/route -? 2&#62;&#38; 1|grep -qw 'inet6' &#38;&#38; echo "utility 'route' is IPv6-ready"</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN769"
>4.2.2. iproute Paket</A
></H3
><P
>Alexey N.Kuznetsov (gegenwärtig ein Betreuer des Linux Network Codes) erstellte eine Tool-Sammlung, womit das Netzwerk mittels dem netlink Device konfiguriert wird. Diese Tool-Sammlung stellt mehr Funktionalität als das net-tools Paket zur Verfügung, ist aber nicht sehr umfangreich dokumentiert und nichts für schwache Nerven.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip 2&#62;&#38;1 |grep -qw 'inet6' &#38;&#38; echo "utility 'ip' is IPv6-ready"</PRE
></FONT
></TD
></TR
></TABLE
><P
>Wird das Programm /sbin/ip nicht gefunden, dann wird die Installation des iproute Paketes empfohlen.</P
><P
></P
><UL
><LI
><P
>Sie können dies (falls beinhaltet) von der benutzten Linux-Distribution installieren</P
></LI
><LI
><P
>Sie können nach einem passenden RPM Paket unter <A
HREF="http://rpmfind.net/linux/rpm2html/search.php?query=iproute"
TARGET="_top"
>RPMfind/iproute</A
> suchen (manchmal ist auch das kompilieren eines SRPMS Paketes zu empfohlen)</P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN780"
>4.3. IPv6 Test/Debug-Programme</A
></H2
><P
>Nachdem Sie ihr System auf IPv6 vorbereitet haben, wollen Sie nun IPv6 für die Netzwerkkommunikation einsetzen. Zuerst sollten Sie lernen, IPv6 Pakete mit einem Sniffer Programm zu untersuchen. Dies ist zu empfehlen, denn in Hinblick auf Fehlersuche und Troubleshooting kann das Durchführen einer schnellen Diagnose von Nutzen sein. </P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="PROGRAM-PING6."
>4.3.1. IPv6 ping</A
></H3
><P
>Das Programm ist normalerweise im Paket <EM
>iputils</EM
> beinhaltet. Durch senden von ICMPv6 echo-request Paketen und warten auf ICMPv6 echo-reply Paketen können einfache Transport-Tests durchgeführt werden.</P
><P
>Anwendung</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ping6 &#60;hostwithipv6address&#62;
# ping6 &#60;ipv6address&#62;
# ping6 [-I &#60;device&#62;] &#60;link-local-ipv6address&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Einige Implementierungen unterstützen auch %&#60;device&#62; Definition zusätzlich zu -I &#60;device&#62;, z.B.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ping6 &#60;link-local-ipv6address&#62;%&#60;device&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ping6 -c 1 ::1
PING ::1(::1) from ::1 : 56 data bytes
64 bytes from ::1: icmp_seq=0 hops=64 time=292 usec
--- ::1 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max/mdev = 0.292/0.292/0.292/0.000 ms</PRE
></FONT
></TD
></TR
></TABLE
><P
>Hinweis: ping6 benötigt direkten Zugriff auf den Socket und hierfür Root-Rechte. Wenn Nicht-Root-Benutzer ping6 nicht benutzen können, kann dies zwei Ursachen haben:</P
><P
></P
><OL
TYPE="1"
><LI
><P
>ping6 ist nicht im Pfad des Benutzers eingetragen; ping6 ist allgemein in /usr/sbin zu finden -&#62; Lösung: Den Pfad ergänzen (nicht empfohlen)</P
></LI
><LI
><P
>ping6 lässt sich im Allgemeines wegen fehlender Root-Rechte nicht korrekt ausführen -&#62; Lösung: chmod u+s /usr/sbin/ping6</P
></LI
></OL
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN799"
>4.3.1.1. Das Interface für einen IPv6 ping bestimmen</A
></H4
><P
>Wenn link-lokale Adressen für ein IPv6 ping verwendet werden, dann hat der Kernel keine Kenntnis darüber, durch welches (physikalische oder virtuelle) Gerät das Paket gesendet werden muss - jedes Gerät hat eine link-lokale Adresse. Ein Versuch resultiert in folgender Fehlermeldung:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ping6 fe80::212:34ff:fe12:3456
connect: Invalid argument</PRE
></FONT
></TD
></TR
></TABLE
><P
>In diesem Fall müssen Sie das Interface zusätzlich spezifizieren:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># 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
--- fe80::2e0:18ff:fe90:9205 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss round-trip
¬ min/avg/max/mdev = 0.445/0.445/0.445/0.000 ms</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel für %&#60;device&#62; Notation:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ping6 -c 1 fe80::2e0:18ff:fe90:9205%eth0</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN807"
>4.3.1.2. Ping6 zu Multicast-Adressen</A
></H4
><P
>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.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ping6 -I eth0 ff02::1
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!) </PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel für %&#60;device&#62; Notation:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ping6 ff02::1%eth0</PRE
></FONT
></TD
></TR
></TABLE
><P
>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.</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="PROGRAM-TRACEROUTE6."
>4.3.2. IPv6 traceroute6</A
></H3
><P
>Dieses Programm ist normal im Paket iputils enthalten. Es ist ein Programm vergleichbar dem IPv4 traceroute. Unten sehen Sie ein Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># traceroute6 www.6bone.net
traceroute to 6bone.net (3ffe:b00:c18:1::10) from 2001:0db8:0000:f101::2, 30
¬ hops max, 16 byte packets
1 localipv6gateway (2001:0db8:0000:f101::1) 1.354 ms 1.566 ms 0.407 ms
2 swi6T1-T0.ipv6.switch.ch (3ffe:2000:0:400::1) 90.431 ms 91.956 ms 92.377 ms
3 3ffe:2000:0:1::132 (3ffe:2000:0:1::132) 118.945 ms 107.982 ms 114.557 ms
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</PRE
></FONT
></TD
></TR
></TABLE
><P
>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. </P
><P
>Falls ein Interface spezifiziert werden muß, kann dies durch -i &#60;device&#62; oder in der Form &#60;address&#62;%&#60;device&#62; erfolgen.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="PROGRAM-TRACEPATH6."
>4.3.3. IPv6 tracepath6</A
></H3
><P
>Dieses Programm ist normalerweise im Paket <EM
>iputils</EM
> 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:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># tracepath6 www.6bone.net
1?: [LOCALHOST] pmtu 1480
1: 3ffe:401::2c0:33ff:fe02:14 150.705ms
2: 3ffe:b00:c18::5 267.864ms
3: 3ffe:b00:c18::5 asymm 2 266.145ms pmtu 1280
3: 3ffe:3900:5::2 asymm 4 346.632ms
4: 3ffe:28ff:ffff:4::3 asymm 5 365.965ms
5: 3ffe:1cff:0:ee::2 asymm 4 534.704ms
6: 3ffe:3800::1:1 asymm 4 578.126ms !N
Resume: pmtu 1280</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="PROGRAM-TCPDUMP"
>4.3.4. IPv6 tcpdump</A
></H3
><P
>In Linux ist tcpdump ein Haupttool zum aufzeichnen von Paketen. Weiter unten sehen Sie einige Beispiele. Normalerweise ist die Ipv6-Unterstützung in der aktuellen Version 3.6 gegeben.</P
><P
>Bei tcpdump werden zur Geräuschminimierung bei der Paket-Filterung Ausdrücke eingesetzt:</P
><P
></P
><UL
><LI
><P
>icmp6: ICMPv6 Datenverkehr wird gefiltert</P
></LI
><LI
><P
>ip6: IPv6 Datenverkehr (inkl.ICMPv6) wird gefiltert</P
></LI
><LI
><P
>proto ipv6: getunnelter IPv6-in-IPv4 Datenverkehr wird gefiltert</P
></LI
><LI
><P
>not port ssh: zum unterdrücken der Anzeige von SSH Paketen während der Ausführung von tcpdump bei einer remote SSH-Sitzung</P
></LI
></UL
><P
>Ebenfalls sind einige Kommandozeilen-Optionen sehr hilfreich, um detailliertere Informationen über die Pakete erlangen und protokollieren zu können. Für ICMPv6 Pakete sind hauptsächlich interessant:</P
><P
></P
><UL
><LI
><P
>“-s 512”: Bei der Aufzeichnung der Pakete wird die zu Aufzeichnungslänge auf 512 bytes vergrößert</P
></LI
><LI
><P
>“-vv”: wirklich sehr ausführliche Ausgabe</P
></LI
><LI
><P
>“-n”: Adressen werden nicht in Namen aufgelöst. Dies ist hilfreich, wenn die Reverse-DNS-Auflösung nicht sauber arbeiten sollte</P
></LI
></UL
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN846"
>4.3.4.1. IPv6 ping zur Adresse 2001:0db8:100:f101::1 über einen lokalen Link</A
></H4
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># tcpdump -t -n -i eth0 -s 512 -vv ip6 or proto ipv6
tcpdump: listening on eth0
2001:0db8:100:f101:2e0:18ff:fe90:9205 &#62; 2001:0db8:100:f101::1: icmp6: echo
¬ request (len 64, hlim 64)
2001:0db8:100:f101::1 &#62; 2001:0db8:100:f101:2e0:18ff:fe90:9205: icmp6: echo
¬ reply (len 64, hlim 64)</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN849"
>4.3.4.2. IPv6 ping zur Adresse 2001:0db8:100::1 über einen IPv6-in-IPv4 Tunnel geroutet</A
></H4
><P
>1.2.3.4. und 5.6.7.8. sind Tunnel-Endpunkte (alle Adressen sind Beispiele)</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># tcpdump -t -n -i ppp0 -s 512 -vv ip6 or proto ipv6
tcpdump: listening on ppp0
1.2.3.4 &#62; 5.6.7.8: 2002:ffff:f5f8::1 &#62; 2001:0db8:100::1: icmp6: echo request
¬ (len 64, hlim 64) (DF) (ttl 64, id 0, len 124)
5.6.7.8 &#62; 1.2.3.4: 2001:0db8:100::1 &#62; 2002:ffff:f5f8::1: icmp6: echo reply (len
¬ 64, hlim 61) (ttl 23, id 29887, len 124)
1.2.3.4 &#62; 5.6.7.8: 2002:ffff:f5f8::1 &#62; 2001:0db8:100::1: icmp6: echo request
¬ (len 64, hlim 64) (DF) (ttl 64, id 0, len 124)
5.6.7.8 &#62; 1.2.3.4: 2001:0db8:100::1 &#62; 2002:ffff:f5f8::1: icmp6: echo reply (len
¬ 64, hlim 61) (ttl 23, id 29919, len 124)</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN853"
>4.4. IPv6 kompatible Programme</A
></H2
><P
>Aktuelle Distributionen beinhalten bereits die gängigsten IPv6 kompatiblen Client- und Server-Programme. Weitere Infos gibt es unter <A
HREF="http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-distributions.html"
TARGET="_top"
>IPv6+Linux-Status-Distribution</A
>. Falls ein Programm hier noch nicht gelistet sein sollte, können Sie unter <A
HREF="http://www.deepspace6.net/docs/ipv6_status_page_apps.html"
TARGET="_top"
>Current Status of IPv6 Support for Networking Applications</A
> 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.</P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN858"
>4.5. IPv6 kompatible Client-Programme (Auswahl)</A
></H2
><P
>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.</P
><P
>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.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN862"
>4.5.1. DNS-Überprüfung der IPv6 Adress-Auflösung</A
></H3
><P
>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:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># host -t AAAA www.join.uni-muenster.de</PRE
></FONT
></TD
></TR
></TABLE
><P
>Die Ausgabe des Tests sollte etwa wie folgt sein: </P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>www.join.uni-muenster.de. is an alias for tolot.join.uni-muenster.de.
tolot.join.uni-muenster.de. has AAAA address
¬ 2001:638:500:101:2e0:81ff:fe24:37c6</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN868"
>4.5.2. IPv6 kompatible Telnet Client-Programme</A
></H3
><P
>IPv6 kompatible Clients sind verfügbar. Ein einfacher Test sieht wie folgt aus:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>$ telnet 3ffe:400:100::1 80
Trying 3ffe:400:100::1...
Connected to 3ffe:400:100::1.
Escape character is '^]'.
HEAD / HTTP/1.0
HTTP/1.1 200 OK
Date: Sun, 16 Dec 2001 16:07:21
GMT Server: Apache/2.0.28 (Unix)
Last-Modified: Wed, 01 Aug 2001 21:34:42 GMT
ETag: "3f02-a4d-b1b3e080"
Accept-Ranges: bytes
Content-Length: 2637
Connection: close
Content-Type: text/html; charset=ISO-8859-1
Connection closed by foreign host.</PRE
></FONT
></TD
></TR
></TABLE
><P
>Wird ein Text wie “cannot resolve hostname” ausgegeben, dann unterstützt der Telnet Client keine IPv6 Adressen.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN873"
>4.5.3. IPv6 kompatible ssh Client-Programme</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN875"
>4.5.3.1. openssh</A
></H4
><P
>Aktuelle openssh-Versionen sind IPv6 kompatibel. Abhängig von der Konfiguration vor der Kompilierung gibt es zwei unterschiedliche Verhaltensweisen:</P
><P
></P
><UL
><LI
><P
>--without-ipv4-default: Der Client versucht zuerst eine IPv6-Verbindung. Misslingt dies, wird eine IPv4-Verbindung aufgebaut</P
></LI
><LI
><P
>--with-ipv4-default: standardmäßig wird eine IPv4-Verbindung aufgebaut. Eine IPv6-Verbindung muss, wie unten im Beispiel zu sehen ist, erzwungen werden:</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>$ ssh -6 ::1
user@::1's password: ******
[user@ipv6host user]$</PRE
></FONT
></TD
></TR
></TABLE
><P
>Falls ihr ssh Client-Programm die Option “-6” nicht kennt, dann ist das Programm nicht IPv6 fähig. Dies ist bei den meisten ssh Paketen der Version 1 der Fall.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN885"
>4.5.3.2. ssh.com</A
></H4
><P
>SSH.com's SSH Client und Server sind ebenfalls IPv6 kompatibel und darüber hinaus handelt es sich um freie Programme für die Linux- und FreeBSD-Plattform, unabhängig davon, ob sie zu kommerziellem oder zu persönlichen Zweck verwendet werden.</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN888"
>4.5.4. IPv6 kompatible Web-Browser</A
></H3
><P
>Einen aktuellen Statusüberblick zum Thema IPv6 kompatible Web-Browser ist unter <A
HREF="http://www.deepspace6.net/docs/ipv6_status_page_apps.html#http"
TARGET="_top"
>Current Status of IPv6 Support for Networking Applications - HTTP</A
> verfügbar.</P
><P
>Die meisten Browser haben zurzeit noch ungelöste Probleme</P
><P
></P
><OL
TYPE="1"
><LI
><P
>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).</P
></LI
><LI
><P
>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).</P
></LI
></OL
><P
>Ältere Browser-Versionen verstehen ebenfalls keine URL mit IPv6 Adressen wie z.B. <A
HREF="http://[2001:4dd0:f838:a006::6]/"
TARGET="_top"
>http://[2001:4dd0:f838:a006::6]/</A
>, IPv6-Addresse von <A
HREF="http://www.ipv6.bieringer.de/"
TARGET="_top"
>http://www.ipv6.bieringer.de/</A
> (die angegebene URL funktioniert nur mit einem IPv6 kompatiblen Browser!).</P
><P
>Ein kleiner Test ist diese URL mit einem gegebenen Browser und ohne Proxy zu verwenden.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN902"
>4.5.4.1. URLs zum testen</A
></H4
><P
>Ein guter Ausgangspunkt zum Betrachten von Webseiten mit IPv6 ist <A
HREF="http://www.kame.net/"
TARGET="_top"
>http://www.kame.net/</A
>. Ist die Schildkröte animiert, dann ist Verbindung mittels IPv6 Verbindung zustande gekommen, andererseits bleibt die Schildkröte statisch.</P
><P
>Andere Test-Server sind z.B.</P
><P
></P
><UL
><LI
><P
><A
HREF="http://www.whatismyipv6.com/"
TARGET="_top"
>What Is My IPv6</A
></P
></LI
><LI
><P
><A
HREF="http://ip.bieringer.de/"
TARGET="_top"
>ip.bieringer.de</A
></P
></LI
><LI
><P
><A
HREF="http://ipv6-test.com/"
TARGET="_top"
>IPv6 Test</A
></P
></LI
><LI
><P
><A
HREF="http://test-ipv6.com/"
TARGET="_top"
>test-ipv6.com</A
></P
></LI
><LI
><P
><A
HREF="http://netalyzr.icsi.berkeley.edu/"
TARGET="_top"
>The ICSI Netalyzr</A
></P
></LI
><LI
><P
><A
HREF="http://speedtest.comcast.net/"
TARGET="_top"
>Speedtest Comcast</A
>, <A
HREF="http://ipv6.speedtest.comcast.net/"
TARGET="_top"
>IPv6 Speedtest Comcast</A
></P
></LI
></UL
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN927"
>4.6. IPv6 kompatible Server</A
></H2
><P
>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: <A
HREF="#CHAPTER-HINTS-DAEMONS"
>Hints for IPv6-enabled daemons</A
>.</P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="FAQ-IPV6-READY-SYSTEM-CHECK"
>4.7. FAQ (IPv6 Systemcheck)</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN933"
>4.7.1. Anwendung diverser Tools</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN935"
>4.7.1.1. Q: ping6 zu einer link-lokalen Adresse funktioniert nicht</A
></H4
><P
>Fehlermeldung: "<EM
>connect: Invalid argument</EM
>"</P
><P
>Der Kernel hat keine Kenntnis darüber, welchen physikalischen oder virtuellen Link Sie zum versenden von ICMPv6 Paketen verwenden möchten. Aus diesem Grund wird die Fehlermeldung ausgegeben.</P
><P
>Lösung: Spezifizieren Sie den Link, z.B.: “ping6 -I eth0 fe80::2e0:18ff:fe90:9205”. Siehe auch <A
HREF="#PROGRAM-PING6."
>program ping6 usage</A
>.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN942"
>4.7.1.2. Q: ping6 oder traceroute6 funktioniert nicht als normaler Benutzer</A
></H4
><P
>Fehlermeldung: “<EM
>icmp socket: Operation not permitted</EM
></P
><P
>Diese Tools erzeugen spezielle ICMPv6 Pakete und versenden diese unter Verwendung von raw sockets im Kernel. Raw sockets können aber nur vom Benutzer “root” verwendet werden. Normale Benutzer bekommen aus diesem Grund diese Fehlermeldung.</P
><P
>Lösung: Wenn wirklich alle Benutzer auf diese Tools zugreifen sollen, können Sie dies mit setzen des “suid” bits mittels “chmod u+s / path/to/program” erreichen (siehe auch <A
HREF="#PROGRAM-PING6."
>program ping6 usage</A
>). Falls nicht alle Benutzer das Programm benötigen, können Sie die Gruppenzugehörigkeit des Programms ändern, z.B. Gruppe “wheel”. Fügen Sie alle Benutzer zu dieser Gruppe hinzu und entfernen Sie das execution bit für andere Benutzer mittels “chmod o-rwx /path/to/program”. Alternativ können Sie auch “sudo” dazu verwenden, um Ihren Sicherheitsbestimmungen Rechnung zu tragen.</P
></DIV
></DIV
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-CONFIGURATION-INTERFACE"
></A
>Kapitel 5. Interface-Konfiguration</H1
><DIV
CLASS="SECT1"
><H2
CLASS="SECT1"
><A
NAME="AEN951"
>5.1. Unterschiedliche Netzwerk-Geräte</A
></H2
><P
>Ein Knoten besitzt mehrere Netzwerk-Devices, die in Klassen zusammengefasst werden können:</P
><P
></P
><UL
><LI
><P
>Physikalische Devices wie eth0, tr0</P
></LI
><LI
><P
>Virtuelle Devices wie ppp0, tun0, tap0, sit0, isdn0, ippp0</P
></LI
></UL
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN959"
>5.1.1. Physikalische Devices</A
></H3
><P
>Physikalische Interfaces wie Ethernet oder Token-Ring bedürfen keiner speziellen Handhabung.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN962"
>5.1.2. Virtuelle Devices</A
></H3
><P
>Virtuelle Interfaces hingegen benötigen immer eine spezielle Konfiguration.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN965"
>5.1.2.1. IPv6-in-IPv4 Tunnel Interfaces</A
></H4
><P
>Diese Interfaces werden sitx genannt. Der Name sit ist eine Abkürzung für Simple Internet Transition. Das Gerät hat die Fähigkeit IPv6 Pakete in IPv4 Pakete zu verkapseln und diese dann über einen Tunnel zum entfernten Endpunkt zu transportieren.</P
><P
>sit0 hat eine spezielle Bedeutung: dieses Interface kann nicht für fest zugeordnete Tunnel verwendet werden.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN969"
>5.1.2.2. PPP Interfaces</A
></H4
><P
>PPP Interfaces beziehen ihre IPv6 Funktionalität von einem IPv6 kompatiblen PPP Daemon.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN972"
>5.1.2.3. ISDN HDLC Interfaces</A
></H4
><P
>Für HDLC mit IP encapsulation ist die IPv6 Funktionalität bereits im Kernel integriert.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN975"
>5.1.2.4. ISDN PPP Interfaces</A
></H4
><P
>ISDN PPP Interfaces (ippp) werden durch den Kernel nicht mit IPv6 Funktionalität unterstützt. Es gibt auch keine Pläne hierfür, da im Kernel 2.5.+ dieser Interface-Typ durch eine allgemeinere ppp Interface Schicht ersetzt werden soll.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN978"
>5.1.2.5. SLIP + PLIP</A
></H4
><P
>Wie bereits erwähnt, unterstützen diese Interfaces keinen IPv6 Transport (senden ist ok, das abfertigen ankommender Pakete funktioniert jedoch nicht).</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN981"
>5.1.2.6. Ether-tap Device</A
></H4
><P
>Ether-tap Devices sind IPv6 kompatibel und als stateless konfiguriert. Für den Gebrauch muss das Modul “ethertap” geladen werden.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN984"
>5.1.2.7. tun Device</A
></H4
><P
>Nicht von mir getestet...</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN987"
>5.1.2.8. ATM</A
></H4
><P
>01/2002: ATM wird vom Standard-Kernel nicht, jedoch aber durch die USAGI-Erweiterungen unterstützt.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN990"
>5.1.2.9. Sonstige</A
></H4
><P
>Wurde ein Interface vergessen...?</P
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN993"
>5.2. Interfaces ein/aus-schalten</A
></H2
><P
>Es gibt zwei Methoden, ein Interface ein- oder auszuschalten.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN996"
>5.2.1. Verwendung von "ip"</A
></H3
><P
>Gebrauch: </P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip link set dev &#60;interface&#62; up
# ip link set dev &#60;interface&#62; down</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip link set dev eth0 up
# ip link set dev eth0 down</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1002"
>5.2.2. Verwendung von "ifconfig"</A
></H3
><P
>Gebrauch: </P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ifconfig &#60;interface&#62; up
# /sbin/ifconfig &#60;interface&#62; down</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ifconfig eth0 up
# /sbin/ifconfig eth0 down</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-CONFIGURATION-ADDRESS"
></A
>Kapitel 6. IPv6 Adressen konfigurieren</H1
><P
>Es gibt verschiedene Methoden zum konfigurieren einer IPv6 Adresse eines Interfaces. Sie können "ifconfig" oder "ip" dazu einsetzen.</P
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1011"
>6.1. Bestehende IPv6 Adressen anzeigen</A
></H2
><P
>Zuerst sollten sie überprüfen, ob und welche IPv6 Adressen bereits konfiguriert sind (etwa durch automatischer stateless Konfiguration). </P
><P
>Achtung: Adressen beginnend mit “fec0” sind obsolet, hier aber noch der Vollständigheit wegen gezeigt!</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1015"
>6.1.1. Verwendung von "ip"</A
></H3
><P
>Anwendung:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 addr show dev &#60;interface&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel für einen statisch konfigurierten Host:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 addr show dev eth0
2: eth0: &#60;BROADCAST,MULTICAST,UP&#38;gt; mtu 1500 qdisc pfifo_ fast qlen 100
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 </PRE
></FONT
></TD
></TR
></TABLE
><P
>Just note that addresses beginning with “fec0” are deprecated!</P
><P
>Beispiel für einen automatisch konfigurierten Host.</P
><P
>Hier sehen Sie einige automatisch konfigurierte IP Adressen und deren Lebensdauer.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 addr show dev eth0
3: eth0: &#60;BROADCAST,MULTICAST,PROMISC,UP&#38;gt; mtu 1500 qdisc pfifo_fast qlen
¬ 100
inet6 2002:d950:f5f8:f101:2e0:18ff:fe90:9205/64 scope global dynamic
valid_lft 16sec preferred_lft 6sec
inet6 3ffe:400:100:f101:2e0:18ff:fe90:9205/64 scope global dynamic
valid_lft 2591997sec preferred_lft 604797sec inet6 fe80::2e0:18ff:fe90:9205/10
¬ scope link</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1025"
>6.1.2. Verwendung von "ifconfig"</A
></H3
><P
>Anwendung:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ifconfig &#60;interface&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Hier sehen Sie verschiedene IP Adressen mit unterschiedlichen Gültigkeitsbereichen (die Ausgabe wurde mit grep gefiltert)</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ifconfig eth0 |grep "inet6 addr:"
inet6 addr: fe80::210:a4ff:fee3:9566/10 Scope:Link
inet6 addr: 2001:0db8:0:f101::1/64 Scope:Global
inet6 addr: fec0:0:0:f101::1/64 Scope:Site</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1031"
>6.2. Hinzufügen einer IPv6 Adresse</A
></H2
><P
>Die Vorgehensweise beim hinzufügen einer IPv6 Adresse ist vergleichbar mit dem "IP ALIAS"-Mechanismus bei IPv4 adressierten Interfaces. </P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1034"
>6.2.1. Verwendung von "ip"</A
></H3
><P
>Anwendung: </P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 addr add &#60;ipv6address&#62;/&#60;prefixlength&#62; dev &#60;interface&#62; </PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 addr add 2001:0db8:0:f101::1/64 dev eth0 </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1040"
>6.2.2. Verwendung von "ifconfig"</A
></H3
><P
>Anwendung: </P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ifconfig &#60;interface&#62; inet6 add &#60;ipv6address&#62;/&#60;prefixlength&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ifconfig eth0 inet6 add 2001:0db8:0:f101::1/64 </PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1046"
>6.3. IPv6 Adressen entfernen</A
></H2
><P
>Diese Funktion wird selten benötigt. Vorsicht ist beim entfernen nicht existenter IPv6 Adressen geboten, da ältere Kernel dieses Fehlverhalten manchmal mit einem Crash quittieren.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1049"
>6.3.1. Verwendung von "ip"</A
></H3
><P
>Anwendung: </P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 addr del &#60;ipv6address&#62;/&#60;prefixlength&#62; dev &#60;interface&#62; </PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 addr del 2001:0db8:0:f101::1/64 dev eth0 </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1055"
>6.3.2. Verwendung von "ifconfig"</A
></H3
><P
>Anwendung:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ifconfig &#60;interface&#62; inet6 del &#60;ipv6address&#62;/&#60;prefixlength&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ifconfig eth0 inet6 del 2001:0db8:0:f101::1/64</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1061"
>6.4. Automatische IPv6-Adress-Konfiguration</A
></H2
><P
>Im Fall, dass ein Endgerät ein Router Advertisement empfängt und der Host kein Router ist, konfiguriert sich das Endgerät selbst eine IPv6-Adresse entsprechend dem Präfix aus dem Router Advertisement (siehe auch <A
HREF="#HINTS-DAEMONS-RADVD"
>Abschnitt 22.4</A
>).</P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1065"
>6.5. Aktivieren der Privacy Extension</A
></H2
><P
>Privacy Extension wie beschrieben in <A
HREF="http://www.faqs.org/rfcs/rfc4941.html"
TARGET="_top"
>RFC 4941 / Privacy Extensions for Stateless Address Autoconfiguration in IPv6</A
> (Nachfolger von <A
HREF="http://www.faqs.org/rfcs/rfc3041.html"
TARGET="_top"
>RFC 3041</A
>) ersetzt die statische Interface ID (mostly basierend auf der weltweit eindeutigen MAC-Adresse), die bei der Autokonfiguration benutzt wird, durch eine pseudo-random und von Zeit zu Zeit neu generierte.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1070"
>6.5.1. Aktivieren von Privacy Extension mit Hilfe von sysctl</A
></H3
><H3
CLASS="BRIDGEHEAD"
><A
NAME="AEN1072"
></A
>Temporäre Aktivierung</H3
><P
>Einschalten der Privacy Extension für z.B. Interface “eth0” und zudem Präferieren dieser Adresse:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># sysctl -w net.ipv6.conf.eth0.use_tempaddr=2</PRE
></FONT
></TD
></TR
></TABLE
><P
>Zur Aktivierung ist der Restart des Interfaces notwendig</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip link set dev eth0 down
# ip link set dev eth0 up</PRE
></FONT
></TD
></TR
></TABLE
><P
>Nach Empfang eines Router Advertisement sollte das Interface eine entsprechende Adresse sich selbst konfiguriert haben</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip -6 addr show dev eth0
2: eth0: &#60;BROADCAST,MULTICAST,UP,LOWER_UP&#62; mtu 1500 qlen 1000
inet6 2001:db8:0:1:8992:3c03:d6e2:ed72/64 scope global secondary dynamic &#60;- pseudo-random IID
valid_lft 604711sec preferred_lft 86311sec
inet6 2001:db8:0:1::224:21ff:fe01:2345/64 scope global &#60;- IID based on MAC
valid_lft 604711sec preferred_lft 86311sec
...</PRE
></FONT
></TD
></TR
></TABLE
><H3
CLASS="BRIDGEHEAD"
><A
NAME="AEN1079"
></A
>Permanente Aktivierung</H3
><P
>Für eine permanente Aktivierung muss entweder ein spezieller Initscript-Wert pro Interface gesetzt sein oder ein entsprechender Wert in /etc/sysctl.conf definiert werden:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>net.ipv6.conf.eth0.use_tempaddr=2</PRE
></FONT
></TD
></TR
></TABLE
><P
>Achtung: das Interface muss zu diesem Zeitpunkt bereits existieren. Wenn das nicht der Fall ist (z.B. nach einem Reboot) musses für alle Interfaces konfiguriert werden:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>net.ipv6.conf.all.use_tempaddr=2
net.ipv6.conf.default.use_tempaddr=2</PRE
></FONT
></TD
></TR
></TABLE
><P
>Die Änderungen in /etc/sysctl.conf können im laufenden Betrieb geändert werden, aber zur wirklichen Aktivierung wird mindestens wird ein Interface-Restart (down/up) oder ein Reboot benötigt.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># sysctl -p</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1086"
>6.5.2. Aktivieren von Privacy Extension mit Hilfe des NetworkManager</A
></H3
><P
>Moderne (Client-) Systeme nutzen NetworkManager zur Interface-Konfiguration. Ein Kommandozeilen-Werkzeug ist eingebaut welches auch Parameter ändern kann, die in der GUI nicht verfügbar (oder sichtbar) sind.</P
><P
>Beispiele basieren auf Version 0.9.9.1-5.git20140319.fc21</P
><P
>Prüfen existierender Interfaces mit:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># nmcli connection
NAME UUID TYPE DEVICE
ens4v1 d0fc2b2e-5fa0-4675-96b5-b723ca5c46db 802-3-ethernet ens4v1 </PRE
></FONT
></TD
></TR
></TABLE
><P
>Menge von IPv6-Adressen mit Privacy Extension:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip -o addr show dev ens4v1 | grep temporary | wc -l
0</PRE
></FONT
></TD
></TR
></TABLE
><P
>Aktuelle Einstellung der IPv6 Privacy Extension für ein Interface:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># nmcli connection show ens4v1 |grep ip6-privacy
ipv6.ip6-privacy: -1 (unknown)</PRE
></FONT
></TD
></TR
></TABLE
><P
>Aktivieren der IPv6 Privacy Extension und Restart des Interfaces;</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># nmcli connection modify ens4v1 ipv6.ip6-privacy 2
# nmcli connection down ens4v1; nmcli connection up ens4v1</PRE
></FONT
></TD
></TR
></TABLE
><P
>Neuer Wert der IPv6 Privacy Extension prüfen:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># nmcli connection show ens4v1 |grep ip6-privacy
ipv6.ip6-privacy: 2 (active, prefer temporary IP)</PRE
></FONT
></TD
></TR
></TABLE
><P
>Nun sollten auch IPv6 Privacy Extension Adressen automatisch konfiguriert sein</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip -o addr show dev ens4v1 | grep temporary | wc -l
2</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1102"
>6.5.3. Test zur Benutzung von Privacy Extension IPv6-Adressen</A
></H3
><P
>Ob die IPv6-Adresss mit einer durch die Privacy Extension generierte Interface ID für ausgehende Verbindungen wirklich benutzt wird, kann z.B. mit Hilfe eines Web-Browers durch Aufruf von <A
HREF="http://ip.bieringer.de/"
TARGET="_top"
>http://ip.bieringer.de/</A
> durchgeführt werden. Wenn EUI64_SCOPE als Ausgabe “iid-privacy” zeigt, dann funktioniert alles richtig.</P
></DIV
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-CONFIGURATION-ROUTE"
></A
>Kapitel 7. Konfiguration normaler IPv6-Routen</H1
><P
>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.</P
><P
>Achtung: Adressen beginnend mit “fec0” sind obsolet, hier aber noch der Vollständigheit wegen gezeigt!</P
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1110"
>7.1. Bestehende IPv6-Routen anzeigen</A
></H2
><P
>Zuerst sollten sie überprüfen, ob und welche IPv6 Adressen bereits konfiguriert sind (etwa durch automatischer Konfiguration).</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1113"
>7.1.1. Verwendung von "ip"</A
></H3
><P
>Anwendung:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 route show [dev &#60;device&#62;]</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 route show dev eth0
2001:0db8:0:f101::/64 proto kernel metric 256 mtu 1500 advmss 1440
fe80::/10 proto kernel metric 256 mtu 1500 advmss 1440
ff00::/8 proto kernel metric 256 mtu 1500 advmss 1440
default proto kernel metric 256 mtu 1500 advmss 1440</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1119"
>7.1.2. Verwendung von "route"</A
></H3
><P
>Anwendung: </P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/route -A inet6 </PRE
></FONT
></TD
></TR
></TABLE
><P
>Sie sehen hier mehrere IPv6 Routen mit unterschiedlichen Adressen eines einzelnen Interfaces (bei der Ausgabe wurde das Interface eth0 herausgefiltert).</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/route -A inet6 |grep -w "eth0"
2001:0db8:0:f101 ::/64 :: UA 256 0 0 eth0 &#60;- Interface route for global
¬ address
fe80::/10 :: UA 256 0 0 eth0 &#60;- Interface route for link-local
¬ address
ff00::/8 :: UA 256 0 0 eth0 &#60;- Interface route for all multicast
¬ addresses
::/0 :: UDA 256 0 0 eth0 &#60;- Automatic default route</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1125"
>7.2. Eine IPv6-Route über ein Gateway hinzufügen</A
></H2
><P
>Eine Route wird meistens benötigt, um mit IPv6 die Außenwelt über einen IPv6 fähigen Router und über Ihren Link zu erreichen.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1128"
>7.2.1. Verwendung von "ip"</A
></H3
><P
>Anwendung:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 route add &#60;ipv6network&#62;/&#60;prefixlength&#62; via &#60;ipv6address&#62;
¬ [dev &#60;device&#62;]</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 route add default via 2001:0db8:0:f101::1</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1134"
>7.2.2. Verwendung von "route"</A
></H3
><P
>Anwendung: </P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/route -A inet6 add &#60;ipv6network&#62;/&#60;prefixlength&#62; gw
¬ &#60;ipv6address&#62; [dev &#60;device&#62;] </PRE
></FONT
></TD
></TR
></TABLE
><P
>Die optionale Angabe eines Devices wird dann benötigt, wenn die IPv6 Adresse des Gateways eine lokale Link-Adresse ist.</P
><P
>Im folgenden Beispiel wird eine Route für alle Adressen (default) über das Gateway 2001:0db8:0:f101::1 hinzugefügt.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/route -A inet6 add default gw 2001:0db8:0:f101::1</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1141"
>7.3. Eine IPv6-Route über ein Gateway entfernen</A
></H2
><P
>Das manuelle entfernen einer Route wird nicht oft benötigt, meistens wird dies automatisch durch Netzwerk-Konfigurationsscripts beim herunterfahren (des Betriebssystems oder eines Interfaces) bewirkt.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1144"
>7.3.1. Verwendung von "ip"</A
></H3
><P
>Anwendung:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 route del &#60;ipv6network&#62;/&#60;prefixlength&#62; via &#60;ipv6address&#62;
¬ [dev &#60;device&#62;]</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 route del default via 2001:0db8:0:f101::1</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1150"
>7.3.2. Verwendung von "route"</A
></H3
><P
>Anwendung: </P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/route -A inet6 del &#60;ipv6network&#62;/&#60;prefixlength&#62; gw &#60;ipv6address&#62; [dev
¬ &#60;device&#62;]</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel zum entfernen der im obigen Beispiel hinzugefügten Route:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/route -A inet6 del default gw 2001:0db8:0:f101::1</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1156"
>7.4. Eine IPv6-Route über ein Interface hinzufügen</A
></H2
><P
>Diese Funktion wird manchmal im Fall dedizierter Punkt-zu-Punkt Verbindungen verwendet, in der Regel aber eher selten benötigt.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1159"
>7.4.1. Verwendung von "ip"</A
></H3
><P
>Anwendung:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 route add &#60;ipv6network&#62;/&#60;prefixlength&#62; dev &#60;device&#62;
¬ metric 1</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 route add default dev eth0 metric 1</PRE
></FONT
></TD
></TR
></TABLE
><P
>Der Metrik-Wert “1” wird verwendet, um mit dem Metrik Wert von route kompatibel zu sein; der Standard-Metrik-Wert von “ip” ist “1024”.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1166"
>7.4.2. Verwendung von "route"</A
></H3
><P
>Anwendung:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/route -A inet6 add &#60;network&#62;/&#60;prefixlength&#62; dev &#60;device&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/route -A inet6 add default dev eth0 </PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1172"
>7.5. Eine IPv6-Route über ein Interface entfernen</A
></H2
><P
>Dies wird manuell nicht so oft benötigt, jedoch aber beim herunterfahren von Konfigurationsscripts benutzt.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1175"
>7.5.1. Verwendung von "ip"</A
></H3
><P
>Anwendung:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 route del &#60;ipv6network&#62;/&#60;prefixlength&#62; dev &#60;device&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 route del default dev eth0 </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1181"
>7.5.2. Verwendung von "route"</A
></H3
><P
>Anwendung:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/route -A inet6 del &#60;network&#62;/&#60;prefixlength&#62; dev &#60;device&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/route -A inet6 del default dev eth0</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1187"
>7.6. FAQ für IPv6-Routen</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN1189"
>7.6.1. Unterstützung einer IPv6 Default-Route</A
></H3
><P
>Ein Schwerpunkt bei IPv6 ist das hierarchische Routing. Aus diesem Grund werden in Routern nur wenige Routing-Einträge benötigt.</P
><P
>Einige Punkte sind im aktuellen Kernel zu beachten:</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1193"
>7.6.1.1. Clients (kein Routing eines Paketes!)</A
></H4
><P
>Ein client kann eine Default Route (z.B. “::/0” ) einrichten, diese aber auch durch automatische Konfiguration, z.B. mit radvd, erlernen:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip -6 route show | grep ^default
default via fe80::212:34ff:fe12:3450 dev eth0 proto kernel metric 1024 expires
¬ 29sec mtu 1500 advmss 1440</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1197"
>7.6.1.2. Router &#38; Paketweiterleitung</A
></H4
><P
>Ältere Linux Kernel ( zumindest &#60;= 2.4.17) unterstützen keine Default Routen. Man kann dies einrichten, aber die Abfrage dieser Route misslingt im Fall, dass ein Paket weitergeleitet werden soll ( normaler Zwecke eines Routers).</P
><P
>Falls ein entsprechender Kernel noch verwendet wird, kann “default routing” eingerichtet werden, wenn hierbei das einzig globale Adress-Präfix “2000::/3” verwendet wird.</P
><P
>Anmerkung: Walten Sie mit Vorsicht bei der Anwendung von default routing auf exponierten Routern, wenn keine Adressfilterung eingesetzt wird. Andernfalls kann Multicast- oder lokaler Site-Datenverkehr den Router ungewollt verlassen.</P
></DIV
></DIV
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-NEIGHBOR-DISCOVERY"
></A
>Kapitel 8. Neighbor Discovery</H1
><P
>Die Neighbor Discovery (Ermittlung der Netzwerkumgebung) ist der IPv6 Nachfolger für das ARP (Address Resolution Protocol) bei IPv4. Sie können Informationen über die aktuelle Netzwerkumgebung gewinnen, Einträge erstellen und entfernen.</P
><P
>Der Kernel merkt sich erfolgreich gelernte “Nachbarn” (wie ARP in IPv4). Sie können die gelernten Einträge mit “ip” einsehen.</P
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1206"
>8.1. Netzwerkumgebung mit “ip” anzeigen</A
></H2
><P
>Mit dem folgenden Befehl können Sie die gelernten oder konfigurierten IPv6 Nachbarn anzeigen:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip -6 neigh show [dev &#60;device&#62;]</PRE
></FONT
></TD
></TR
></TABLE
><P
>Das folgende Beispiel zeigt einen Nachbar, einen erreichbaren Router:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip -6 neigh show
fe80::201:23ff:fe45:6789 dev eth0 lladdr 00:01:23:45:67:89 router nud reachable</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1212"
>8.2. Tabelle der Netzwerkumgebung mit “ip” editieren</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN1214"
>8.2.1. Eintrag manuell hinzufügen</A
></H3
><P
>Mit folgendem Befehl können Sie einen Eintrag manuell hinzufügen:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip -6 neigh add &#60;IPv6 address&#62; lladdr &#60;link-layer address&#62; dev &#60;device&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip -6 neigh add fec0::1 lladdr 02:01:02:03:04:05 dev eth0</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1220"
>8.2.2. Eintrag manuell entfernen</A
></H3
><P
>Sie können einen Eintrag auch löschen:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip -6 neigh del &#60;IPv6 address&#62; lladdr &#60;link-layer address&#62; dev &#60;device&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip -6 neigh del fec0::1 lladdr 02:01:02:03:04:05 dev eth0</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1226"
>8.2.3. Erweiterte Einstellungen</A
></H3
><P
>Das Tool “ip” ist weniger ausführlich dokumentiert, dennoch ist es sehr mächtig. Sehen Sie online mit “help” für weitere Details:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip -6 neigh help
Usage: ip neigh { add | del | change | replace } { ADDR [ lladdr LLADDR ]
[ nud { permanent | noarp | stale | reachable } ]
| proxy ADDR } [ dev DEV ]
ip neigh {show|flush} [ to PREFIX ] [ dev DEV ] [ nud STATE ]</PRE
></FONT
></TD
></TR
></TABLE
><P
>Es sieht aus, als seien manche Optionen ausschließlich für IPv4 gedacht... Es wird um Ihre Mithilfe gebeten, wenn Sie Informationen zu Optionen und der erweiterten Anwendung beisteuern können.</P
></DIV
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-CONFIGURING-IPV6-IN-IPV4-TUNNELS"
></A
>Kapitel 9. Konfiguration eines IPv6-in-IPv4 Tunnels</H1
><P
>Wenn zum Verlassen des lokalen Netzwerks keine native IPv6-Anbindung vorhanden ist, wird zum Erreichen des weltweiten IPv6 Internet ein IPv6-in-IPv4 Tunnel benötigt.</P
><P
>Es gibt unterschiedliche Tunnel-Mechanismen sowie einige Möglichkeiten zum Einrichten eines Tunnels.</P
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1235"
>9.1. Tunnelarten</A
></H2
><P
>Es steht Ihnen mehr als eine Möglichkeit zur Verfügung, IPv6 Pakete über ausschließliche IPv4 Links zu tunneln.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1238"
>9.1.1. Statische Punkt-zu-Punkt Tunnel</A
></H3
><P
>Ein Punkt-zu-Punkt Tunnel ist ein dedizierter Tunnel zu einem Endpunkt, der Kenntnis über das lokale IPv6 Netzwerk (für das Routing zurück...) und die IPv4 Adresse des Tunnel-Endpunktes verfügt. Definition des Punkt-zu-Punkt Tunnels siehe: <A
HREF="http://www.faqs.org/rfcs/rfc4213.html"
TARGET="_top"
>RFC 4213 / Basic Transition Mechanisms for IPv6 Hosts and Routers</A
>. Anforderungen:</P
><P
></P
><UL
><LI
><P
>Die IPv4 Adresse des lokalen Tunnel-Endpunktes muss statisch sein, global eindeutig und vom entfernten Tunnel-Endpunkt aus erreichbar sein.</P
><P
></P
><UL
><LI
><P
>Wenn keine statische IPv4 Addresse verfügbar ist, muß der Tunnel-Provider die Authentifizerung der dynamischen IPv4 Addresse unterstützen, wie z.B. <A
HREF="http://www.sixxs.net/"
TARGET="_top"
>SixXS / AICCU</A
> oder <A
HREF="http://gogo6.com/"
TARGET="_top"
>gogo6</A
>.</P
></LI
></UL
></LI
><LI
><P
>Sie müssen ein globales IPv6 Präfix zugewiesen bekommen haben.</P
><P
></P
><UL
><LI
><P
>Es ist auch möglich, daß zusätzliche IPv6 Netzwerke über diesen Tunnel geroutet werden.</P
></LI
></UL
></LI
><LI
><P
>Ein entfernter Tunnel-Endpunkt muss dazu in der Lage sein, ihr IPv6 Präfix bis zu Ihrem lokalen Tunnel-Endpunkt zu routen (wobei meistens manuelle Konfiguration notwendig wird).</P
></LI
></UL
><P
>Statische Tunnelprovider:</P
><P
></P
><UL
><LI
><P
><A
HREF="http://he.com/"
TARGET="_top"
>Hurricane Electric</A
></P
></LI
><LI
><P
><A
HREF="http://www.sixxs.net/"
TARGET="_top"
>SixXS</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1265"
>9.1.2. Automatische Tunnel</A
></H3
><P
>Automatisches Tunneln tritt dann ein, wenn ein Knoten direkt einen anderen Knoten (dessen IPv4-Adresse er zuerst kennen lernen muss) über die IPv4-mapped IPv6-Adresse anspricht - dieser Mechanismus sollte nicht mehr unterstützt werden, weil er sehr unsicher ist.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="TUNNELING-6TO4."
>9.1.3. 6to4 Tunnel</A
></H3
><P
>6to4 Tunnel (<A
HREF="http://www.faqs.org/rfcs/rfc3056.html"
TARGET="_top"
>RFC 3056 / Connection of IPv6 Domains via IPv4 Clouds</A
>) verwenden einen einfachen Mechanismus zum erstellen eines automatischen Tunnels. Jeder Knoten mit einer weltweit einmaligen IPv4 Adresse kann zu einem 6to4 Tunnel-Endpunkt gemacht werden (solange keine IPv4-Firewall den Verkehr unterbindet). Ein 6to4 Tunnel ist zumeist kein one-to-one Tunnel. In diesem Fall wird das Untertunneln in einen Upstream- und einen Downstream-Tunnel unterteilt. Ferner zeigt eine spezielle IPv6 Adresse an, dass der Knoten einen 6to4 Tunnel für die Verbindung zum weltweiten IPv6 Netzwerk verwendet.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1272"
>9.1.3.1. Erstellen eines 6to4 Präfixes</A
></H4
><P
>Die 6to4 Adresse wird wie folgt definiert (Schema ist dem <A
HREF="http://www.faqs.org/rfcs/rfc3056.html"
TARGET="_top"
>RFC 3056 / Connection of IPv6 Domains via IPv4 Clouds</A
> entnommen):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>| 3+13 | 32 | 16 | 64 bits |
+---+------+-----------+--------+--------------------------------+
| FP+TLA | V4ADDR | SLA ID | Interface ID |
| 0x2002 | | | |
+---+------+-----------+--------+--------------------------------+</PRE
></FONT
></TD
></TR
></TABLE
><P
>FP und TLA zusammen haben den Wert 0x2002. V4ADDR ist die weltweit einmalige IPv4 Adresse des Knoten (in hexadezimaler Notation). Mit dem SLA wird das Subnetz identifiziert (65536 lokale Subnetze sind möglich) und benutzbar, um die lokale Netzwerstruktur abzubilden.</P
><P
>Für Gateways wird dieser Präfix normalerweise mit dem SLA “0000” definiert und dem 6to4 Tunnel-Interface das Suffix “::1” (kann aber auch ein beliebiger mit local-scope sein) zugewiesen. Zu bemerken ist, dass Microsoft Windows als Suffix auch immer die V4ADDR einsetzt.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1279"
>9.1.3.2. 6to4 Tunnel zum Upstream</A
></H4
><P
>Der Knoten muss die Kenntnis darüber haben, an welchen entfernten Tunnel-Endpunkt die in IPv4 Paketen eingeschlossenen IPv6 Pakete gesendet werden sollen. In den “Anfängen” der 6to4 Tunnel-Anwendung wurden dedizierte Upstream akzeptierende Router definiert. Liste der Router siehe: <A
HREF="http://www.kfu.com/~nsayer/6to4/"
TARGET="_top"
>NSayer's 6to4 information</A
>.</P
><P
>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 <A
HREF="http://www.faqs.org/rfcs/rfc3068.html"
TARGET="_top"
>RFC 3068 / An Anycast Prefix for 6to4 Relay Routers</A
> für weitere Details.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1285"
>9.1.3.3. 6to4 Tunnel zum Downstream</A
></H4
><P
>Der Downstream (6bone -&#62; 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:</P
><P
></P
><UL
><LI
><P
>Der entfernte Host benutzt 6to4 und sendet die Pakete direkt an den lokalen Knoten zurück (siehe unten).</P
></LI
><LI
><P
>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.</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1293"
>9.1.3.4. Möglicher 6to4 Verkehr</A
></H4
><P
></P
><UL
><LI
><P
>Vom 6to4 zum 6to4: der Tunnel entsteht normalerweise direkt zwischen den beiden 6to4 fähigen Hosts.</P
></LI
><LI
><P
>Vom 6to4 zum non-6to4: Der Datenstrom wird mittels Upstream-Tunnel versendet.</P
></LI
><LI
><P
>Vom non-6to4 zum 6to4: Der Datenstrom wird mittels Downstream-Tunnel versendet.</P
></LI
></UL
><P
>Achtung, durch das mögliche asymmetrische Routing können Probleme mit defekten 6to4-Relays schwer zu diagnostizieren sein.</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1303"
>9.1.4. UDP gekapselte IPv6 Tunnels</A
></H3
><P
>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.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1306"
>9.1.4.1. Teredo Tunnel</A
></H4
><P
><A
HREF="http://www.faqs.org/rfcs/rfc4380.html"
TARGET="_top"
>RFC 4380 / Teredo: Tunneling IPv6 over UDP through Network Address Translations</A
>beschreibt das Tunneln von IPv6 Pakete über IPv4 UDP Pakete (Bubbles), siehe auch <A
HREF="http://de.wikipedia.org/wiki/Teredo"
TARGET="_top"
>Wikipedia / Teredo</A
>. Üblicherweise benutzt es 3544/udp. Der Client für Linux heißt <A
HREF="http://www.remlab.net/miredo/"
TARGET="_top"
>miredo</A
> und ist benutzbar ohne große Konfiguration. Über diese Tunnelmethode kann nur ein einzelner Client an das globale IPv6-Netzwerk angeschlossen werden.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1312"
>9.1.4.2. AYIYA Tunnel</A
></H4
><P
>Tunnel provider <A
HREF="http://www.sixxs.net/"
TARGET="_top"
>SixXS</A
> bietet auch einen IPv6-in-UDP-in-IPv4 (5072/udp) Tunnel an, zur Nutzung muss der Modus AYIYA aktiviert werden.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1316"
>9.1.4.3. gogo6 Tunnel</A
></H4
><P
>Tunnel provider <A
HREF="http://gogo6.com/"
TARGET="_top"
>gogo6</A
> bietet auch einen IPv6-in-UDP-in-IPv4 (3653/udp) Tunnel an, zur Nutzung muss der Modus v6udpv4 aktiviert werden.</P
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1320"
>9.2. Bestehende Tunnel anzeigen</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN1322"
>9.2.1. Verwendung von "ip"</A
></H3
><P
>Anwendung:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 tunnel show [&#60;device&#62;]</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 tunnel show
sit0: ipv6/ip remote any local any ttl 64 nopmtudisc
sit1: ipv6/ip remote 195.226.187.50 local any ttl 64</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1328"
>9.2.2. Verwendung von "route"</A
></H3
><P
>Anwendung:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/route -A inet6 </PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel (Ausgabe wurde derart gefiltert, dass nur Tunnels über das virtuelle Interface sit0 angezeigt werden):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/route -A inet6 | grep "\Wsit0\W*$"
::/96 :: U 256 2 0 sit0
2002::/16 :: UA 256 0 0 sit0
2000::/3 ::193.113.58.75 UG 1 0 0 sit0
fe80::/10 :: UA 256 0 0 sit0
ff00::/8 :: UA 256 0 0 sit0</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="CONF-IPV6-IN-IPV4-POINT-TO-POINT-TUNNELS"
>9.3. Einrichtung eines Punkt-zu-Punkt Tunnels</A
></H2
><P
>Es gibt drei Methoden ein Punkt-zu-Punkt Tunnel hinzuzufügen bzw. zu entfernen.</P
><P
>Eine gute Informationsquelle zum Thema Tunnel-Einrichtung mit “ip” ist folgender Artikel: <A
HREF="http://www.deepspace6.net/docs/iproute2tunnel-en.html"
TARGET="_top"
>Configuring tunnels with iproute2 (article)</A
> (<A
HREF="http://mirrors.bieringer.de/www.deepspace6.net/docs/iproute2tunnel-en.html"
TARGET="_top"
>Spiegel</A
>).</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1340"
>9.3.1. Einen Punkt-zu-Punkt Tunnel hinzufügen</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN1342"
>9.3.1.1. Verwendung von "ip"</A
></H4
><P
>Bei einer kleinen Anzahl von Tunnels ist die Verwendung von “ip” zurzeit die Standardmethode.</P
><P
>Beispiel für das Erstellen eines Tunnel-Devices (das Device wird aber hiermit nicht aktiviert; ebenso muss ein TTL Wert spezifiziert werden, da der Standardwert 0 ist):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip tunnel add &#60;device&#62; mode sit ttl &#60;ttldefault&#62; remote
¬ &#60;ipv4addressofforeigntunnel&#62; local &#60;ipv4addresslocal&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Anwendung (drei allgemeine Beispiele):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip tunnel add sit1 mode sit ttl &#60;ttldefault&#62; remote
¬ &#60;ipv4addressofforeigntunnel1&#62; local &#60;ipv4addresslocal&#62;
# /sbin/ip link set dev sit1 up
# /sbin/ip -6 route add &#60;prefixtoroute1&#62; dev sit1 metric 1
# /sbin/ip tunnel add sit2 mode sit ttl &#60;ttldefault&#62;
¬ &#60;ipv4addressofforeigntunnel2&#62; local &#60;ipv4addresslocal&#62;
# /sbin/ip link set dev sit2 up
# /sbin/ip -6 route add &#60;prefixtoroute2&#62; dev sit2 metric 1
# /sbin/ip tunnel add sit3 mode sit ttl &#60;ttldefault&#62;
¬ &#60;ipv4addressofforeigntunnel3&#62; local &#60;ipv4addresslocal&#62;
# /sbin/ip link set dev sit3 up
# /sbin/ip -6 route add &#60;prefixtoroute3&#62; dev sit3 metric 1</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1349"
>9.3.1.2. Verwendung von "ifconfig" und "route" (nicht empfehlenswert)</A
></H4
><P
>Diese Methode zum Hinzufügen eines Tunnels wird nicht empfohlen, da Ungereimtheiten auftreten. Es gibt keine Probleme, wenn nur ein Tunnel hinzugefügt wird. Werden hingegen mehrere Tunnel hinzugefügt, dann kann der erste Tunnel nicht einfach deaktiviert werden, wenn die restlichen Tunnel aktiviert bleiben sollen.</P
><P
>Anwendung (drei allgemeine Beispiele):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ifconfig sit0 up
# /sbin/ifconfig sit0 tunnel &#60;ipv4addressofforeigntunnel1&#62;
# /sbin/ifconfig sit1 up
# /sbin/route -A inet6 add &#60;prefixtoroute1&#62; dev sit1
# /sbin/ifconfig sit0 tunnel &#60;ipv4addressofforeigntunnel2&#62;
# /sbin/ifconfig sit2 up
# /sbin/route -A inet6 add &#60;prefixtoroute2&#62; dev sit2
# /sbin/ifconfig sit0 tunnel &#60;ipv4addressofforeigntunnel3&#62;
# /sbin/ifconfig sit3 up
# /sbin/route -A inet6 add &#60;prefixtoroute3&#62; dev sit3</PRE
></FONT
></TD
></TR
></TABLE
><P
>WICHTIG: NICHT VERWENDEN! Mit diesem Setup wird von überall aus dem Internet das "automatische Tunneln" vorbehaltlos aktiviert. Das ist ein unnötiges Risiko.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1355"
>9.3.1.3. Verwendung allein von "route"</A
></H4
><P
>Sie können einen Tunnel auch im NBMA-Stil (Non Broadcast Multiple Access) einrichten. Bei dieser Vorgehensweise können Sie sehr einfach mehrere Tunnels zugleich einrichten, aber kein Tunnel kann nummeriert werden (und das ist ein kein benötigtes Feature). </P
><P
>Anwendung (drei allgemeine Beispiele):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ifconfig sit0 up
# /sbin/route -A inet6 add &#60;prefixtoroute1&#62; gw
¬ ::&#60;ipv4addressofforeigntunnel1&#62; dev sit0
# /sbin/route -A inet6 add &#60;prefixtoroute2&#62; gw
¬ ::&#60;ipv4addressofforeigntunnel2&#62; dev sit0
# /sbin/route -A inet6 add &#60;prefixtoroute3&#62; gw
¬ ::&#60;ipv4addressofforeigntunnel3&#62; dev sit0</PRE
></FONT
></TD
></TR
></TABLE
><P
>WICHTIG: NICHT VERWENDEN! Mit diesem Setup wird von überall aus dem Internet das "automatische Tunneln" vorbehaltlos aktiviert. Das ist ein unnötiges Risiko.</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1361"
>9.3.2. Punkt-zu-Punkt Tunnel entfernen</A
></H3
><P
>Diese Funktion wird selten manuell durchgeführt. Skripte verwenden diese Funktion zum sauberen deaktivieren bzw. beim Neustart einer IPv6 Konfiguration.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1364"
>9.3.2.1. Verwendung von "ip"</A
></H4
><P
>Entfernen eines Tunnel-Devices:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip tunnel del &#60;device&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Anwendung (drei allgemeine Beispiele):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 route del &#60;prefixtoroute1&#62; dev sit1
# /sbin/ip link set sit1 down
# /sbin/ip tunnel del sit1
# /sbin/ip -6 route del &#60;prefixtoroute2&#62; dev sit2
# /sbin/ip link set sit2 down
# /sbin/ip tunnel del sit2
# /sbin/ip -6 route del &#60;prefixtoroute3&#62; dev sit3
# /sbin/ip link set sit3 down
# /sbin/ip tunnel del sit3</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1370"
>9.3.2.2. Verwendung von "ifconfig" und "route" (nicht empfehlenswert, da unbequem)</A
></H4
><P
>Nicht nur bei der Erstellung eines Tunnels kommt es zu Ungereimtheiten, sondern auch bei dessen Entfernung. Die Tunnel müssen in umgekehrter Reihenfolge wieder entfernt werden, d.h. der zuletzt erstellte Tunnel muss als Erster entfernt werden...</P
><P
>Anwendung (drei allgemeine Beispiele):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/route -A inet6 del &#60;prefixtoroute3&#62; dev sit3
# /sbin/ifconfig sit3 down
# /sbin/route -A inet6 del &#60;prefixtoroute2&#62; dev sit2
# /sbin/ifconfig sit2 down
# /sbin/route -A inet6 add &#60;prefixtoroute1&#62; dev sit1
# /sbin/ifconfig sit1 down
# /sbin/ifconfig sit0 down&#13;</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1375"
>9.3.2.3. Verwendung von "route"</A
></H4
><P
>Die Vorgehensweise ist vergleichbar mit dem löschen einer normalen IPv6 Route.</P
><P
>Anwendung (drei allgemeine Beispiele):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/route -A inet6 del &#60;prefixtoroute1&#62; gw
¬ ::&#60;ipv4addressofforeigntunnel1&#62; dev sit0
# /sbin/route -A inet6 del &#60;prefixtoroute2&#62; gw
¬ ::&#60;ipv4addressofforeigntunnel2&#62; dev sit0
# /sbin/route -A inet6 del &#60;prefixtoroute3&#62; gw
¬ ::&#60;ipv4addressofforeigntunnel3&#62; dev sit0
# /sbin/ifconfig sit0 down</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1380"
>9.3.3. Nummerierte Punkt-zu-Punkt Tunnel</A
></H3
><P
>Manchmal ist es notwendig, einen Punkt-zu-Punkt Tunnel mit IPv6 Adresse genauso einzurichten, wie heute bei IPv4. Dies ist nur mit der ersten (ifconfig+route - nicht empfehlenswert) sowie mit der dritten (ip+route) beschriebenen Methode zur Einrichtung eines Tunnels möglich. Bei diesen Fällen können Sie den Tunnel-Interfaces die IPv6 Adressen, wie im Abschnitt zur Interface-Konfiguration beschrieben, hinzufügen.</P
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="CONFIGURING-IPV6TO4-TUNNELS"
>9.4. Einrichtung von 6to4 Tunnel</A
></H2
><P
>Beachten sie Bitte, dass 6to4 Tunnel im Standard-Kernel der Serie 2.2.x (siehe <A
HREF="#SYSTEMCHECK-KERNEL"
>systemcheck/kernel</A
>) nicht unterstützt werden. Weiter ist zu beachten, dass die Präfix-Länge für 6to4 Adressen 16 ist, da sich aus Perspektive des Netzwerks betrachtet, alle anderen 6to4 Hosts sich in der gleichen Schicht 2 befinden. </P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1387"
>9.4.1. 6to4 Tunnel hinzufügen</A
></H3
><P
>Zu Anfang müssen Sie Ihre 6to4 Präfix-Länge mittels der lokal zugewiesenen global routbaren IPv4 Adresse berechnen (sollte ihr Host keine global routebare IPv4 Adresse haben, dann ist unter speziellen Bedingungen NAT auf dem Border Gateway möglich):</P
><P
>Angenommen, Ihre IPv4 Adresse ist:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>1.2.3.4</PRE
></FONT
></TD
></TR
></TABLE
><P
>Dann ist das daraus resultierende 6to4 Präfix:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2002:0102:0304::</PRE
></FONT
></TD
></TR
></TABLE
><P
>Lokalen 6to4 Gateways sollte immer (ist aber kein Muss, ein beliebiger local-scope Suffix kann benutzt werden) das Suffix “::1” zugewiesen werden. Daraus resultierend ergibt sich Ihre lokale 6to4 Adresse:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2002:0102:0304::1</PRE
></FONT
></TD
></TR
></TABLE
><P
>Zum automatischen Erstellen der Adresse können Sie folgenden Befehl nutzen:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>ipv4="1.2.3.4"; printf "2002:%02x%02x:%02x%02x::1" `echo $ipv4 | tr "." " "`</PRE
></FONT
></TD
></TR
></TABLE
><P
>Es gibt nun zwei Möglichkeiten einen 6to4 Tunnel einzurichten.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1399"
>9.4.1.1. Verwendung von "ip" und einem dedizierten Tunnel-Device</A
></H4
><P
>Die empfohlene Vorgehensweise (der Wert TTL muss angegeben werden, da der Standardwert 0 ist):</P
><P
>Erstellen eines neues Tunnel-Device:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip tunnel add tun6to4 mode sit ttl &#60;ttldefault&#62; remote any local
¬ &#60;localipv4address&#62; </PRE
></FONT
></TD
></TR
></TABLE
><P
>Interface aktivieren:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip link set dev tun6to4 up </PRE
></FONT
></TD
></TR
></TABLE
><P
>Eine lokale 6to4 Adresse am Interface hinzufügen (Hinweis: Präfix-Länge 16 ist wichtig!)</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 addr add &#60;local6to4address&#62;/16 dev tun6to4 </PRE
></FONT
></TD
></TR
></TABLE
><P
>Hinzufügen der (Standard-) Route zum globalen IPv6 Netz unter Verwendung der all-6to4-routers IPv4 anycast Adresse:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 route add default via ::192.88.99.1 dev tun6to4 metric 1</PRE
></FONT
></TD
></TR
></TABLE
><P
>Manche Versionen von “ip” (z.B. SuSE Linux 9.0) unterstützen keine IPv4-kompatiblen IPv6-Adressen für Gateways, in diesem Fall muss die entsprechende IPv6-Adresse benutzt werden:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 route add default via 2002:c058:6301::1 dev tun6to4 metric 1</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1412"
>9.4.1.2. Verwendung von "ifconfig" und "route" sowie einem generischen Tunnel-Device "sit0" (nicht empfehlenswert)</A
></H4
><P
>Diese Vorgehensweise wird nicht empfohlen, da bei Verwendung des allgemeinen Tunnel Device sit0 keine Filter-Spezifizierung pro Device ermöglicht wird.</P
><P
>Das allgemeine Tunnel Interface sit0 aktivieren:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ifconfig sit0 up </PRE
></FONT
></TD
></TR
></TABLE
><P
>Dem Interface eine lokale 6to4 Adresse hinzufügen:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ifconfig sit0 add &#60;local6to4address&#62;/16</PRE
></FONT
></TD
></TR
></TABLE
><P
>Hinzufügen der (Standard-) Route zum globalen IPv6 Netz unter Verwendung der all-6to4-routers IPv4 anycast Adresse:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/route -A inet6 add default gw ::192.88.99.1 dev sit0</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1421"
>9.4.2. 6to4 Tunnel entfernen</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN1423"
>9.4.2.1. Verwendung von "ip" und einem dedizierten Tunnel-Device</A
></H4
><P
>Entfernen aller Routen über dieses bestimmten Tunnel Devices:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 route flush dev tun6to4</PRE
></FONT
></TD
></TR
></TABLE
><P
>Interface deaktivieren:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip link set dev tun6to4 down</PRE
></FONT
></TD
></TR
></TABLE
><P
>Ein erstelltes Tunnel Device entfernen:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip tunnel del tun6to4 </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1431"
>9.4.2.2. Verwendung von "ifconfig" und "route" sowie einem generischen Tunnel-Device "sit0" (nicht empfehlenswert)</A
></H4
><P
>Entfernen der (Standard-) Route über ein 6to4 Tunnel Device:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/route -A inet6 del default gw ::192.88.99.1 dev sit0</PRE
></FONT
></TD
></TR
></TABLE
><P
>Eine 6to4 Adresse des Interfaces entfernen:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ifconfig sit0 del &#60;local6to4address&#62;/16</PRE
></FONT
></TD
></TR
></TABLE
><P
>Ein allgemeines Tunnel Device deaktivieren (aber Achtung, eventuell ist das Interface noch in Verwendung...)</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ifconfig sit0 down </PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-CONFIGURING-IPV4-IN-IPV6-TUNNELS"
></A
>Kapitel 10. Konfiguration eines IPv4-in-IPv6 Tunnels</H1
><P
><A
HREF="http://www.faqs.org/rfcs/rfc2473.html"
TARGET="_top"
>RFC 2473 / Generic Packet Tunneling in IPv6 Specification</A
> spezifiziert den Mechanismus, um unterschiedliche Pakettypen (einschließlich IPv4) über IPv6 zu tunneln.</P
><P
>ANMERKUNG: Unterstützung für IPv4-in-IPv6 Tunnel ist erst seit Kernel Version 2.6.22 verfügbar.</P
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1444"
>10.1. Anzeigen von existierenden Tunnels</A
></H2
><P
>Anwendung:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 tunnel show [&#60;device&#62;]</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 tunnel show mode any
ip6tnl0: ipv6/ipv6 remote :: local :: encaplimit 0 hoplimit 0 tclass 0x00 flowlabel 0x00000 (flowinfo 0x00000000)
ip6tnl1: ip/ipv6 remote fd00:0:0:2::a local fd00:0:0:2::1 dev eth1 encaplimit 4 hoplimit 64 tclass 0x00 flowlabel 0x00000 (flowinfo 0x00000000)</PRE
></FONT
></TD
></TR
></TABLE
><P
>ANMERKUNG: wenn "mode any" nicht angegeben wird, werde nur IPv6-in-IPv6 Tunnels angezeigt.</P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1451"
>10.2. Konfiguration eines Punkt-zu-Punkt Tunnels</A
></H2
><P
>Anwendung für die Erzeugung einer 4over6 Tunnel-Schnittstelle (welche danach aber noch nicht aktiv ist)</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip tunnel add &#60;device&#62; mode ip4ip6 remote &#60;ipv6addressofforeigntunnel&#62; local &#60;ipv6addresslocal&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Anwendung (allgemeines Beispiel für drei Tunnels):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 tunnel add ip6tnl1 mode ip4ip6 remote &#60;ipv6addressofforeigntunnel1&#62; local &#60;ipv6addresslocal&#62;
# /sbin/ip link set dev ip6tnl1 up
# /sbin/ip -6 route add &#60;prefixtoroute1&#62; dev ip6tnl1 metric 1
# /sbin/ip -6 tunnel add ip6tnl2 mode ip4ip6 remote &#60;ipv6addressofforeigntunnel2&#62; local &#60;ipv6addresslocal&#62;
# /sbin/ip link set dev ip6tnl2 up
# /sbin/ip -6 route add &#60;prefixtoroute2&#62; dev ip6tnl2 metric 1
# /sbin/ip -6 tunnel add ip6tnl3 mode ip4ip6 remote &#60;ipv6addressofforeigntunnel3&#62; local &#60;ipv6addresslocal&#62;
# /sbin/ip link set dev ip6tnl3 up
# /sbin/ip -6 route add &#60;prefixtoroute3&#62; dev ip6tnl3 metric 1</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1457"
>10.3. Löschen von Punkt-zu-Punkt-Tunnels</A
></H2
><P
>Anwendung für das Löschen einer Tunnel-Schnittstelle:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 tunnel del &#60;device&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Anwendung (allgemeines Beispiel für drei Tunnels):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 route del &#60;prefixtoroute1&#62; dev ip6tnl1
# /sbin/ip link set ip6tnl1 down
# /sbin/ip -6 tunnel del ip6tnl1
# /sbin/ip -6 route del &#60;prefixtoroute2&#62; dev ip6tnl2
# /sbin/ip link set ip6tnl2 down
# /sbin/ip -6 tunnel del ip6tnl2
# /sbin/ip -6 route del &#60;prefixtoroute3&#62; dev ip6tnl3
# /sbin/ip link set ip6tnl3 down
# /sbin/ip -6 tunnel del ip6tnl3 </PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-KERNEL-SETTINGS"
></A
>Kapitel 11. Kernel-Einstellungen im /proc-Dateisystem</H1
><P
>Anmerkung: Dieses Kapitel basiert großteils auf der Datei “ip-sysctl.txt”, welche in den aktuellen Kernel-Quellen im Verzeichnis “Documentation/networking” zu finden ist. Danke an dieser Stelle an Pekka Savola, der den IPv6 relevanten Inhalt dieser Datei wartet und betreut. Ebenso sei erwähnt, dass einige Textstellen hieraus mehr oder weniger mit Copy &#38; Paste in dieses Dokument übernommen wurden.</P
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN1466"
>11.1. Zugriff auf das /proc-Dateisystem</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN1468"
>11.1.1. Verwendung von "cat" und "echo"</A
></H3
><P
>Mit “cat” und “echo” können Sie am einfachsten das /proc Dateisystem einsehen. Hierfür gibt es aber einige Voraussetzungen, die erfüllt sein müssen:</P
><P
></P
><UL
><LI
><P
>Das /proc-Dateisystem muss im Kernel aktiviert sein. Hierfür muss die folgende Einstellung beim kompilieren des Kernels vorgenommen werden:</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>CONFIG_PROC_FS=y</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Das /proc-Dateisystem muss zuerst gemountet sein. Dies kann wie folgt getestet werden:</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># mount | grep "type proc"
none on /proc type proc (rw)</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Sie benötigen Lese- und manchmal auch Schreib-Zugriff (normalerweise nur als Root-Benutzer) auf das /proc-Dateisystem.</P
></LI
></UL
><P
>Normalerweise sind, mit Ausnahme in /proc/sys/*, alle Einträge ausschließlich mit Leserechten ausgestattet. Die Einträge werden zum Zweck der Informationsgewinnung verwendet.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1483"
>11.1.1.1. Wert anzeigen</A
></H4
><P
>Den Inhalt eines Eintrags können sie mit “cat” anzeigen:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># cat /proc/sys/net/ipv6/conf/all/forwarding
0</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1487"
>11.1.1.2. Wert einstellen</A
></H4
><P
>Mit “echo” können sie einen neuen Wert zuweisen (nur wenn der Eintrag beschreibbar ist):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># echo "1" &#62;/proc/sys/net/ipv6/conf/all/forwarding</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1491"
>11.1.2. Verwendung von "sysctl"</A
></H3
><P
>Die Verwendung des Programms “sysctl” ist eine zeitgemäße Methode zum Anzeigen der Kernel-Switches. Es funktioniert auch dann, wenn das /proc-Dateisystem nicht gemountet ist, wobei aber nur ein Zugriff auf /proc/sys/* möglich ist!</P
><P
>Das Programm “sysctl” ist (auf Red Hat Linux Systemen) im Paket “procps” enthalten.</P
><P
></P
><UL
><LI
><P
>Das sysctl-Interface muss im Kernel aktiviert sein. Hierfür muss die folgende Einstellung beim kompilieren des Kernels vorgenommen werden:</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>CONFIG_SYSCTL=y</PRE
></FONT
></TD
></TR
></TABLE
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1499"
>11.1.2.1. Wert anzeigen</A
></H4
><P
>Der Wert eines Eintrags kann nun angezeigt werden:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># sysctl net.ipv6.conf.all.forwarding
net.ipv6.conf.all.forwarding = 0</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1503"
>11.1.2.2. Wert einstellen</A
></H4
><P
>Ein neuer Wert kann wie folgt zugewiesen werden (wenn der Eintrag beschreibbar ist):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># sysctl -w net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.forwarding = 1</PRE
></FONT
></TD
></TR
></TABLE
><P
>Anmerkung: Verwenden Sie beim setzen eines Wertes keine Leerzeichen vor oder nach dem “=”. Sollten Sie mehrere Werte in einer Zeile angeben, müssen sie diese mit Anführungszeichen umgeben:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># sysctl -w net.ipv4.ip_local_port_range="32768 61000"
net.ipv4.ip_local_port_range = 32768 61000</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1509"
>11.1.2.3. Sonstiges</A
></H4
><P
>Anmerkung: Es gibt sysctl-Versionen im Umlauf, die anstelle des Punktes “.” einen slash “/” ausgeben.</P
><P
>Für weitere Details siehe die manpage von sysctl.</P
><P
>Hinweise: Um schnell einen Überblick über die Einstellungen zu bekommen, verwenden Sie einfach die Option “-a” (anzeigen aller Einträge) sowie das Tool “grep”.</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1514"
>11.1.3. Werte im /proc-Dateisystem</A
></H3
><P
>Es gibt im /proc-Dateisystem unterschiedliche Formate:</P
><P
></P
><UL
><LI
><P
>BOOLEAN: einfach eine “0” (falsch) oder eine “1” (wahr)</P
></LI
><LI
><P
>INTEGER: Wert ist eine Ganzzahl (kann auch eine unsigned int sein)</P
></LI
><LI
><P
>Kompliziertere Zeilen mit verschiedenen Werten: manchmal wir eine Header-Zeile mit angezeigt... Sie können aber auch weitere Informationen zu den Werten und deren Bedeutung direkt in den Kernel Quellen beziehen.</P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="PROC-SYS-NET-IPV6."
>11.2. Einträge in /proc/sys/net/ipv6/</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN1526"
>11.2.1. conf/default/*</A
></H3
><P
>Ändern der Interface-spezifischen Einstellungen.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1529"
>11.2.2. conf/all/*</A
></H3
><P
>Ändern aller Interface-spezifischen Einstellungen.</P
><P
>Ausnahme: “conf/all/forwarding” hat hier eine andere Bedeutung:</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1533"
>11.2.2.1. conf/all/forwarding</A
></H4
><P
></P
><UL
><LI
><P
>Typ: BOOLEAN</P
></LI
></UL
><P
>Hiermit wird die globale IPv6 Weiterleitung zwischen allen Interfaces aktiviert.</P
><P
>In IPv6 ist kein forwarding per Device möglich. Die Steuerung der Weiterleitung muss mittels IPv6-netfilter Regel-Sets (mit dem Programm ip6tables) und der Bestimmung der Ein- und Ausgabe-Devices (siehe <A
HREF="#FIREWALLING-NETFILTER6."
>Firewalling/Netfilter6</A
> für Details) vollzogen werden. In IPv4 ist das anders, forwarding per device ist hier möglich (hier wird am Interface, wo das Paket einlangt, die entsprechende Entscheidung getroffen).</P
><P
>Hiermit werden die Host/Router Einstellungen 'forwarding' aller Interfaces eingestellt (auch globales Forwarding genannt). Für weitere Details Siehe unten. </P
><P
>Ist der Wert gleich 0, dann ist IPv6 forwarding deaktiviert. Pakete verlassen in diesem Fall niemals ein anderes Interface (weder physikalische noch logische wie z.B. Tunnel).</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1543"
>11.2.3. conf/interface/*</A
></H3
><P
>Spezielle Einstellungen per Interface ändern.</P
><P
>Das funktionale Verhalten einzelner Einstellungen ist davon abhängig, ob lokales forwarding aktiviert ist oder nicht.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1547"
>11.2.3.1. accept_ra</A
></H4
><P
></P
><UL
><LI
><P
>Typ: BOOLEAN</P
></LI
><LI
><P
>Standardeinstellung: aktiviert, wenn lokales forwarding deaktiviert ist. Deaktiviert, wenn lokales forwarding aktiviert ist.</P
></LI
></UL
><P
>Router Advertisements werden akzeptiert; das Interface wird mit Status 'received data' automatisch konfiguriert.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1555"
>11.2.3.2. accept_redirects</A
></H4
><P
></P
><UL
><LI
><P
>Typ: BOOLEAN</P
></LI
><LI
><P
>Standardeinstellung: aktiviert, wenn lokales forwarding deaktiviert ist. Deaktiviert, wenn lokales forwarding aktiviert ist.</P
></LI
></UL
><P
>Akzeptiert von IPv6 Router gesendete Redirects.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1563"
>11.2.3.3. autoconf</A
></H4
><P
></P
><UL
><LI
><P
>Typ: BOOLEAN</P
></LI
><LI
><P
>Funktionale Standardeinstellung: aktiviert, wenn accept_ra_pinfo aktiv ist. Deaktiviert, wenn accept_ra_pinfo deaktiviert ist.</P
></LI
></UL
><P
>Autokonfiguriert Adressen unter Benutzung der Prefix-Information eines Router-Advertisements.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1571"
>11.2.3.4. dad_transmits</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 1</P
></LI
></UL
><P
>Die Anzahl der gesendeten Proben zum entdecken von Adress-Duplikaten. </P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1579"
>11.2.3.5. forwarding</A
></H4
><P
></P
><UL
><LI
><P
>Typ: BOOLEAN</P
></LI
><LI
><P
>Standardwert: FALSCH, wenn globale forwarding deaktiviert ist (Standard), ansonst WAHR</P
></LI
></UL
><P
>Konfigurieren von Interface-spezifischem Host/Router-Verhalten.</P
><P
>Anmerkung: Es wird die gleiche Konfiguration für alle Interfaces empfohlen; Gemischte Host/Router-Szenarios sind eher unüblich.</P
><P
></P
><UL
><LI
><P
>Wert FALSCH: Per Standard wird von einem Host-Verhalten ausgegangen. Das bedeutet:</P
></LI
></UL
><P
></P
><OL
TYPE="1"
><LI
><P
>Der Schalter IsRouter ist bei Router Advertisements nicht aktiviert.</P
></LI
><LI
><P
>Router-Anfragen werden bei Bedarf gesendet.</P
></LI
><LI
><P
>Wenn accept_ra WAHR ist (Standard), dann werden Router Advertisements akzeptiert (und starte die automatische Konfiguration).</P
></LI
><LI
><P
>Wenn accept_redirects WAHR ist (Standard), dann akzeptiere Redirects.</P
></LI
></OL
><P
></P
><UL
><LI
><P
>Wert WAHR: Ist lokales forwarding eingeschaltet, dann wird von einem Router-Verhalten ausgegangen. Das bedeutet genau das Gegenteil zu oben:</P
></LI
></UL
><P
></P
><OL
TYPE="1"
><LI
><P
>Der Schalter IsRouter ist bei Router Advertisements aktiviert.</P
></LI
><LI
><P
>Router-Anfragen werden nicht gesendet.</P
></LI
><LI
><P
>Router Advertisements werden ignoriert.</P
></LI
><LI
><P
>Redirects werden ignoriert.</P
></LI
></OL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1612"
>11.2.3.6. hop_limit</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 64</P
></LI
></UL
><P
>Der Standardwert für das Hop-Limit wird hiermit eingestellt.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1620"
>11.2.3.7. mtu</A
></H4
><P
></P
><UL
><LI
><P
>Type: INTEGER</P
></LI
><LI
><P
>Standardwert: 1280 (Minimumwert in IPv6)</P
></LI
></UL
><P
>Der Standardwert für die Maximum Transfer Unit wird hiermit eingestellt.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1628"
>11.2.3.8. router_solicitation_delay</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 1</P
></LI
></UL
><P
>Die Anzahl der nach der Aktivierung eines Interfaces zu wartenden Sekunden bevor Router-Anfragen gesendet werden.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1636"
>11.2.3.9. router_solicitation_interval</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 4</P
></LI
></UL
><P
>Die Anzahl der Sekunden zwischen Router-Anfragen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1644"
>11.2.3.10. router_solicitations</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 3</P
></LI
></UL
><P
>Die Anzahl der Router-Anfragen, bevor angenommen wird, dass keine Router verfügbar sind.</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1652"
>11.2.4. neigh/default/*</A
></H3
><P
>Standardeinstellungen der Neighbor-Erkennung und einige spezielle globale Intervall- sowie Threshold-Werte ändern:</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1655"
>11.2.4.1. gc_thresh1</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 128</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1663"
>11.2.4.2. gc_thresh2</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 512</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1671"
>11.2.4.3. gc_thresh3</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 1024</P
></LI
></UL
><P
>Parameter zum Einstellen der Größe der Neighbour-Tabelle.</P
><P
>Wenn Sie viele Interfaces und Probleme mit inkorrekt oder nicht funktionierenden Routen haben, dann sollten Sie diesen Wert erhöhen. Ebenfalls erhöhen sollten Sie den Wert, wenn von einem aktiven <A
HREF="http://www.zebra.org/"
TARGET="_top"
>Zebra (routing daemon)</A
> Folgendes angezeigt wird:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>ZEBRA: netlink-listen error: No buffer space available, type=RTM_NEWROUTE(24),
¬ seq=426, pid=0</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1682"
>11.2.4.4. gc_interval</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 30</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1690"
>11.2.5. neigh/interface/*</A
></H3
><P
>Per Interface ändern spezieller Einstellungen zur Neighbor-Erkennung.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1693"
>11.2.5.1. anycast_delay</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 100</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1701"
>11.2.5.2. gc_stale_time</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 60</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1709"
>11.2.5.3. proxy_qlen</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 64</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1717"
>11.2.5.4. unres_qlen</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 3</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1725"
>11.2.5.5. app_solicit</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 0</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1733"
>11.2.5.6. locktime</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 0</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1741"
>11.2.5.7. retrans_time</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 100</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1749"
>11.2.5.8. base_reachable_time</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 30</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1757"
>11.2.5.9. mcast_solicit</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 3</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1765"
>11.2.5.10. ucast_solicit</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 3</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1773"
>11.2.5.11. delay_first_probe_time</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 5</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1781"
>11.2.5.12. proxy_delay</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 80</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1789"
>11.2.6. route/*</A
></H3
><P
>Globale Routing-Einstellungen ändern.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1792"
>11.2.6.1. flush</A
></H4
><P
>In neueren Kernel-Versionen wurde diese Option entfernt - mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1795"
>11.2.6.2. gc_interval</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 30</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1803"
>11.2.6.3. gc_thresh</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 1024</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1811"
>11.2.6.4. mtu_expires</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 600</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1819"
>11.2.6.5. gc_elasticity</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 0</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1827"
>11.2.6.6. gc_min_interval</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 5</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1835"
>11.2.6.7. gc_timeout</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 60</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1843"
>11.2.6.8. min_adv_mss</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 12</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN1851"
>11.2.6.9. max_size</A
></H4
><P
></P
><UL
><LI
><P
>Typ: INTEGER</P
></LI
><LI
><P
>Standardwert: 4096</P
></LI
></UL
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="PROC-SYS-NET-IPV4."
>11.3. IPv6 relevante Einträge in /proc/sys/net/ipv4/</A
></H2
><P
>Zurzeit werden einige Schalter auch bei IPv6 eingesetzt (Dies bleibt so, bis IPv4 zur Gänze in ein unabhängiges Kernel-Modul umgewandelt wurde).</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1862"
>11.3.1. ip_*</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN1864"
>11.3.1.1. ip_local_port_range</A
></H4
><P
>Diese Kontrolleinstellung wird ebenfalls bei IPv6 verwendet.</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1867"
>11.3.2. tcp_*</A
></H3
><P
>Diese Kontrolleinstellungen werden ebenfalls bei IPv6 verwendet.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1870"
>11.3.3. icmp_*</A
></H3
><P
>Diese Kontrolleinstellungen werden bei IPv6 nicht verwendet. Zum aktivieren der ICMPv6 Quoten-Limitierung (auf Grund der ICMPv6 storms Auswirkungen sehr empfohlen) müssen netfilter-v6-Regeln eingesetzt werden.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1873"
>11.3.4. Sonstige Einträge</A
></H3
><P
>Keine bekannt, bzw. von IPv6 vermutlich ungenutzt.</P
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="PROC-NET"
>11.4. IPv6 relevante Einträge in /proc/net/</A
></H2
><P
>In /proc/net gibt es einige Einträge die ausschließlich Lese-Rechte besitzen. Mit “sysctl” können Sie hier keine Informationen bekommen, verwenden Sie anstelle dessen z.B. “cat”.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1879"
>11.4.1. if_inet6</A
></H3
><P
></P
><UL
><LI
><P
>Typ: Eine Zeile pro Adresse mit jeweils mehreren Werten</P
></LI
></UL
><P
>Alle konfigurierten IPv6 Adressen werden hier in einem speziellen Format angezeigt. Im Beispiel wird ein Loopback-Interface angezeigt. Die Werte werden unten erklärt (siehe “net/ipv6/addrconf.c” für Details).</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># cat /proc/net/if_inet6
00000000000000000000000000000001 01 80 10 80 lo
+------------------------------+ ++ ++ ++ ++ ++
| | | | | |
1 2 3 4 5 6</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><OL
TYPE="1"
><LI
><P
>IPv6 Adresse mit 32 hexadezimalen Zeichen ohne Doppelpunkte als Trennzeichen</P
></LI
><LI
><P
>Netlink Device Nummer (Interface Index) im hexadezimalen Format (siehe auch “ip addr”)</P
></LI
><LI
><P
>Präfix-Länge in hexadezimaler Notation</P
></LI
><LI
><P
>Wert des Gültigkeitsbereichs (s.a. Kernel Quellen “include/net/ipv6.h” und “net/ipv6/addrconf.c”)</P
></LI
><LI
><P
>Interface flags (s.a. “include/linux/rtnetlink.h” und “net/ipv6/addrconf.c”)</P
></LI
><LI
><P
>Devicename</P
></LI
></OL
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1899"
>11.4.2. ipv6_route</A
></H3
><P
></P
><UL
><LI
><P
>Typ: Eine Zeile pro Route mit jeweils mehreren Werten</P
></LI
></UL
><P
>Alle konfigurierten IPv6 Routen werden hier in einem speziellen Format angezeigt. Im Beispiel wird ein Loopback-Interface angezeigt. Die Werte werden unten erklärt (siehe “net/ipv6/route.c” für Details).</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># cat /proc/net/ipv6_route
00000000000000000000000000000000 00 00000000000000000000000000000000 00
+------------------------------+ ++ +------------------------------+ ++
| | | |
1 2 3 4
¬ 00000000000000000000000000000000 ffffffff 00000001 00000001 00200200 lo
¬ +------------------------------+ +------+ +------+ +------+ +------+ ++
¬ | | | | | |
¬ 5 6 7 8 9 10</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><OL
TYPE="1"
><LI
><P
>IPv6 Zielnetzwerk mit 32 hexadezimalen Zeichen ohne Doppelpunkte als Trennzeichen</P
></LI
><LI
><P
>IPv6 Ziel-Präfix-Länge in hexadezimaler Notation</P
></LI
><LI
><P
>IPv6 Ursprungsnetzwerk mit 32 hexadezimalen Zeichen ohne Doppelpunkte als Trennzeichen</P
></LI
><LI
><P
>IPv6 Ursprungs-Präfix-Länge in hexadezimaler Notation</P
></LI
><LI
><P
>IPv6 next Hop mit 32 hexadezimalen Zeichen ohne Doppelpunkte als Trennzeichen</P
></LI
><LI
><P
>Metrik in hexadezimaler Schreibweise</P
></LI
><LI
><P
>Reference Counter</P
></LI
><LI
><P
>Use Counter</P
></LI
><LI
><P
>Flags</P
></LI
><LI
><P
>Devicename</P
></LI
></OL
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1927"
>11.4.3. sockstat6</A
></H3
><P
></P
><UL
><LI
><P
>Typ: Eine Zeile pro Protokoll mit Beschreibung und Wert</P
></LI
></UL
><P
>Statistiken über verwendete IPv6 Sockets. Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># cat /proc/net/sockstat6
TCP6: inuse 7
UDP6: inuse 2
RAW6: inuse 1
FRAG6: inuse 0 memory 0</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1934"
>11.4.4. tcp6</A
></H3
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1937"
>11.4.5. udp6</A
></H3
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1940"
>11.4.6. igmp6</A
></H3
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1943"
>11.4.7. raw6</A
></H3
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1946"
>11.4.8. ip6_flowlabel</A
></H3
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1949"
>11.4.9. rt6_stats</A
></H3
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1952"
>11.4.10. snmp6</A
></H3
><P
></P
><UL
><LI
><P
>Typ: Eine Zeile pro SNMP Beschreibung und Wert</P
></LI
></UL
><P
>SNMP Statistiken; diese können mittels snmp server und entsprechender MIB Tabelle mit einer Network Management Software gewonnen werden.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1958"
>11.4.11. ip6_tables_names</A
></H3
><P
>Verfügbare netfilter6 Tabellen</P
></DIV
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="NETLINK"
></A
>Kapitel 12. Netlink-Interface zum Kernel</H1
><P
>Mehr Infos hierzu in späteren Versionen... der Autor hat hiermit keine Erfahrung...</P
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="RESOLVER"
></A
>Kapitel 13. Adress-Auflösung</H1
><P
></P
><P
>Zusätzliche Informationen sind hier zu finden</P
><P
></P
><UL
><LI
><P
><A
HREF="http://www.bieringer.de/linux/IPv6/getaddrinfo/"
TARGET="_top"
>Linux &#38; IPv6: getaddrinfo and search domains - Research</A
></P
></LI
><LI
><P
><A
HREF="http://people.redhat.com/drepper/linux-rfc3484.html"
TARGET="_top"
>RFC 3484 on Linux</A
> </P
></LI
><LI
><P
>Karl Auer's Blog: <A
HREF="http://biplane.com.au/blog/?p=30"
TARGET="_top"
>Controlling IPv6 source address selection</A
> , <A
HREF="http://biplane.com.au/blog/?p=22"
TARGET="_top"
>IPv6 Source Address Selection - what, why, how</A
></P
></LI
><LI
><P
>Into6: <A
HREF="http://into6.com.au/?p=288"
TARGET="_top"
>/etc/gai.conf - it ain't what you think it is</A
></P
></LI
></UL
><H2
CLASS="BRIDGEHEAD"
><A
NAME="AEN1982"
></A
>Address-Auflösung &#38; Ziel-Adressen-Auswahl</H2
><P
>Die Auflösung von Namen zu einer IPv4- bzw. IPv6-Adresse wird üblicherweise durch die Benutzung einer libc resolver Bibliothek durchgeführt. Dazu wird normalerweise die Funktion <EM
>getaddrinfo</EM
> benutzt. Im Fall, dass mehr als eine IPv6-Adresse zurückgegeben wird, soll nach <A
HREF="http://www.faqs.org/rfcs/rfc3484.html"
TARGET="_top"
>RFC 3484 / Default Address Selection for Internet Protocol version 6</A
> eine Sortierung angewandt werden, die optional auch konfiguriert werden kann.</P
><P
>Die “Magie” ist durch die Datei /etc/gai.conf konfigurierbar (welche fehlt oder leer ist, solange Standardwerte gelten sollen). Die vorgegebene Sortierung ist üblicherweise in der Dokumentation (z.B. /usr/share/doc/glibc-common/gai.conf) oder im Manual “man gai.conf” zu sehen.</P
><P
>Für die Kontrolle der Sortierung via benutzerdefinierter Konfiguration ist für Tests folgendes notwendig:</P
><P
></P
><UL
><LI
><P
>Ein Hostname im DNS, der mehr als eine IPv6-Adresse zurückgibt, z.B.</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>$ dig +short aaaa st1.bieringer.de
2001:4dd0:ff00:834::2
2a01:238:423d:8800:85b3:9e6b:3019:8909 </PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Lookup via DNS (mit /etc/hosts klappt es nicht)</P
></LI
><LI
><P
>/etc/gai.conf mit einer passenden Konfiguration, e.g.</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>precedence ::1/128 50 # default
precedence ::/0 40 # default
precedence 2002::/16 30 # default
precedence ::/96 20 # default
precedence ::ffff:0:0/96 10 # default
precedence 2001:4dd0:ff00:834::/64 80 # dst-A
precedence 2a01:238:423d:8800::/64 90 # dst-B</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Für Tests kann dann ein Telnet-Client benutzt werden:</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>$ telnet st1.bieringer.de
Trying 2a01:238:423d:8800:85b3:9e6b:3019:8909... (dst-B)
...
Trying 2001:4dd0:ff00:834::2... (dst-A)
...</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Wenn nun die precedence geändert wird in der Konfiguration:</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>precedence 2001:4dd0:ff00:834::/64 90 # dst-A ex 80
precedence 2a01:238:423d:8800::/64 80 # dst-B ex 90</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Dann ändert sich die Reihenfolge entsprechend</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>$ telnet st1.bieringer.de
Trying 2001:4dd0:ff00:834::2... (dst-A)
...
Trying 2a01:238:423d:8800:85b3:9e6b:3019:8909... (dst-B)
...</PRE
></FONT
></TD
></TR
></TABLE
><H2
CLASS="BRIDGEHEAD"
><A
NAME="AEN2010"
></A
>Quell-Addressen-Auswahl</H2
><P
>Source address selection in Linux wird automatisch vom Kernel vorgenommen, üblicherweise abhängig von den Routing-Tabellen und unter der Vorgabe, den Scope einer Adresse beizubehalten.</P
><H3
CLASS="BRIDGEHEAD"
><A
NAME="AEN2012"
></A
>Quell-Adressen-Auswahl mit “ip addrlabel”</H3
><P
>Mit einer Erweiterung der internen “ip addrlabel” Tabelle kann eine Quell-Adresse zu einer Ziel-Adresse gebunden werden. Bindung wird hier durch die Angabe des gleichen Labels (einer Nummer) konfiguriert.</P
><P
></P
><UL
><LI
><P
>Standard von “ip addrlabel” (hier von CentOS 6):</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip addrlabel
prefix ::1/128 label 0
prefix ::/96 label 3
prefix ::ffff:0.0.0.0/96 label 4
prefix 2001::/32 label 6
prefix 2001:10::/28 label 7
prefix 2002::/16 label 2
prefix fc00::/7 label 5
prefix ::/0 label 1 </PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Das System ist multihomed (hier an einem Interface), der Router verteilt 2 Präfixe mit Hilfe von radvd:</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip -6 addr show dev eth1 | grep -w inet6 |grep -w global
inet6 2001:6f8:12d8:2:5054:ff:fefb:6582/64 scope global dynamic (src-A)
inet6 2001:6f8:900:8cbc:5054:ff:fefb:6582/64 scope global dynamic (src-B)</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Eine Verbindung zum Server zeigt nun:</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>$ telnet st1.bieringer.de
Trying 2001:4dd0:ff00:834::2... (dst-A)
...
Trying 2a01:238:423d:8800:85b3:9e6b:3019:8909... (dst-B)
...</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Ein tcpdump mit filter “tcp and dst port 23” zeigt nur die Benutzung der oberen lokalen Quell-IPv6-Adresse</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>IP6 2001:6f8:12d8:2:5054:ff:fefb:6582.37762 &#62; 2001:4dd0:ff00:834::2.telnet: (src-A -&#62; dst-A)
IP6 2001:6f8:12d8:2:5054:ff:fefb:6582.45754 &#62; 2a01:238:423d:8800:85b3:9e6b:3019:8909.telnet: (src-A -&#62; dst-B)</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Wenn nun Quelle und Ziel mit Hilfe von “ip addrlabel” zusammengebunden werden:</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip addrlabel add prefix 2001:6f8:12d8:2::/64 label 200
# ip addrlabel add prefix 2001:6f8:900:8cbc::/64 label 300
# ip addrlabel add prefix 2001:4dd0:ff00:834::/64 label 200
# ip addrlabel add prefix 2a01:238:423d:8800::/64 label 300</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Was in folgender “ip addrlabel”resultiert:</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip addrlabel
prefix ::1/128 label 0
prefix ::/96 label 3
prefix ::ffff:0.0.0.0/96 label 4
prefix 2a01:238:423d:8800::/64 label 300 # dst-B
prefix 2001:4dd0:ff00:834::/64 label 200 # dst-A
prefix 2001:6f8:900:8cbc::/64 label 300 # src-B
prefix 2001:6f8:12d8:2::/64 label 200 # src-A
prefix 2001::/32 label 6
prefix 2001:10::/28 label 7
prefix 2002::/16 label 2
prefix fc00::/7 label 5
prefix ::/0 label 1 </PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Und dann nochmal eine Verbindung zum Server versucht wird</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>$ telnet st1.bieringer.de
Trying 2001:4dd0:ff00:834::2... (dst-A)
...
Trying 2a01:238:423d:8800:85b3:9e6b:3019:8909... (dst-B)
...</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>tcpdump mit filter “tcp and dst port 23” zeigt nun die Benutzung beider Quell-IPv6-Adressen wie konfiguriert</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>IP6 2001:6f8:12d8:2:5054:ff:fefb:6582.37765 &#62; 2001:4dd0:ff00:834::2.telnet: (src-A -&#62; dst-A)
IP6 2001:6f8:900:8cbc:5054:ff:fefb:6582.39632 &#62; 2a01:238:423d:8800:85b3:9e6b:3019:8909.telnet: (src-B -&#62; dst-B)</PRE
></FONT
></TD
></TR
></TABLE
><P
>Persistente Konfiguration von “ip addrtable” ist wahrscheinlich in aktuellen Linux-Distributionen nicht unterstützt, somit wäre eine Erweiterung der Netzwerk-Init-Scripts oder rc.local notwendig. Ein Skript, welches Informationen aus /etc/gai.conf in entsprechendes “ip addrtable” umwandelt, gibt es hier: <A
HREF="http://into6.com.au/?p=288"
TARGET="_top"
>/etc/gai.conf - it ain't what you think it is</A
></P
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="NETWORK-DEBUGGING"
></A
>Kapitel 14. Netzwerk-Fehlersuche</H1
><DIV
CLASS="SECT1"
><H2
CLASS="SECT1"
><A
NAME="AEN2050"
>14.1. Server Socket-Anbindung</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN2052"
>14.1.1. Überprüfung der Server Socket-Anbindung mit “netstat”</A
></H3
><P
>Es ist immer von Interesse welche Sockets eines Knotens gerade aktiv sind. Mit “netstat” können Sie die betreffenden Informationen abfragen:</P
><P
>Verwendete Optionen: -nlptu</P
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># netstat -nlptu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
¬ PID/Program name
tcp 0 0 0.0.0.0:32768 0.0.0.0:* LISTEN
¬ 1258/rpc.statd
tcp 0 0 0.0.0.0:32769 0.0.0.0:* LISTEN
¬ 1502/rpc.mountd
tcp 0 0 0.0.0.0:515 0.0.0.0:* LISTEN
¬ 22433/lpd Waiting
tcp 0 0 1.2.3.1:139 0.0.0.0:* LISTEN
¬ 1746/smbd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
¬ 1230/portmap
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
¬ 3551/X
tcp 0 0 1.2.3.1:8081 0.0.0.0:* LISTEN
¬ 18735/junkbuster
tcp 0 0 1.2.3.1:3128 0.0.0.0:* LISTEN
¬ 18822/(squid)
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN
¬ 30734/named
tcp 0 0 ::ffff:1.2.3.1:993 :::* LISTEN
¬ 6742/xinetd-ipv6
tcp 0 0 :::13 :::* LISTEN
¬ 6742/xinetd-ipv6
tcp 0 0 ::ffff:1.2.3.1:143 :::* LISTEN
¬ 6742/xinetd-ipv6
tcp 0 0 :::53 :::* LISTEN
¬ 30734/named
tcp 0 0 :::22 :::* LISTEN
¬ 1410/sshd
tcp 0 0 :::6010 :::* LISTEN
¬ 13237/sshd
udp 0 0 0.0.0.0:32768 0.0.0.0:*
¬ 1258/rpc.statd
udp 0 0 0.0.0.0:2049 0.0.0.0:*
¬ -
udp 0 0 0.0.0.0:32770 0.0.0.0:*
¬ 1502/rpc.mountd
udp 0 0 0.0.0.0:32771 0.0.0.0:*
¬ -
udp 0 0 1.2.3.1:137 0.0.0.0:*
¬ 1751/nmbd
udp 0 0 0.0.0.0:137 0.0.0.0:*
¬ 1751/nmbd
udp 0 0 1.2.3.1:138 0.0.0.0:*
¬ 1751/nmbd
udp 0 0 0.0.0.0:138 0.0.0.0:*
¬ 1751/nmbd
udp 0 0 0.0.0.0:33044 0.0.0.0:*
¬ 30734/named
udp 0 0 1.2.3.1:53 0.0.0.0:*
¬ 30734/named
udp 0 0 127.0.0.1:53 0.0.0.0:*
¬ 30734/named
udp 0 0 0.0.0.0:67 0.0.0.0:*
¬ 1530/dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:*
¬ 1530/dhcpd
udp 0 0 0.0.0.0:32858 0.0.0.0:*
¬ 18822/(squid)
udp 0 0 0.0.0.0:4827 0.0.0.0:*
¬ 18822/(squid)
udp 0 0 0.0.0.0:111 0.0.0.0:*
¬ 1230/portmap
udp 0 0 :::53 :::*
¬ 30734/named</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="EXAMPLES-TCPDUMP"
>14.2. tcpdump-Beispiele</A
></H2
><P
>Hier folgen einige Beispiele von (mit tcpdump) aufgezeichneten Paketen, die hoffentlich bei Ihrer Fehlersuche nützlich sein können.</P
><P
>... mehr Beispiele in den nächsten Versionen...</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2062"
>14.2.1. Router-Erkennung</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN2064"
>14.2.1.1. Router Advertisement</A
></H4
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>15:43:49.484751 fe80::212:34ff:fe12:3450 &#62; ff02::1: icmp6: router
¬ advertisement(chlim=64, router_ltime=30, reachable_time=0,
¬ retrans_time=0)(prefix info: AR valid_ltime=30, preffered_ltime=20,
¬ prefix=2002:0102:0304:1::/64)(prefix info: LAR valid_ltime=2592000,
¬ preffered_ltime=604800, prefix=2001:0db8:0:1::/64)(src lladdr:
¬ 0:12:34:12:34:50) (len 88, hlim 255)</PRE
></FONT
></TD
></TR
></TABLE
><P
>Der Router mit der link-lokalen Adresse “fe80::212:34ff:fe12:3450” sendet eine Ankündigung mit zwei Präfixes “2002:0102:0304:1::/64” (Lebensdauer 30s) und “2001:0db8:0:1::/64” (Lebensdauer 2592000s) sowie der eigenen Schicht 2 MAC Adresse “0:12:34:12:34:50” an die all-node-on-link Multicast Adresse “ff02::1”.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2068"
>14.2.1.2. Router Anfrage</A
></H4
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>15:44:21.152646 fe80::212:34ff:fe12:3456 &#62; ff02::2: icmp6: router solicitation
¬ (src lladdr: 0:12:34:12:34:56) (len 16, hlim 255)</PRE
></FONT
></TD
></TR
></TABLE
><P
>Der Knoten mit der link-lokalen Adresse “fe80:212:34ff:fe12:3456” und der Schicht 2 MAC Adresse “0:12:34:12:34:56” sucht nach einem Router und sendet hierfür diese Anfrage an die all-router-on-link Multicast Adresse “ff02::2”.</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2072"
>14.2.2. Neighbor-Erkennung</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN2074"
>14.2.2.1. Neighbor discovery solicitation zur Entdeckung doppelter Adressen</A
></H4
><P
>Folgende Pakete werden vom Knoten mit der Schicht 2 MAC Adresse “0:12:34:12:34:56” während der automatischen Konfiguration an die solicited-node link-lokale Multicast Adresse gesendet. Es wird überprüft, ob eine potentielle Adresse bereits von einem anderen Knoten am Link verwendet wird.</P
><P
></P
><UL
><LI
><P
>Der Knoten will seine link-lokale Adresse “fe80:212:34ff:fe12:3456” konfigurieren und überprüft auf Duplikate</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>15:44:17.712338 :: &#62; ff02::1:ff12:3456: icmp6: neighbor sol: who has
¬ fe80::212:34ff:fe12:3456(src lladdr: 0:12:34:12:34:56) (len 32, hlim 255)</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Der Knoten will seine globale Adresse “2002:0102:0304:1:212:34ff:fe12:3456” konfigurieren (nach Empfang eines Advertisements wie weiter oben abgebildet) und überprüft auf Duplikate</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>15:44:21.905596 :: &#62; ff02::1:ff12:3456: icmp6: neighbor sol: who has
¬ 2002:0102:0304:1:212:34ff:fe12:3456(src lladdr: 0:12:34:12:34:56) (len 32,
¬ hlim 255)</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Der Knoten will seine globale Adresse “2001:0db8:0:1:212:34ff:fe12:3456” konfigurieren (nach Empfang eines Advertisements wie weiter oben abgebildet) und überprüft auf Duplikate</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>15:44:22.304028 :: &#62; ff02::1:ff12:3456: icmp6: neighbor sol: who has
¬ 2001:0db8:0:1:212:34ff:fe12:3456(src lladdr: 0:12:34:12:34:56) (len 32, hlim
¬ 255)</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2089"
>14.2.2.2. Neighbor discovery solicitation zur Host oder Gateway-Suche</A
></H4
><P
></P
><UL
><LI
><P
>Der Knoten möchte Pakete an die Adresse “2001:0db8:0:1::10” senden, hat hierfür aber keine Schicht 2 MAC Adresse und sendet aus diesem Grund zuerst eine Anfrage</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>13:07:47.664538 2002:0102:0304:1:2e0:18ff:fe90:9205 &#62; ff02::1:ff00:10: icmp6:
¬ neighbor sol: who has 2001:0db8:0:1::10(src lladdr: 0:e0:18:90:92:5) (len 32,
¬ hlim 255)</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Der Knoten sucht nun nach der Adresse “fe80::10”</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>13:11:20.870070 fe80::2e0:18ff:fe90:9205 &#62; ff02::1:ff00:10: icmp6: neighbor
¬ sol: who has fe80::10(src lladdr: 0:e0:18:90:92:5) (len 32, hlim 255)</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-SUPPORT-PERSISTENT-CONFIGURATION"
></A
>Kapitel 15. Unterstützung einer ständigen IPv6-Konfiguration in Linux Distributionen</H1
><P
>Einige Linux-Distributionen unterstützen bereits eine permanente IPv6 Konfiguration. Hierbei werden sowohl bestehende oder als auch neue Konfiguration- und Skriptdateien verwendet sowie tlw. IPv4 Skripte abgeändert.</P
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN2102"
>15.1. Red Hat Linux und “Klone”</A
></H2
><P
>Seitdem der Autor begann das <A
HREF="http://www.bieringer.de/linux/IPv6/"
TARGET="_top"
>IPv6 &#38; Linux - HowTo</A
> zu schreiben, war es seine Absicht eine permanente IPv6 Konfiguration zu ermöglichen, wobei die gebräuchlichsten Anwendungsszenarien wie Host-only, Router-only, Dual-homed-host, Router mit einem zweiten Netzwerkstrang, normale Tunnel, 6to4 Tunnel, etc. abgedeckt sein sollten. Heute gibt es eine Sammlung von Konfigurations- und Skriptdateien, die genau diesem Zweck erfüllen (es wurden nie echte Probleme gemeldet, allerdings ist unbekannt von wie vielen Personen dieses Set benutzt wird). Diese Dateien werden von Zeit zu Zeit erweitert und es gibt inzwischen eine eigene Homepage hierfür: <A
HREF="http://www.deepspace6.net/projects/initscripts-ipv6.html"
TARGET="_top"
>initscripts-ipv6 homepage</A
> (<A
HREF="http://mirrors.bieringer.de/www.deepspace6.net/projects/initscripts-ipv6.html"
TARGET="_top"
>Spiegel</A
>). Da der Autor seine ersten Schritte mit IPv6 auf einem Red Hat Linux 5.0 Klon gemacht habe, basieren seine IPv6 Entwicklungssysteme heute zumeist auf Red Hat Linux und die Skriptdateien sind folglich primär für diese Distributionen gedacht. Es war ebenfalls sehr einfach bestehende Konfigurationsdateien zu erweitern, neue zu erstellen und den Start des IPv6 Setup in das IPv4 Setup einzubetten.</P
><P
>Erfreulicherweise beinhaltet Red Hat Linux seit der Version 7.1 die IPv6-Skripts des Autors. Unterstützt wurde dies und wird auch weiterhin von Pekka Savola.</P
><P
>Bei Mandrake ist ab Version 8.0 ebenfalls ein IPv6-fähiges initscript Paket beinhaltet, ein kleiner Fehler verhindert aber nach wie vor die Anwendung (“ifconfig” vermisst “inet6” vor “add”).</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2110"
>15.1.1. Test der IPv6-Unterstützung bei Netzwerk-Konfigurations-Scripts</A
></H3
><P
>Sie können überprüfen, ob Ihre Distribution eine permanente IPv6 Konfiguration unter Verwendung der Skript-Sammlung des Autors unterstützt. Folgende script library sollte existieren:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>/etc/sysconfig/network-scripts/network-functions-ipv6</PRE
></FONT
></TD
></TR
></TABLE
><P
>Automatischer Test:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># test -f /etc/sysconfig/network-scripts/network-functions-ipv6 &#38;&#38; echo "Main
¬ IPv6 script library exists"</PRE
></FONT
></TD
></TR
></TABLE
><P
>Die Versionsnummer der Library ist von Interesse, wenn Sie Features vermissen sollten. Die Versionsnummer können Sie anzeigen, indem Sie folgenden Befehl ausführen (einfacher ist es sicherlich, wenn Sie im Header der Datei nachlesen):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># source /etc/sysconfig/network-scripts/network-functions-ipv6 &#38;&#38;
¬ getversion_ipv6_functions
20011124</PRE
></FONT
></TD
></TR
></TABLE
><P
>Im obigen Beispiel ist die Versionsnummer 20011124. Um zu sehen, was sich inzwischen geändert hat, können Sie hier die neuesten Informationen nachlesen: <A
HREF="http://www.deepspace6.net/projects/initscripts-ipv6.html"
TARGET="_top"
>initscripts-ipv6 homepage</A
> (<A
HREF="http://mirrors.bieringer.de/www.deepspace6.net/projects/initscripts-ipv6.html"
TARGET="_top"
>Spiegel</A
>). Sie finden hier auch ein Change-Log.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2121"
>15.1.2. Kurze Anleitung zum aktivieren von IPv6 bei RHL 7.1, 7.2, 7.3, ...</A
></H3
><P
></P
><UL
><LI
><P
>Überprüfen Sie, ob das IPv6 Modul auf Ihrem System bereits geladen ist:</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># modprobe -c | grep net-pf-10
alias net-pf-10 off</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Ist das Ergebnis “off”, dann aktivieren Sie IPv6 durch hinzufügen folgender Zeile in /etc/sysconfig/network</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>NETWORKING_IPV6=yes</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Rebooten bzw. starten Sie das Netzwerk neu mit dem Befehl</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># service network restart</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Nun sollte das IPv6 Modul geladen sein</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># modprobe -c | grep ipv6
alias net-pf-10 ipv6</PRE
></FONT
></TD
></TR
></TABLE
><P
>Ist ihr System an einem Link, der Router Advertisements liefert, dann wird die automatische Konfiguration automatisch durchgeführt. Zusätzlich Informationen darüber, welche Einstellungen unterstützt werden finden Sie in der Datei /usr/share/doc/initscripts-$version/sysconfig.txt.</P
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN2140"
>15.2. SuSE Linux</A
></H2
><P
>Seit neueren 7.x Versionen gibt es eine wirklich rudimentäre Unterstützung für IPv6, siehe /etc/rc.config für Details.</P
><P
>Aufgrund der komplett unterschiedlichen Struktur der Konfigurations- und Scriptdateien ist es sehr schwer (oder unmöglich) das Set für Red Hat Linux und seine Klone mit dieser Distribution zu verwenden.
In Version 8.x wurde das Konfigurations-Setup bei SuSE komplett abgeändert.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2144"
>15.2.1. SuSE Linux 7.3</A
></H3
><P
></P
><UL
><LI
><P
><A
HREF="http://www.feyrer.de/IPv6/SuSE73-IPv6+6to4-setup.html"
TARGET="_top"
>How to setup 6to4 IPv6 with SuSE 7.3</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2150"
>15.2.2. SuSE Linux 8.0</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN2152"
>15.2.2.1. IPv6-Adress-Konfiguration</A
></H4
><P
>Editiere Datei /etc/sysconfig/network/ifcfg-&#60;Interface-Name&#62; und setze folgende Variable entsprechend</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>IP6ADDR="&#60;ipv6-Adresse&#62;/&#60;prefix&#62;"</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2156"
>15.2.2.2. Zusätzliche information</A
></H4
><P
>Siehe Datei /usr/share/doc/packages/sysconfig/README</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2159"
>15.2.3. SuSE Linux 8.1</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN2161"
>15.2.3.1. IPv6-Adress-Konfiguration</A
></H4
><P
>Editiere Datei /etc/sysconfig/network/ifcfg-&#60;Interface-Name&#62; und setze folgende Variable entsprechend</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>IPADDR="&#60;ipv6-Adresse&#62;/&#60;prefix&#62;"</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2165"
>15.2.3.2. Zusätzliche information</A
></H4
><P
>Siehe Datei /usr/share/doc/packages/sysconfig/Network </P
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="CONFIGURATION-DEBIAN-LINUX"
>15.3. Debian Linux</A
></H2
><P
>Folgende Information wurde von Stephane Bortzmeyer &#60;bortzmeyer at nic dot fr&#62; beigesteuert.</P
><P
></P
><OL
TYPE="1"
><LI
><P
>Überprüfe, ob IPv6 aktiv ist, entweder weil es in den Kernel hineinkompilier oder das Modul geladen wurde. Für die letzte Möglichkeit gibt es 3 Lösungen: Editieren der Datei /etc/modules, Benutzung des Features pre-up (siehe unten) oder Benutzung von kmod (wird hier nicht weiter erklärt).</P
></LI
><LI
><P
>Konfiguriere die Schnittstelle (hier im Beispiel: eth0). Editiere /etc/network/interfaces :</P
></LI
></OL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>iface eth0 inet6 static
pre-up modprobe ipv6
address 2001:0db8:1234:5::1:1
# To suppress completely autoconfiguration:
# up echo 0 &#62; /proc/sys/net/ipv6/conf/all/autoconf
netmask 64
# The router is autoconfigured and has no fixed address.
# It is magically
# found. (/proc/sys/net/ipv6/conf/all/accept_ra). Otherwise:
#gateway 2001:0db8:1234:5::1</PRE
></FONT
></TD
></TR
></TABLE
><P
>Danach rebooten oder folgendes Kommando ausführen</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ifup --force eth0</PRE
></FONT
></TD
></TR
></TABLE
><P
>Danach sollte die statische IPv6-Adresse konfiguriert sein. </P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2180"
>15.3.1. Weiterführende Informationen</A
></H3
><P
></P
><UL
><LI
><P
><A
HREF="http://ipv6.debian.net/"
TARGET="_top"
>IPv6 with Debian Linux</A
></P
></LI
><LI
><P
>Jean-Marc V. Liotier's <A
HREF="http://www.ruwenzori.net/ipv6/Jims_LAN_IPv6_global_connectivity_howto.html"
TARGET="_top"
>HOWTO for Freenet6 &#38; Debian Users</A
> (am 24.12.2002 in der <A
HREF="#INFORMATION-MAILLISTS"
>mailinglist</A
> users@ipv6.org angekündigt)</P
></LI
></UL
></DIV
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-AUTOCONFIGURATION"
></A
>Kapitel 16. Automatische Konfiguration</H1
><DIV
CLASS="SECT1"
><H2
CLASS="SECT1"
><A
NAME="AEN2192"
>16.1. Stateless Auto-Konfiguration (out-of-the-box)</A
></H2
><P
>Wird unterstützt und kann bei der zugewiesenen link-lokalen Adressen beobachtet werden, sobald ein IPv6 fähiges Interface aktiv ist.</P
><P
>Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip -6 addr show dev eth0 scope link
2: eth0: &#60;BROADCAST,MULTICAST,UP&#62; mtu 1500 qlen1000
inet6 fe80::211:d8ff:fe6b:f0f5/64 scope link
valid_lft forever preferred_lft forever </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN2197"
>16.2. Stateless Auto-Konfiguration unter Verwendung des Router Advertisement Daemon (radvd)</A
></H2
><P
>Mehr Infos hierzu in späteren Versionen. Siehe unten im Abschnitt <A
HREF="#HINTS-DAEMONS-RADVD"
>radvd daemon autoconfiguration</A
>.</P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN2201"
>16.3. Dynamic Host Configuration Protocol v6 (DHCPv6)</A
></H2
><P
>Nach einer langen Zeit der Diskussion wurde <A
HREF="http://www.faqs.org/rfcs/rfc3315.html"
TARGET="_top"
>RFC 3315 / Dynamic Host Configuration Protocol for IPv6 (DHCPv6)</A
> verabschiedet. Momentan (10/2005) existieren 2 Implementierungen:</P
><P
></P
><UL
><LI
><P
><A
HREF="http://klub.com.pl/dhcpv6/"
TARGET="_top"
>Dibbler</A
> von Tomasz Mrugalski &#60;thomson at klub dot com dot pl&#62;(<A
HREF="#HINTS-DAEMONS-DIBBLER"
>Tipps zur Konfiguration</A
>)</P
></LI
><LI
><P
><A
HREF="https://fedorahosted.org/dhcpv6/"
TARGET="_top"
>dhcpv6</A
> (<A
HREF="#HINTS-DAEMONS-DHCPV6."
>Tipps zur Konfiguration</A
>)</P
></LI
><LI
><P
><A
HREF="http://www.isc.org/software/dhcp"
TARGET="_top"
>ISC DHCP</A
> (<A
HREF="#HINTS-DAEMONS-ISC-DHCP"
>Tipps zur Konfiguration</A
>)</P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-MOBILITY"
></A
>Kapitel 17. Mobilität</H1
><DIV
CLASS="SECT1"
><H2
CLASS="SECT1"
><A
NAME="AEN2220"
>17.1. Allgemeines</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN2222"
>17.1.1. Mobilität eines Knotens (Node Mobility)</A
></H3
><P
>Die Unterstützung für IPv6-Mobilität in Linux kann durch die Installation der MIPL2-Implementierung aktviert werden, welche hier zu finden ist: <A
HREF="http://www.mobile-ipv6.org/"
TARGET="_top"
>http://www.mobile-ipv6.org/</A
></P
><P
>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.</P
><P
>Installation und Setup sind im <A
HREF="http://tldp.org/HOWTO/Mobile-IPv6-HOWTO/"
TARGET="_top"
>Linux Mobile IPv6 HOWTO</A
> beschrieben.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2229"
>17.1.2. Netzwerk-Mobililtät</A
></H3
><P
>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: <A
HREF="http://www.mobile-ipv6.org/"
TARGET="_top"
>http://www.mobile-ipv6.org/</A
>.</P
><P
>Folgendes HOWTO Dokument beschreibt Setup und Konfiguration: <A
HREF="http://www.nautilus6.org/doc/nepl-howto/"
TARGET="_top"
>http://www.nautilus6.org/doc/nepl-howto/</A
>.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2235"
>17.1.3. Links</A
></H3
><P
></P
><UL
><LI
><P
>Mobile IPv6 for Linux (MIPL) project: <A
HREF="http://www.mobile-ipv6.org/"
TARGET="_top"
>http://www.mobile-ipv6.org/</A
></P
></LI
><LI
><P
>Nautilus6 working group: <A
HREF="http://nautilus6.org/"
TARGET="_top"
>http://nautilus6.org/</A
></P
></LI
><LI
><P
>Fast Handovers for Mobile IPv6 for Linux project: <A
HREF="http://www.fmipv6.org/"
TARGET="_top"
>http://www.fmipv6.org/</A
></P
></LI
><LI
><P
>USAGI-patched Mobile IPv6 for Linux (UMIP):<A
HREF="http://umip.linux-ipv6.org/"
TARGET="_top"
>http://umip.linux-ipv6.org/</A
></P
></LI
><LI
><P
>Deploying IPsec/IKE-protected MIPv6 under Linux:<A
HREF="http://natisbad.org/MIPv6/"
TARGET="_top"
>http://natisbad.org/MIPv6/</A
></P
></LI
><LI
><P
><A
HREF="http://www.faqs.org/rfcs/rfc3775.html"
TARGET="_top"
>RFC 3775 / Mobility Support in IPv6</A
></P
></LI
><LI
><P
><A
HREF="http://www.faqs.org/rfcs/rfc3776.html"
TARGET="_top"
>RFC 3776 / Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents</A
></P
></LI
><LI
><P
><A
HREF="http://www.faqs.org/rfcs/rfc3963.html"
TARGET="_top"
>RFC 3963 / Network Mobility (NEMO)</A
></P
></LI
><LI
><P
><A
HREF="http://www.faqs.org/rfcs/rfc4068.html"
TARGET="_top"
>RFC 4068 / Fast Handovers for Mobile IPv6</A
></P
></LI
><LI
><P
><A
HREF="http://www.faqs.org/rfcs/rfc4423.html"
TARGET="_top"
>RFC 4423 / Host Identity Protocol (HIP) Architecture</A
></P
></LI
><LI
><P
><A
HREF="http://www.faqs.org/rfcs/rfc5201.html"
TARGET="_top"
>RFC 5201 / Host Identity Protocol</A
></P
></LI
><LI
><P
>HIP Implementierungen: <A
HREF="http://infrahip.hiit.fi/"
TARGET="_top"
>http://infrahip.hiit.fi/</A
>, <A
HREF="http://hip4inter.net/"
TARGET="_top"
>http://hip4inter.net/</A
>, <A
HREF="http://www.openhip.org/"
TARGET="_top"
>http://www.openhip.org/</A
></P
></LI
></UL
></DIV
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-FIREWALLING-SECURITY"
></A
>Kapitel 18. Firewall-Funktionalität</H1
><P
>Die IPv6 Firewall-Funktionalität ist wichtig; vor allem dann, wenn Sie auf Ihren internen Netzen IPv6 mit globalen IPv6 Adressen einsetzen. In IPv6 werden - im Unterschied zu IPv4, wo interne Hosts automatisch durch private IPv6 Adressen geschützt werden (<A
HREF="http://www.faqs.org/rfcs/rfc1918.html"
TARGET="_top"
>RFC 1918 / Address Allocation for Private Internets</A
> bzw. <A
HREF="http://www.google.com/search?q=apipa+microsoft"
TARGET="_top"
>Google search for Microsoft + APIPA</A
>) - globale Adressen verwendet und jeder mit IPv6-Anbindung kann alle internen Knoten, bei denen IPv6 aktiv ist, erreichen.</P
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="FIREWALLING-NETFILTER6."
>18.1. Firewall-Funktionalität mit netfilter6</A
></H2
><P
>Von Haus aus unterstützt wird die IPv6-Firewall-Funktionalität im Kernel erst ab Version 2.4+. In älteren 2.2+ Versionen können sie nur mit Protocol 41 das generelle Tunnel von IPv6-in-IPv4-Paketen filtern.</P
><P
>Achtung: Es gibt keine Garantie, dass die beschriebenen Regeln und Beispiele ihr System auch wirklich schützen können!</P
><P
>Beobachten Sie nach der Installation ihr Regelset, siehe Abschnitt <A
HREF="#IPV6-SECURITY-AUDITING"
>Abschnitt 19.3</A
>.</P
><P
>Kernels ab Version 2.6.20 (Februar 2007) unterstützen den IPv6-Verbindungsstatus (connection tracking) vollständig.</P
><P
>Kernels ab Version 3.9.0 (April 2013) unterstützen NAT für IPv6 in Verbindung mit ip6tables &#62;= 1.4.18</P
><P
>Kernels ab Version 3.13 (April 2014) unterstützen ein neues Framework namens: nftables</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2290"
>18.1.1. Weitere Informationen</A
></H3
><P
></P
><UL
><LI
><P
><A
HREF="http://www.netfilter.org/"
TARGET="_top"
>Netfilter project</A
></P
></LI
><LI
><P
><A
HREF="https://lists.netfilter.org/mailman/listinfo/netfilter"
TARGET="_top"
>maillist archive of netfilter users</A
></P
></LI
><LI
><P
><A
HREF="https://lists.netfilter.org/mailman/listinfo/netfilter-devel"
TARGET="_top"
>maillist archive of netfilter developers</A
></P
></LI
><LI
><P
><A
HREF="http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-kernel.html#netfilter6 "
TARGET="_top"
>Unofficial status informations</A
></P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN2305"
>18.2. Vorbereitung</A
></H2
><P
>Dies ist nur notwendig, wenn der mitgelieferte Kernel und Netfilter nicht den Ansprüchen genügt und neue Featurs bereits verfügbar sind, jedoch noch nicht beinhaltet.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2308"
>18.2.1. Quellen besorgen</A
></H3
><P
>Besorgen Sie sich den aktuellsten Kernel: <A
HREF="http://www.kernel.org/"
TARGET="_top"
>http://www.kernel.org/</A
></P
><P
>Besorgen Sie sich das aktuellste iptables Paket:</P
><P
></P
><UL
><LI
><P
>Source tarball (für Kernel Patches): <A
HREF="http://www.netfilter.org/"
TARGET="_top"
>http://www.netfilter.org/</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2317"
>18.2.2. Quellen entpacken</A
></H3
><P
>Wechseln Sie in das Source-Verzeichnis: </P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># cd /path/to/src </PRE
></FONT
></TD
></TR
></TABLE
><P
>Entpacken sie die Kernel-Quellen und vergeben diesen einen neuen Namen</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># tar z|jxf kernel-version.tar.gz|bz2
# mv linux linux-version-iptables-version+IPv6 </PRE
></FONT
></TD
></TR
></TABLE
><P
>Entpacken Sie die iptables Quellen</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># tar z|jxf iptables-version.tar.gz|bz2 </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2325"
>18.2.3. Neueste iptables/IPv6-relevante Patches den Kernel-Quellen hinzufügen</A
></H3
><P
>Wechseln Sie in das iptables Verzeichnis</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># cd iptables-version </PRE
></FONT
></TD
></TR
></TABLE
><P
>Fügen Sie relevante Patches hinzu</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># make pending-patches KERNEL_DIR=/path/to/src/linux-version-iptables-version/ </PRE
></FONT
></TD
></TR
></TABLE
><P
>Fügen Sie zusätzliche IPv6 relevante IPv6 Patches hinzu (die nach wie vor nicht im Standard-Kernel enthalten sind)</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># make patch-o-matic KERNEL_DIR=/path/to/src/linux-version-iptables-version/ </PRE
></FONT
></TD
></TR
></TABLE
><P
>Sagen Sie zu folgenden Optionen (iptables-1.2.2) Ja:</P
><P
></P
><UL
><LI
><P
>ah-esp.patch </P
></LI
><LI
><P
>masq-dynaddr.patch (nur benötigt bei Systemen mit dynamischer IP-Zuweisung am WAN mittels PPP oder PPPoE) </P
></LI
><LI
><P
>ipv6-agr.patch.ipv6 </P
></LI
><LI
><P
>ipv6-ports.patch.ipv6 </P
></LI
><LI
><P
>LOG.patch.ipv6 </P
></LI
><LI
><P
>REJECT.patch.ipv6 </P
></LI
></UL
><P
>Überprüfen Sie die Erweiterungen</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># make print-extensions
Extensions found: IPv6:owner IPv6:limit IPv6:mac IPv6:multiport</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2349"
>18.2.4. Konfiguration, kompilieren und Installation eines neues Kernels</A
></H3
><P
>Wechseln Sie zu den Kernel-Quellen</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># cd /path/to/src/linux-version-iptables-version/ </PRE
></FONT
></TD
></TR
></TABLE
><P
>Editieren Sie das Makefile</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>- EXTRAVERSION =
+ EXTRAVERSION = -iptables-version+IPv6-try </PRE
></FONT
></TD
></TR
></TABLE
><P
>Starten Sie configure und aktivieren Sie IPv6 relevante Optionen</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
> Code maturity level options
Prompt for development and/or incomplete code/drivers : yes
Networking options
Network packet filtering: yes
The IPv6 protocol: module
IPv6: Netfilter Configuration
IP6 tables support: module
All new options like following:
limit match support: module
MAC address match support: module
Multiple port match support: module
Owner match support: module
netfilter MARK match support: module
Aggregated address check: module
Packet filtering: module
REJECT target support: module
LOG target support: module
Packet mangling: module
MARK target support: module </PRE
></FONT
></TD
></TR
></TABLE
><P
>Konfigurieren Sie bei Bedarf Sonstiges abseits von IPv6.</P
><P
>Kompilieren und Installation: siehe Kapitel Kernel sowie andere HOWTOs.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2359"
>18.2.5. iptables neu kompilieren und installieren</A
></H3
><P
>Stellen Sie sicher, dass obige Kernel-Sourceverzeichnisstruktur unter /usr/src/linux liegt</P
><P
>Benennen sie das ältere Verzeichnis um</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># mv /usr/src/linux /usr/src/linux.old </PRE
></FONT
></TD
></TR
></TABLE
><P
>Erstellen Sie einen neuen symbolischen Link</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ln -s /path/to/src/linux-version-iptables-version /usr/src/linux </PRE
></FONT
></TD
></TR
></TABLE
><P
>Erstellen Sie ein neues SRPMS</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># rpm --rebuild /path/to/SRPMS/iptables-version-release.src.rpm </PRE
></FONT
></TD
></TR
></TABLE
><P
>Installieren Sie das neue iptables Paket (iptables + iptables-ipv6)</P
><P
></P
><UL
><LI
><P
>Bei RH 7.1 Systemen ist normalerweise eine ältere Version hiervon bereits installiert, verwenden Sie daher die Option “Freshen”:</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># rpm -Fhv /path/to/RPMS/cpu/iptables*-version-release.cpu.rpm </PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Ist keine ältere Version installiert, benutzen Sie die Option “install”:</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># rpm -ihv /path/to/RPMS/cpu/iptables*-version-release.cpu.rpm </PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Bei RH 6.2 Systemen ist normalerweise kein Kernel Version 2.4.x installiert und die Anforderungen sind demnach nicht gegeben. Benutzen Sie in diesem Fall “nodeps”:</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># rpm -ihv --nodeps /path/to/RPMS/cpu/iptables*-version-release.cpu.rpm </PRE
></FONT
></TD
></TR
></TABLE
><P
>Damit iptables die Libraries finden kann, ist es eventuell notwendig, einen symbolischen Link für die iptables Libraries zu erstellen:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ln -s /lib/iptables/ /usr/lib/iptables </PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN2383"
>18.3. Verwendung</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN2385"
>18.3.1. Unterstützung im Kernel</A
></H3
><P
>Laden Sie das Modul (falls dies im Kernel so kompiliert wurde):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># modprobe ip6_tables </PRE
></FONT
></TD
></TR
></TABLE
><P
>Überprüfen der IPv6-Unterstützung:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># [ ! -f /proc/net/ip6_tables_names ] &#38;&#38; echo "Current kernel doesn't support
¬ 'ip6tables' firewalling (IPv6)!" </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2391"
>18.3.2. Die Benützung von iptables lernen</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN2393"
>18.3.2.1. Auflistung aller netfilter Einträge</A
></H4
><P
></P
><UL
><LI
><P
>Kurze Auflistung:</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -L </PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Erweiterte Auflistung:</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -n -v --line-numbers -L </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2403"
>18.3.2.2. Auflistung angegebener Filter</A
></H4
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -n -v --line-numbers -L INPUT </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2406"
>18.3.2.3. Hinzufügen einer Log-Regel zum Input-Filter mit Optionen</A
></H4
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables --table filter --append INPUT -j LOG --log-prefix "INPUT:"
¬ --log-level 7 </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2409"
>18.3.2.4. Hinzufügen einer Drop-Regel zum Input-Filter</A
></H4
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables --table filter --append INPUT -j DROP </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2412"
>18.3.2.5. Löschen einer Regel mit Hilfe der Regelnummer</A
></H4
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables --table filter --delete INPUT 1 </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2415"
>18.3.2.6. Aktiviere die Auswertung des Verbindungsstatus (connection tracking)</A
></H4
><P
>Seit Kernel-Version 2.6.20 ist die Auswertung des IPv6-Verbindungsstatus gut unterstützt. Die bis dahin statuslosen Filterregeln sollten ersetzt werden..</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2419"
>18.3.2.7. ICMPv6 erlauben</A
></H4
><P
>Bei älteren Kernelversionen (unpatched kernel 2.4.5 und iptables-1.2.2) kann keine nähere Spezifizierung des ICMPv6-Typs vorgenommen werden:</P
><P
></P
><UL
><LI
><P
>Eingehender ICMPv6 Verkehr durch Tunnel erlauben</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -A INPUT -i sit+ -p icmpv6 -j ACCEPT </PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Ausgehenden ICMPv6 Verkehr durch Tunnel erlauben</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -A OUTPUT -o sit+ -p icmpv6 -j ACCEPT </PRE
></FONT
></TD
></TR
></TABLE
><P
>Neuere Kernel erlauben das Spezifizieren des ICMPv6-Typs:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -A INPUT -p icmpv6 --icmpv6-type echo-request -j ACCEPT</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2432"
>18.3.2.8. Rate-limiting</A
></H4
><P
>Da es zu einem ICMPv6 Storm kommen kann (der Autor hat dies bereits mehrfach beobachtet), sollten sie das rate limiting zumindest für das ICMP Regelset einsetzen. Zusätzlich sollten auch die Logging Regeln mit rate limiting geschützt werden, um DoS Attacken gegen das syslog sowie gegen die Logdateien enthaltenden Patitionen entgegenzuwirken. Ein Beispiel für ein rate limited ICMPv6 sieht wie folgt aus: </P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -A INPUT --protocol icmpv6 --icmpv6-type echo-request
¬ -j ACCEPT --match limit --limit 30/minute</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2436"
>18.3.2.9. Eingehende SSH-Verbindung erlauben</A
></H4
><P
>Im folgenden Beispiel werden eingehende SSH-Verbindungen von einer speziellen IPv6 Adresse zugelassen:</P
><P
></P
><UL
><LI
><P
>Eingehende SSH Verbindungen werden von der Adresse 2001:0db8:100::1/128 erlaubt</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -A INPUT -i sit+ -p tcp -s 2001:0db8:100::1/128 --sport 512:65535
¬ --dport 22 -j ACCEPT </PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Erlaube Antwortpakete (nicht mehr notwendig, wenn der IPv6-Verbindungsstatus ausgewertet wird!)</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -A OUTPUT -o sit+ -p tcp -d 2001:0db8:100::1/128 --dport 512:65535
¬ --sport 22 ! --syn -j ACCEPT </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2447"
>18.3.2.10. Getunnelten IPv6-in-IPv4 Datenverkehr erlauben</A
></H4
><P
>Um getunnelte IPv6-in-IPv4 Pakete zu akzeptieren, müssen Sie in Ihrem IPv4 Firewall-Setup entsprechende Regeln einzufügen, z.B.</P
><P
></P
><UL
><LI
><P
>Akzeptiere eingehende IPv6-in-IPv4 Daten am interface ppp0</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># iptables -A INPUT -i ppp0 -p ipv6 -j ACCEPT </PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Akzeptiere ausgehende IPv6-in-IPv4 Daten am interface ppp0</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># iptables -A OUTPUT -o ppp0 -p ipv6 -j ACCEPT </PRE
></FONT
></TD
></TR
></TABLE
><P
>Haben Sie nur einen statischen Tunnel, dann können sie die IPv4 Adresse auch dediziert angeben:</P
><P
></P
><UL
><LI
><P
>Akzeptiere eingehende IPv6-in-IPv4 Daten vom Tunnel-Endpunkt 192.0.2.2 am interface ppp0</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># iptables -A INPUT -i ppp0 -p ipv6 -s 192.0.2.2 -j ACCEPT </PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Akzeptiere ausgehende IPv6-in-IPv4 Daten vom Tunnel-Endpunkt 192.0.2.2 am interface ppp0</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># iptables -A OUTPUT -o ppp0 -p ipv6 -d 192.0.2.2 -j ACCEPT </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2467"
>18.3.2.11. Schutz gegen eingehende TCP-Verbindungs-Anfragen</A
></H4
><P
>SEHR EMPFOHLEN! Aus Sicherheitsgründen sollten Sie auf jeden Fall eine Regel inkludieren, wodurch eingehende TCP-Verbindungs-Anfragen geblockt werden. Wenn Sie andere Interfacenamen verwenden, müssen Sie die Option "-i" entsprechend anpassen! </P
><P
></P
><UL
><LI
><P
>Blockiere eingehende TCP-Verbindungs-Anfragen zu diesem Host</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -I INPUT -i sit+ -p tcp --syn -j DROP </PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Blockiere eingehende TCP-Verbindungs-Anfragen zu Hosts hinter diesem Router</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -I FORWARD -i sit+ -p tcp --syn -j DROP </PRE
></FONT
></TD
></TR
></TABLE
><P
>Eventuell müssen diese Regeln unterhalb anderer Regeln platziert werden. Nehmen Sie sich für die Reihenfolge der Regeln etwas Zeit. Sinnvoll wird es auch sein, ein Script mit den Regeln zu erstellen, damit die Regeln in der gewünschten Reihenfolge angewendet werden.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2479"
>18.3.2.12. Schutz gegen eingehende UDP-Verbindungs-Anfragen</A
></H4
><P
>EBENFALLS SEHR EMPHOLEN! Wie bereits im Kapitel Firewall erwähnt, ist es möglich die Ports bei ausgehenden UDP/TCP-Verbindungen zu kontrollieren. Im Falle, dass all Ihre IPv6 Systeme lokale Ports verwenden, z.B. von 32768 bis 60999, dann können sie ebenfalls UDP Verbindungen filtern (bis das Verbindungs-Tracking funktioniert):</P
><P
></P
><UL
><LI
><P
>Blockiere eingehende UDP-Pakete, die nicht Antworten ausgehender Anfragen dieses Host sein können</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -I INPUT -i sit+ -p udp ! --dport 32768:60999 -j DROP </PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Blockiere eingehende UDP-Pakete, die nicht Antworten auf Anfragen von hinter diesem Router gelegenen Hosts sein können</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -I FORWARD -i sit+ -p udp ! --dport 32768:60999 -j DROP </PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2490"
>18.3.3. Anwendungsbeispiele</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN2492"
>18.3.3.1. Einfaches Beispiel für Fedora</A
></H4
><P
>Folgende Zeilen zeigen eine einfache Firewall-Konfiguration für Fedora 6 (ab Kernel-Version 2.6.20). Ausgehend von dem Origina (generiert durch system-config-firewall) wurden Modifikationen für die Unterstützung des Verbindungsstatus und der Rückgabe der passenden ICMPv6-Meldung für Rejects. Eingehende SSH (Port 22) Verbindungen sind erlaubt.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>Datei: /etc/sysconfig/ip6tables
*filter :INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmpv6 -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d ff02::fb -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp6-adm-prohibited
COMMIT </PRE
></FONT
></TD
></TR
></TABLE
><P
>Zwecks der Vollständigkeit ist hier auch die entsprechende Konfiguration für IPv4 gezeigt:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>Datei: /etc/sysconfig/iptables
*filter :INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT </PRE
></FONT
></TD
></TR
></TABLE
><P
>Benutzung:</P
><P
></P
><UL
><LI
><P
>Erzeugen/Modifizieren der Konfigurationsdateien</P
></LI
><LI
><P
>Aktivieren von IPv4 &#38; IPv6 Firewalling</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># service iptables start
# service ip6tables start</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Aktivieren des automatischen Starts nach dem Reboot</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># chkconfig iptables on
# chkconfig ip6tables on</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2509"
>18.3.3.2. Umfangreicheres Beispiel</A
></H4
><P
>Folgende Zeilen zeigen ein umfangreicheres Setup. Happy netfilter6 Regelset erstellen...</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -n -v -L
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 extIN all sit+ * ::/0 ::/0
4 384 intIN all eth0 * ::/0 ::/0
0 0 ACCEPT all * * ::1/128 ::1/128
0 0 ACCEPT all lo * ::/0 ::/0
0 0 LOG all * * ::/0 ::/0
¬ LOG flags 0 level 7 prefix `INPUT-default:'
0 0 DROP all * * ::/0 ::/0
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
¬
0 0 int2ext all eth0 sit+ ::/0 ::/0
0 0 ext2int all sit+ eth0 ::/0 ::/0
0 0 LOG all * * ::/0 ::/0
¬ LOG flags 0 level 7 prefix `FORWARD-default:'
0 0 DROP all * * ::/0 ::/0
Chain OUTPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
¬
0 0 extOUT all * sit+ ::/0 ::/0
4 384 intOUT all * eth0 ::/0 ::/0
0 0 ACCEPT all * * ::1/128 ::1/128
0 0 ACCEPT all * lo ::/0 ::/0
0 0 LOG all * * ::/0 ::/0
¬ LOG flags 0 level 7 prefix `OUTPUT-default:'
0 0 DROP all * * ::/0 ::/0
Chain ext2int (1 references)
pkts bytes target prot opt in out source destination
¬
0 0 ACCEPT icmpv6 * * ::/0 ::/0
0 0 ACCEPT tcp * * ::/0 ::/0
¬ tcp spts:1:65535 dpts:1024:65535 flags:!0x16/0x02
0 0 LOG all * * ::/0 ::/0
¬ LOG flags 0 level 7 prefix `ext2int-default:'
0 0 DROP tcp * * ::/0 ::/0
0 0 DROP udp * * ::/0 ::/0
0 0 DROP all * * ::/0 ::/0
Chain extIN (1 references)
pkts bytes target prot opt in out source destination
¬
0 0 ACCEPT tcp * * 3ffe:400:100::1/128 ::/0
¬ tcp spts:512:65535 dpt:22
0 0 ACCEPT tcp * * 3ffe:400:100::2/128 ::/0
¬ tcp spts:512:65535 dpt:22
0 0 ACCEPT icmpv6 * * ::/0 ::/0
0 0 ACCEPT tcp * * ::/0 ::/0
¬ tcp spts:1:65535 dpts:1024:65535 flags:!0x16/0x02
0 0 ACCEPT udp * * ::/0 ::/0
¬ udp spts:1:65535 dpts:1024:65535
0 0 LOG all * * ::/0 ::/0
¬ limit: avg 5/min burst 5 LOG flags 0 level 7 prefix `extIN-default:'
0 0 DROP all * * ::/0 ::/0
Chain extOUT (1 references)
pkts bytes target prot opt in out source destination
¬
0 0 ACCEPT tcp * * ::/0
¬ 2001:0db8:100::1/128tcp spt:22 dpts:512:65535 flags:!0x16/0x02
0 0 ACCEPT tcp * * ::/0
¬ 2001:0db8:100::2/128tcp spt:22 dpts:512:65535 flags:!0x16/0x02
0 0 ACCEPT icmpv6 * * ::/0 ::/0
0 0 ACCEPT tcp * * ::/0 ::/0
¬ tcp spts:1024:65535 dpts:1:65535
0 0 ACCEPT udp * * ::/0 ::/0
¬ udp spts:1024:65535 dpts:1:65535
0 0 LOG all * * ::/0 ::/0
¬ LOG flags 0 level 7 prefix `extOUT-default:'
0 0 DROP all * * ::/0 ::/0
Chain int2ext (1 references)
pkts bytes target prot opt in out source destination
¬
0 0 ACCEPT icmpv6 * * ::/0 ::/0
0 0 ACCEPT tcp * * ::/0 ::/0
¬ tcp spts:1024:65535 dpts:1:65535
0 0 LOG all * * ::/0 ::/0
¬ LOG flags 0 level 7 prefix `int2ext:'
0 0 DROP all * * ::/0 ::/0
0 0 LOG all * * ::/0 ::/0
¬ LOG flags 0 level 7 prefix `int2ext-default:'
0 0 DROP tcp * * ::/0 ::/0
0 0 DROP udp * * ::/0 ::/0
0 0 DROP all * * ::/0 ::/0
Chain intIN (1 references)
pkts bytes target prot opt in out source destination
¬
0 0 ACCEPT all * * ::/0
¬ fe80::/ffc0::
4 384 ACCEPT all * * ::/0 ff02::/16
Chain intOUT (1 references)
pkts bytes target prot opt in out source destination
¬
0 0 ACCEPT all * * ::/0
¬ fe80::/ffc0::
4 384 ACCEPT all * * ::/0 ff02::/16
0 0 LOG all * * ::/0 ::/0
¬ LOG flags 0 level 7 prefix `intOUT-default:'
0 0 DROP all * * ::/0 ::/0 </PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="NAT-NETFILTER6."
>18.4. Network Address Translation (NAT) mit netfilter6</A
></H2
><P
>Seit mindestens Linux Kernel-Version 3.9.0 und ip6tables ab 1.4.18 kann Network Address Translation (NAT) genutzt werden.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2516"
>18.4.1. IPv6 Maskierung</A
></H3
><P
>Wie bei IPv4 können Systeme hinter einem Router versteckt werden mit Hilfe von IPv6 Maskierung (hide/overlap NAT), z.B.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -t nat -A POSTROUTING -o sixxs -s fec0::/64 -j MASQUERADE</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2520"
>18.4.2. IPv6 Destination NAT</A
></H3
><P
>Eine dedizierte öffentliche IPv6-Adresse kann zu einer internen IPv6-Adresse weitergeleitet werden, z.B.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -t nat -A PREROUTING -d 2001:db8:0:1:5054:ff:fe01:2345 -i sixxs -j DNAT --to-destination fec0::5054:ff:fe01:2345</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2524"
>18.4.3. IPv6 Port Weiterleitung</A
></H3
><P
>Ein dedizierter Port kann zu einem internen System weitergeleitet werden, z.B.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -t nat -A PREROUTING -i sixxs -p tcp --dport 8080 -j DNAT --to-destination [fec0::1234]:80</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN2528"
>18.5. Firewall-Setup mit nftables</A
></H2
><P
>Mit nftables wurde die Unterstützung einer Tabelle names “inet” eingeführt in welcher Regeln für IPv4/IPv6 gleichzeitig gelten</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2531"
>18.5.1. Präparation zur Nutzung von nftables</A
></H3
><P
>Installieren einer Linux-Distribution, welche die Unterstützung für nftables bereits eingebaut hat. Beim Schreiben dieses Absatzes (Mai 2014) war mindestens Fedora Rawhide (Vorläufer der Version 21) mit entsprechendem Support und nftables version 0.2.0 versehen.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2534"
>18.5.2. Basis-nftables Konfiguration</A
></H3
><P
>Laden der Kernel-Module:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># modprobe nf_tables
# modprobe nf_tables_ipv4
# modprobe nf_tables_ipv6
# modprobe nf_tables_inet </PRE
></FONT
></TD
></TR
></TABLE
><P
>Löschen der Regeln in iptables and ip6tables um Interferenzen zu vermeiden:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># iptables -F
# ip6tables -F</PRE
></FONT
></TD
></TR
></TABLE
><P
>Erzeugen der Filter-Tabelle:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># nft add table inet filter </PRE
></FONT
></TD
></TR
></TABLE
><P
>Erzeugen einer input chain in der Filter-Tabelle:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># nft add chain inet filter input { type filter hook input priority 0 \; }</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2544"
>18.5.3. Einfache Filter-Policy mit nftables</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN2546"
>18.5.3.1. Konfiguration</A
></H4
><P
>Erlauben von Paketen, die zu existierenden Einträgen in der Connection-Tracking-Tabelle gehören</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># nft add rule inet filter input ct state established,related counter accept </PRE
></FONT
></TD
></TR
></TABLE
><P
>Erlauben von IPv4 und IPv6 ICMP echo-request (aka ping)</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># nft add rule inet filter input meta nfproto ipv4 icmp type { echo-request } counter accept
# nft add rule inet filter input meta nfproto ipv6 icmpv6 type echo-request counter accept </PRE
></FONT
></TD
></TR
></TABLE
><P
>Erlauben einiger wichtiger IPv6 ICMP Pakete, ohne Zähler, dafür mit Hop-Limit-Prüfung (erhöht die Sicherheit)</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># nft add rule inet filter input meta nfproto ipv6
¬ icmpv6 type { nd-neighbor-advert, nd-neighbor-solicit, nd-router-advert} ip6 hoplimit 1 accept
# nft add rule inet filter input meta nfproto ipv6
¬ icmpv6 type { nd-neighbor-advert, nd-neighbor-solicit, nd-router-advert} ip6 hoplimit 255 counter accept</PRE
></FONT
></TD
></TR
></TABLE
><P
>Erlauben von eingehenden SSH-Verbindungen für IPv4 und IPv6</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># nft add rule inet filter input tcp dport 22 ct state new tcp flags \&#38; \(syn \| ack\) == syn counter accept</PRE
></FONT
></TD
></TR
></TABLE
><P
>Reject/drop anderer Pakete</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># nft add rule inet filter input tcp dport 0-65535 reject
# nft add rule inet filter input udp dport 0-65535 counter drop
# nft add rule inet filter input counter drop</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2558"
>18.5.3.2. Ergebnis</A
></H4
><P
>Tabelle für IP unabhängigen Filter</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>table inet filter {
chain input {
type filter hook input priority 0;
ct state established,related counter packets 0 bytes 0 accept
ip protocol icmp icmp type { echo-request} counter packets 0 bytes 0 accept
ip6 nexthdr ipv6-icmp icmpv6 type echo-request counter packets 0 bytes 0 accept
ip6 nexthdr ipv6-icmp ip6 hoplimit 1 icmpv6 type { nd-neighbor-advert, nd-neighbor-solicit, nd-router-advert} accept
ip6 nexthdr ipv6-icmp ip6 hoplimit 255 icmpv6 type { nd-neighbor-advert, nd-neighbor-solicit, nd-router-advert} accept
tcp dport ssh ct state new tcp flags &#38; (syn | ack) == syn counter packets 0 bytes 0 accept
tcp dport &#62;= 0 tcp dport &#60;= 65535 counter packets 0 bytes 0 reject
udp dport &#62;= 0 udp dport &#60;= 65535 counter packets 0 bytes 0 drop
log prefix counter packets 0 bytes 0 drop
}
} </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2562"
>18.5.3.3. Tipps für's Loggen</A
></H4
><P
>Für Logging wird ein zusätzliches Kernelmodul benötigt:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># modprobe xt_LOG</PRE
></FONT
></TD
></TR
></TABLE
><P
>ACHTUNG, MOMENTAN KANN DER LOG-LEVEL NICHT ANGEGEBEN WERDEN, dadurch werden nftables-Ereignisse mit Log-Level kern.emerg ausgegeben - ES BESTEHT DIE GEFAHR, DASS DIE KONSOLE DADURCH ÜBERFLUTET WIRD!</P
><P
>Für erste Tests mit der Log-Option kann es nützlich sein, das Loggens für emergency-Ereignisse in z.B. /etc/rsyslog.conf zu deaktivieren mit Hilfe eines “#” am Anfang der Zeile und Neustart des logging-Daemons</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>#*.emerg :omusrmsg:* </PRE
></FONT
></TD
></TR
></TABLE
><P
>Regel von oben, welche SSH auf Port 22 erlaubt, nun mit Logging:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># nft add rule inet filter input tcp dport 22 ct state new tcp flags \&#38; \(syn \| ack\) == syn log prefix \"inet/input/accept: \" counter accept</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2571"
>18.5.4. Filter-Policy mit nftables unter Benutzung der Tablellen “ip”, “ip6” und “inet”</A
></H3
><P
>Wie oben schon beschrieben, wenn die Regeln in den einzelnen Tabellen konfiguriert werden, muss gesichert sein, dass frühere “accepts” nicht aufgehoben werden. Eine einfache Lösung ist die Benutzung von Markierungen. Regeln, die Pakete erlauben, setzen die Marke mit “meta mark set xxxx”. Eine generische Regel erlaubt Pakete mit gesetzter Marke “mark xxxx”. Beispiel für ein resultierendes Filter-Regelwerk:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># for table in ip ip6 inet; do nft list table $table filter; done
table ip filter {
chain input {
type filter hook input priority 0;
ct state established,related counter packets 241 bytes 25193 accept
counter packets 2 bytes 120 mark 0x00000100 accept
icmp type { echo-request} counter packets 0 bytes 0 meta mark set 0x00000100 accept
}
}
table ip6 filter {
chain input {
type filter hook input priority 0;
ct state established,related counter packets 14 bytes 4077 accept
counter packets 4 bytes 408 mark 0x00000100 accept
icmpv6 type echo-request counter packets 1 bytes 104 meta mark set 0x00000100
icmpv6 type { nd-neighbor-advert, nd-neighbor-solicit, nd-router-advert} counter packets 2 bytes 224 meta mark set 0x00000100 accept
}
}
table inet filter {
chain input {
type filter hook input priority 0;
ct state established,related counter packets 307 bytes 31974 accept
counter packets 6 bytes 528 mark 0x00000100 accept
tcp dport ssh ct state new tcp flags &#38; (syn | ack) == syn log prefix "inet/input/accept: " meta mark set 0x00000100 counter packets 3 bytes 200 accept
log prefix "inet/input/reject: " counter packets 0 bytes 0 reject
}
}</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-SECURITY"
></A
>Kapitel 19. Sicherheit</H1
><DIV
CLASS="SECT1"
><H2
CLASS="SECT1"
><A
NAME="AEN2577"
>19.1. Sicherheit des Knoten</A
></H2
><P
>Es wird sehr empfohlen alle verfügbaren Patches einzuspielen sowie alle nicht benötigten Dienste zu deaktivieren. Ebenfalls sollten Sie lokales firewalling aktivieren und binden Sie die Dienste ausschließlich an benötigte IPv4/IPv6 Adressen.</P
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN2581"
>19.2. Zugangsbeschränkungen</A
></H2
><P
>Viele Dienste setzen die tcp_wrapper Bibliothek für die Zugangskontrolle ein. Eine Beschreibung finden Sie unter <A
HREF="#HINTS-DAEMONS-TCPWRAPPER"
>use of tcp_wrapper</A
>.</P
><P
>Mehr Infos hierzu in späteren Versionen.</P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="IPV6-SECURITY-AUDITING"
>19.3. IPv6 Sicherheitsüberwachung</A
></H2
><P
>Aktuell gibt es keine komfortablen Sicherheitstools mit denen man ein System über ein Netzwerk nach IPv6 relevanten Sicherheitslücken hin überprüfen kann. Weder <A
HREF="http://www.nessus.org/"
TARGET="_top"
>Nessus</A
> noch irgendein kommerzieller Security Scanner ist zur Zeit dazu in der Lage, IPv6-Adressen scannen zu können.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2590"
>19.3.1. Rechtsfragen</A
></H3
><P
>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.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2593"
>19.3.2. Sicherheitsüberwachung mit IPv6 fähigen netcat</A
></H3
><P
>Mit dem IPv6 fähigen netcat (siehe <A
HREF="http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-apps.html#security-auditing"
TARGET="_top"
>IPv6+Linux-status-apps/security-auditing</A
> für Details) können Sie einen Portscan durchführen. Es wird ein Script abgearbeitet, wobei u.a. ein Port-Bereich überprüft und Banners mitprotokolliert werden. Anwendungsbeispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># nc6 ::1 daytime
13 JUL 2002 11:22:22 CEST</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2598"
>19.3.3. Sicherheitsüberwachung mit IPv6 fähigen NMap</A
></H3
><P
><A
HREF="http://www.insecure.org/nmap/"
TARGET="_top"
>NMap</A
>, einer der weltweit besten Portscanner, unterstützt IPv6 seit der Version 3.10ALPHA1. Anwendungsbeispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># nmap -6 -sT ::1
Starting nmap V. 3.10ALPHA3 ( www.insecure.org/nmap/ )
Interesting ports on localhost6 (::1):
(The 1600 ports scanned but not shown below are in state: closed)
Port State Service
22/tcp open ssh
53/tcp open domain
515/tcp open printer
2401/tcp open cvspserver
Nmap run completed -- 1 IP address (1 host up) scanned in 0.525 seconds</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2603"
>19.3.4. Sicherheitsüberprüfung IPv6 fähigen strobe</A
></H3
><P
>Strobe ist (im Vergleich zu NMap) ein low budget Portscanner. Allerdings gibt es für Strobe einen IPv6 Patch (siehe <A
HREF="http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-apps.html#security-auditing"
TARGET="_top"
>IPv6+Linux-status-apps/security-auditing</A
> für Details). Anwendungsbeispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ./strobe ::1 strobe 1.05 (c) 1995-1999 Julian Assange &#60;proff@iq.org&#62;.
::1 2401 unassigned unknown
::1 22 ssh Secure Shell - RSA encrypted rsh
::1 515 printer spooler (lpd)
::1 6010 unassigned unknown
::1 53 domain Domain Name Server</PRE
></FONT
></TD
></TR
></TABLE
><P
>Hinweis: strobe wird nicht wirklich weiterentwickelt, die abgebildete Versionsnummer ist zudem falsch.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2609"
>19.3.5. Sicherheitsüberprüfung mit Online-Werkzeugen</A
></H3
><P
>Es gibt einige IPv6-fähige Online-Werkzeuge, welche das Testen einer Firewall-Konfiguration bzgl. eingehenden Verbindungen unterstützen können:</P
><P
></P
><UL
><LI
><P
><A
HREF="http://ipv6.chappell-family.com/ipv6tcptest/"
TARGET="_top"
>Tim's Online IPv6 TCP/UDP Port Scanner</A
></P
></LI
><LI
><P
><A
HREF="http://www.subnetonline.com/pages/ipv6-network-tools/online-ipv6-port-scanner.php"
TARGET="_top"
>SubnetOnline IPv6 Scanner</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2619"
>19.3.6. Überprüfungsergebnisse</A
></H3
><P
>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 <A
HREF="#FIREWALLING-NETFILTER6."
>Firewalling/Netfilter6</A
> für Details). </P
><P
>Hinweis: Detailliertere Informationen zum Thema IPv6 Sicherheit finden Sie unter folgenden Links:</P
><P
></P
><UL
><LI
><P
><A
HREF="http://www.ietf.org/ids.by.wg/v6ops.html"
TARGET="_top"
>IETF drafts - IPv6 Operations (v6ops)</A
></P
></LI
><LI
><P
><A
HREF="http://www.faqs.org/rfcs/rfc3964.html"
TARGET="_top"
>RFC 3964 / Security Considerations for 6to4</A
></P
></LI
></UL
></DIV
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-ENCRYPTION-AUTHENTICATION"
></A
>Kapitel 20. Verschlüsselung und Authentifizierung</H1
><P
>Zum Unterschied zu IPv4 ist die Verschlüsselung und die Authentifizierung ein zwingendes Feature bei IPv6. Diese Features werden normalerweise mit IPsec implementiert (das auch von IPv4 verwendet wird). </P
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN2634"
>20.1. Nutzungsarten von Verschlüsselung und Authentifizierung</A
></H2
><P
>Zwei Arten von Verschlüsselung und Authentifzierung einer Verbindung sind möglich:</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2637"
>20.1.1. Transport-Modus</A
></H3
><P
>Der Transport-Modus ist ein Modus nur für Ende-zu-Ende-Verbindungen. Hier wird nur die Nutzlast (üblicherweise ICMP, TCP oder UDP) mit deren entsprechenden Headern verschlüsselt, wogegen der IP-Header nicht verschlüsselt wird (aber üblicherweise in die Authentifizierung eingebunden wird).</P
><P
>Bei Nutzung von AES-128 für Verschlüsselung und SHA1 für Authentifizierung reduziert dieser Modus die MTU um 42 Oktetts.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2641"
>20.1.2. Tunnel-Modus</A
></H3
><P
>Der Tunnel-Modus kann einerseits für eine Ende-zu-Ende wie auch für eine Gatewas-zu-Gateway-Verbindung genutzt werden. Hier wird das komplette IP-Paket verschlüsselt und ein neuer IP-Header vorangestellt .</P
><P
>Dieser Modus reduziert die MTU um weitere 40 Oktetts (bei IPv6), ausgehend von der MTU des Transport-Modus.</P
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN2645"
>20.2. Unterstützung im Kernel (ESP und AH)</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN2647"
>20.2.1. Unterstützung im vanilla Linux Kernel 2.4.x</A
></H3
><P
>Fehlt in vanilla 2.4. In der Vergangenheit gab es einen Grund, die Linux Kernel Quellen frei von Export/Import-Kontrollgesetzen bzgl. Verschlüsselungs-Techniken zu halten. Dies ist auch ein Grund, wieso <A
HREF="http://www.freeswan.org/"
TARGET="_top"
>FreeS/WAN project</A
> nicht in die vanilla Quellen miteingebunden wurde.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2651"
>20.2.2. Unterstützung im vanilla Linux kernel 2.6.x</A
></H3
><P
>Aktuelle Versionen (zum Zeitpunkt des Schreibens 2.6.9 und neuer) unterstützt IPsec für IPv4 und IPv6.</P
><P
>Die Implementierung wurde u.a. vom USAGI project unterstützt.</P
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN2655"
>20.3. Automatischer Schlüssel-Austausch (IKE)</A
></H2
><P
>IPsec benötigt einen Schlüsselaustausch mit einem “Geheimnis”. Dieser Vorgang wird meistens automatisch durch sogenannte IKE-Daemons durchgeführt. Diese führen ebenso die Authentifizierung der Partner durch, entweder durch ein gemeinsam bekanntes Geheimnis (auch “pre-shared secret” genannt) oder bei RSA-Schlüssel (z.B. aus X.509 Zertifikaten).</P
><P
>Momentan stehen (für Linux) zwei verschiedene IKE-Daemons zur Verfügung, die aber sich ziemlich in Konfiguration und Benutzung unterscheiden.</P
><P
>Ich präferiere “pluto” von der *S/WAN Implementierung, wei dieser eine überschaubare (und nur eine) Konfiguration.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2660"
>20.3.1. IKE-Daemon “racoon”</A
></H3
><P
>Der IKE-Daemon “racoon” ist vom KAME-Project und auf Linux portiert worden. Aktuelle Linux-Distributionen beinhalten diesen Daemon im Paket “ipsec-tools”. Zwei Programme sind für ein funktionierendes IPsec-Setup notwendig. Siehe dazu auch das <A
HREF="http://lartc.org/howto/lartc.ipsec.html"
TARGET="_top"
>Linux Advanced Routing &#38; Traffic Control HOWTO / IPSEC</A
>.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2664"
>20.3.1.1. Manipulation der IPsec SA/SP Datenbank mit dem Werkzeug “setkey”</A
></H4
><P
>“setkey” ist für die Definition der Security Policy (SP) im Kernel wichtig.</P
><P
>Datei: /etc/racoon/setkey.sh</P
><P
></P
><UL
><LI
><P
>Beispiel für eine Ende-zu-Ende verschlüsselte Verbindung im Transport-Modus</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>#!/sbin/setkey -f
flush;
spdflush;
spdadd 2001:db8:1:1::1 2001:db8:2:2::2 any -P out ipsec esp/transport//require;
spdadd 2001:db8:2:2::2 2001:db8:1:1::1 any -P in ipsec esp/transport//require;&#13;</PRE
></FONT
></TD
></TR
></TABLE
><P
></P
><UL
><LI
><P
>Beispiel für eine Ende-zu-Ende verschlüsselte Verbindung im Tunnel-Modus</P
></LI
></UL
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>#!/sbin/setkey -f
flush;
spdflush;
spdadd 2001:db8:1:1::1 2001:db8:2:2::2 any -P out ipsec
¬ esp/tunnel/2001:db8:1:1::1-2001:db8:2:2::2/require;
spdadd 2001:db8:2:2::2 2001:db8:1:1::1 any -P in ipsec
¬ esp/tunnel/2001:db8:2:2::2-2001:db8:1:1::1/require;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Beim anderen Partner ist “in” mit “out” zu vertauschen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2677"
>20.3.1.2. Konfiguration des IKE-Daemon “racoon”</A
></H4
><P
>“racoon” benötigt eine Konfigurationsdatei zur Ausführung. Es beinhaltet zu der Security Policy entprechenden Einstellungen, welche vorher mit “setkey” definiert wurde.</P
><P
>Datei: /etc/racoon/racoon.conf</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># Racoon IKE daemon configuration file.
# See 'man racoon.conf' for a description of the format and entries.
path include "/etc/racoon";
path pre_shared_key "/etc/racoon/psk.txt";
listen
{
isakmp 2001:db8:1:1::1;
}
remote 2001:db8:2:2::2
{
exchange_mode main;
lifetime time 24 hour;
proposal
{
encryption_algorithm 3des;
hash_algorithm md5;
authentication_method pre_shared_key;
dh_group 2;
}
}
# gateway-to-gateway
sainfo address 2001:db8:1:1::1 any address 2001:db8:2:2::2 any
{
lifetime time 1 hour;
encryption_algorithm 3des;
authentication_algorithm hmac_md5;
compression_algorithm deflate;
}
sainfo address 2001:db8:2:2::2 any address 2001:db8:1:1::1 any
{
lifetime time 1 hour;
encryption_algorithm 3des;
authentication_algorithm hmac_md5;
compression_algorithm deflate;
} </PRE
></FONT
></TD
></TR
></TABLE
><P
>Zudem muss das gemeinsame Geheimnis definiert werden:</P
><P
>Datei: /etc/racoon/psk.txt</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># file for pre-shared keys used for IKE authentication
# format is: 'identifier' 'key'
2001:db8:2:2::2 verysecret </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2685"
>20.3.1.3. IPsec mit IKE-Daemon “racoon” starten</A
></H4
><P
>Zum Schluss muss der Daemon gestartet werden. Beim ersten Mal sollte Debug- &#38; Vordergrund-Modus aktiviert werden. Das folgende Beispiel zeigt eine erfolgreiche Aushandlung von IKE-Phase 1 (ISAKMP-SA) und 2 (IPsec-SA):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># racoon -F -v -f /etc/racoon/racoon.conf
Foreground mode.
2005-01-01 20:30:15: INFO: @(#)ipsec-tools 0.3.3 (http://ipsec-tools.sourceforge.net)
2005-01-01 20:30:15: INFO: @(#)This product linked
¬ OpenSSL 0.9.7a Feb 19 2003 (http://www.openssl.org/)
2005-01-01 20:30:15: INFO: 2001:db8:1:1::1[500] used as isakmp port (fd=7)
2005-01-01 20:31:06: INFO: IPsec-SA request for 2001:db8:2:2::2
¬ queued due to no phase1 found.
2005-01-01 20:31:06: INFO: initiate new phase 1 negotiation:
¬ 2001:db8:1:1::1[500]&#60;=&#62;2001:db8:2:2::2[500]
2005-01-01 20:31:06: INFO: begin Identity Protection mode.
2005-01-01 20:31:09: INFO: ISAKMP-SA established
¬ 2001:db8:1:1::1[500]-2001:db8:2:2::2[500] spi:da3d3693289c9698:ac039a402b2db401
2005-01-01 20:31:09: INFO: initiate new phase 2 negotiation:
¬ 2001:6f8:900:94::2[0]&#60;=&#62;2001:db8:2:2::2[0]
2005-01-01 20:31:10: INFO: IPsec-SA established:
¬ ESP/Tunnel 2001:db8:2:2::2-&#62;2001:db8:1:1::1 spi=253935531(0xf22bfab)
2005-01-01 20:31:10: INFO: IPsec-SA established:
¬ ESP/Tunnel 2001:db8:1:1::1-&#62;2001:db8:2:2::2 spi=175002564(0xa6e53c4) </PRE
></FONT
></TD
></TR
></TABLE
><P
>Jede Richtung bekommt einen eigenen SPI (wie im IPsec-Standard definiert). Mit “tcpdump” kann an der entprechenden Schnittstelle dann das Ergebnis eines IPv6-pings gesehen werden:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>20:35:55.305707 2001:db8:1:1::1 &#62; 2001:db8:2:2::2: ESP(spi=0x0a6e53c4,seq=0x3)
20:35:55.537522 2001:db8:2:2::2 &#62; 2001:db8:1:1::1: ESP(spi=0x0f22bfab,seq=0x3)</PRE
></FONT
></TD
></TR
></TABLE
><P
>Wie erwartet, werden die ausgehandelten SPIs angezeigt.</P
><P
>Mit “setkey” werden die aktiven Parameter angezeigt:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># setkey -D
2001:db8:1:1::1 2001:db8:2:2::2
esp mode=tunnel spi=175002564(0x0a6e53c4) reqid=0(0x00000000)
E: 3des-cbc bd26bc45 aea0d249 ef9c6b89 7056080f 5d9fa49c 924e2edd
A: hmac-md5 60c2c505 517dd8b7 c9609128 a5efc2db
seq=0x00000000 replay=4 flags=0x00000000 state=mature
created: Jan 1 20:31:10 2005 current: Jan 1 20:40:47 2005
diff: 577(s) hard: 3600(s) soft: 2880(s)
last: Jan 1 20:35:05 2005 hard: 0(s) soft: 0(s)
current: 540(bytes) hard: 0(bytes) soft: 0(bytes)
allocated: 3 hard: 0 soft: 0
sadb_seq=1 pid=22358 refcnt=0
2001:db8:2:2::2 2001:db8:1:1::1
esp mode=tunnel spi=253935531(0x0f22bfab) reqid=0(0x00000000)
E: 3des-cbc c1ddba65 83debd62 3f6683c1 20e747ac 933d203f 4777a7ce
A: hmac-md5 3f957db9 9adddc8c 44e5739d 3f53ca0e
seq=0x00000000 replay=4 flags=0x00000000 state=mature
created: Jan 1 20:31:10 2005 current: Jan 1 20:40:47 2005
diff: 577(s) hard: 3600(s) soft: 2880(s)
last: Jan 1 20:35:05 2005 hard: 0(s) soft: 0(s)
current: 312(bytes) hard: 0(bytes) soft: 0(bytes)
allocated: 3 hard: 0 soft: 0
sadb_seq=0 pid=22358 refcnt=0 </PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2694"
>20.3.2. IKE-Daemon “pluto”</A
></H3
><P
>Der IKE-Daemon “pluto” ist in den Paketen der *S/WAN-Projekte beinhaltet. Das *S/WAN-Projekt startete zu Anfags als <A
HREF="http://www.freeswan.org/"
TARGET="_top"
>FreeS/WAN</A
>. Leider wurde die Weiterentwicklung von FreeS/WAN in 2004 eingestellt. Aufgrund der langsamen Entwicklungsgeschwindigkeit in der Vergangenheit entstanden zwei Spin-Offs: <A
HREF="http://www.strongswan.org/"
TARGET="_top"
>strongSwan</A
> und <A
HREF="http://www.openswan.org/"
TARGET="_top"
>Openswan</A
>. Heutzutage stehen installationsfertige Pakete bereit, u.a. von Openswan (in Fedora Core 3 beinhaltet).</P
><P
>Ein großer Unterschied zu “racoon” ist, dass nur eine Konfigurationsdatei notwendig ist. Zudem steht ein initscript für automatisches Starten beim Booten zur Verfügung.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2701"
>20.3.2.1. Konfiguration des IKE-Daemon “pluto”</A
></H4
><P
>Die Konfiguration ist der zu IPv4 sehr ähnlich, nur eine wichtige Option ist notwendig.</P
><P
>Datei: /etc/ipsec.conf</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /etc/ipsec.conf - Openswan IPsec configuration file
#
# Manual: ipsec.conf.5
version 2.0 # conforms to second version of ipsec.conf specification
# basic configuration
config setup
# Debug-logging controls: "none" for (almost) none, "all" for lots.
# klipsdebug=none
# plutodebug="control parsing"
#Disable Opportunistic Encryption
include /etc/ipsec.d/examples/no_oe.conf
conn ipv6-p1-p2
connaddrfamily=ipv6 # Important for IPv6, but no longer needed since StrongSwan 4
left=2001:db8:1:1::1
right=2001:db8:2:2::2
authby=secret
esp=aes128-sha1
ike=aes128-sha-modp1024
type=transport
#type=tunnel
compress=no
#compress=yes
auto=add
#auto=up&#13;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Zudem muss das gemeinsame Geheimnis definiert werden:</P
><P
>Datei: /etc/ipsec.secrets</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>2001:db8:1:1::1 2001:db8:2:2::2 : PSK "verysecret"</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2709"
>20.3.2.2. IPsec mit IKE daemon “pluto” starten</A
></H4
><P
>Wenn die Installation von Openswan erfolgreich war, sollte ein initscript zum Starten von IPsec zur Verfügung stehen. Dann einfach auf jedem Partner folgendes ausführen:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /etc/rc.d/init.d/ipsec start</PRE
></FONT
></TD
></TR
></TABLE
><P
>Danach kann die Verbindung auf einem Partner gestartet werden. Wenn im folgenden die Zeile “IPsec SA established” erscheint, hat die Aushandlung funktioniert.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ipsec auto --up ipv6-peer1-peer2
104 "ipv6-p1-p2" #1: STATE_MAIN_I1: initiate
106 "ipv6-p1-p2" #1: STATE_MAIN_I2: sent MI2, expecting MR2
108 "ipv6-p1-p2" #1: STATE_MAIN_I3: sent MI3, expecting MR3
004 "ipv6-p1-p2" #1: STATE_MAIN_I4: ISAKMP SA established
112 "ipv6-p1-p2" #2: STATE_QUICK_I1: initiate
004 "ipv6-p1-p2" #2: STATE_QUICK_I2: sent QI2,
¬ IPsec SA established {ESP=&#62;0xa98b7710 &#60;0xa51e1f22} </PRE
></FONT
></TD
></TR
></TABLE
><P
>Weil *S/WAN und setkey/racoon die gleiche IPsec-Implementation im Linux kernel 2.6.x benutzen, zeigt “setkey” auch hier die aktiven Parameter:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># setkey -D
2001:db8:1:1::1 2001:db8:2:2::2
esp mode=transport spi=2844489488(0xa98b7710) reqid=16385(0x00004001)
E: aes-cbc 082ee274 2744bae5 7451da37 1162b483
A: hmac-sha1 b7803753 757417da 477b1c1a 64070455 ab79082c
seq=0x00000000 replay=64 flags=0x00000000 state=mature
created: Jan 1 21:16:32 2005 current: Jan 1 21:22:20 2005
diff: 348(s) hard: 0(s) soft: 0(s)
last: hard: 0(s) soft: 0(s)
current: 0(bytes) hard: 0(bytes) soft: 0(bytes)
allocated: 0 hard: 0 soft: 0
sadb_seq=1 pid=23825 refcnt=0
2001:db8:2:2::2 2001:db8:1:1::1
esp mode=transport spi=2770214690(0xa51e1f22) reqid=16385(0x00004001)
E: aes-cbc 6f59cc30 8d856056 65e07b76 552cac18
A: hmac-sha1 c7c7d82b abfca8b1 5440021f e0c3b335 975b508b
seq=0x00000000 replay=64 flags=0x00000000 state=mature
created: Jan 1 21:16:31 2005 current: Jan 1 21:22:20 2005
diff: 349(s) hard: 0(s) soft: 0(s)
last: hard: 0(s) soft: 0(s)
current: 0(bytes) hard: 0(bytes) soft: 0(bytes)
allocated: 0 hard: 0 soft: 0
sadb_seq=0 pid=23825 refcnt=0 </PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN2717"
>20.4. Anmerkungen:</A
></H2
><P
>Bei Linux Kernel 2.6.x kann der IPsec-Status und die Policy auch mit “ip” angezeigt werden:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip xfrm policy
...
# ip xfrm state
...</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-QOS"
></A
>Kapitel 21. Quality of Service (QoS)</H1
><P
>IPv6 unterstützt QoS durch die Anwendung von Flow Labels und Traffic Classes. </P
><P
>Zusätzliche Infos:</P
><P
></P
><UL
><LI
><P
><A
HREF="http://www.faqs.org/rfcs/rfc3697.html"
TARGET="_top"
>RFC 3697 / IPv6 Flow Label Specification</A
></P
></LI
></UL
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN2729"
>21.1. General</A
></H2
><P
>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.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>-------------------&#62;-------
Queue 1 \
---&#62;--- ----&#62;---------&#62;---------&#62;-------------------
Dicke Leitung Queue 2 Queue 1 / Queue 2 / Queue 3 Dünne Leitung
---&#62;---- ----&#62;---------&#62;---------&#62;-------------------
Queue 3 /
-------------------&#62;-------</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN2733"
>21.2. Linux QoS mit “tc”</A
></H2
><P
>Linux benutzt “tc” vom Paket “iproute2”, um das Bandbreitenmanagement zu konfigurieren, allgemein beschrieben in <A
HREF="http://lartc.org/"
TARGET="_top"
>Linux Advanced Routing &#38; Traffic Control HOWTO</A
>.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2737"
>21.2.1. Beispiel für eine Warteschlange mit konstanter Bitrate</A
></H3
><P
>Mit dem “cbq” Planer können Röhren mit konstanter Bitrate definiert werden.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2740"
>21.2.1.1. Root qdisc Definition</A
></H4
><P
>Definition einer root qdisc mit einer Bandbreite von 1000 MBit/s an eth1</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># tc qdisc add dev eth1 root handle 1: cbq avpkt 1000 bandwidth 1000Mbit</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2744"
>21.2.1.2. QoS class Definition</A
></H4
><P
>Definition einer Klasse 1:1 mit 1 MBit/s</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># tc class add dev eth1 parent 1: classid 1:1 cbq rate 1Mbit allot 1500 bounded </PRE
></FONT
></TD
></TR
></TABLE
><P
>Definition einer Klasse 1:2 mit 50 MBit/s</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># tc class add dev eth1 parent 1: classid 1:2 cbq rate 50Mbit allot 1500 bounded</PRE
></FONT
></TD
></TR
></TABLE
><P
>Definition einer Klasse 1:3 mit 10 MBit/s</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># tc class add dev eth1 parent 1: classid 1:3 cbq rate 10Mbit allot 1500 bounded</PRE
></FONT
></TD
></TR
></TABLE
><P
>Definition einer Klasse 1:4 mit 200 kBit/s</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># tc class add dev eth1 parent 1: classid 1:4 cbq rate 200kbit allot 1500 bounded</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2754"
>21.2.1.3. QoS filter Definition</A
></H4
><P
>Definition eines Filters für IPv4 (<EM
>protocol ip</EM
>), TCP (<EM
>match ip protocol 6 0xff</EM
>) Zielport 5001 (<EM
>match ip dport 5001 0xffff</EM
>) unter Benutzung der Klasse 1:2 von oben</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># tc filter add dev eth1 parent 1: protocol ip u32 match ip protocol 6 0xff match ip dport 5001 0xffff flowid 1:1</PRE
></FONT
></TD
></TR
></TABLE
><P
>Definition eines Filters für IPv6 (<EM
>protocol ip</EM
>), TCP (<EM
>match ip6 protocol 6 0xff</EM
>) Zielport 5001 unter der Benutzung der Klasse 1:2 von oben</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># tc filter add dev eth1 parent 1: protocol ipv6 u32 match ip6 protocol 6 0xff match ip6 dport 5001 0xffff flowid 1:2</PRE
></FONT
></TD
></TR
></TABLE
><P
>Definition eines Filters für IPv6 für Pakete mit Flowlabel 12345 (<EM
>match ip6 flowlabel 0x12345 0x3ffff</EM
>) unter der Benutzung der Klasse 1:3 von oben</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># tc filter add dev eth1 parent 1: protocol ipv6 u32 match ip6 flowlabel 12345 0x3ffff flowid 1:3 </PRE
></FONT
></TD
></TR
></TABLE
><P
>Definition eines Filters für IPv6 für Pakete mit der Linux iptables Markierung 32 (<EM
>handle 32 fw</EM
>) unter der Benutzung der Klasse 1:4 von oben</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># tc filter add dev eth1 parent 1: protocol ipv6 handle 32 fw flowid 1:4</PRE
></FONT
></TD
></TR
></TABLE
><P
>Die letzte Filterdefinition benötigt auch einen Eintrag in ip6tables um das Paket zu markieren</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip6tables -A POSTROUTING -t mangle -p tcp --dport 5003 -j MARK --set-mark 32 </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2773"
>21.2.1.4. Testen der Filterdefinition mit iperf</A
></H4
><P
>Starten auf Serverseite in separaten Konsolen:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># iperf -V -s -p 5001
# iperf -V -s -p 5002
# iperf -V -s -p 5003</PRE
></FONT
></TD
></TR
></TABLE
><P
>Starten auf Clientseite und Vergleichen der Ergebnisse:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># iperf -V -c SERVER-IPv4 -p 5001 (erwartet: 1 MBit/s)
# iperf -V -c SERVER-IPv6 -p 5001 (erwartet: 50 MBit/s)
# iperf -V -c SERVER-IPv4 -p 5002 (erwartet: &#62;&#62; 50 MBit/s &#38;&#38; &#60;= 1000 MBit/s)
# iperf -V -c SERVER-IPv6 -p 5002 (erwartet: &#62;&#62; 50 MBit/s &#38;&#38; &#60;= 1000 MBit/s)
# iperf -V -c SERVER-IPv4 -p 5003 (erwartet: &#62;&#62; 50 MBit/s &#38;&#38; &#60;= 1000 MBit/s)
# iperf -V -c SERVER-IPv6 -p 5003 (erwartet: 200 kBit/s)</PRE
></FONT
></TD
></TR
></TABLE
><P
>Das Ergebnis der Transferraten sollten der Definitionen von oben entsprechen, das Ergebnis auf Port 5002 sollte ziemlich identisch unabhängig von der benutzten IP-Version sein.</P
></DIV
></DIV
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-HINTS-DAEMONS"
></A
>Kapitel 22. Hinweise zu IPv6 kompatiblen Daemons</H1
><P
>Im folgenden Kapitel werden einige Hinweise zu IPv6 kompatiblen Daemons gegeben.</P
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="HINTS-DAEMONS-BIND"
>22.1. Berkeley Internet Name Domain (BIND) daemon “named”</A
></H2
><P
>Seit der Version 9 wird IPv6 unterstützt. Setzen Sie immer die neuest verfügbare Version ein. Zumindest muss Version 9.1.3 eingesetzt werden, da ältere Versionen Sicherheitslöcher beinhalten können, die von Remote entsprechend ausgenutzt werden können.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2786"
>22.1.1. Auf IPv6 Adressen hören</A
></H3
><P
>Anmerkung: Im Gegensatz zu IPv4 können bei aktuellen Versionen Server Sockets nicht an dedizierte IPv6 Adressen gebunden werden, es ist folglich <EM
>jede</EM
> oder <EM
>keine</EM
> Adresse gültig. Da dies ein Sicherheitsproblem sein kann, lesen Sie diesbezüglich ebenfalls den Abschnitt Access Control Lists (ACL) weiter unten!</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2791"
>22.1.1.1. BIND named konfigurieren, damit er auf IPv6 Adressen antwortet</A
></H4
><P
>Folgende Optionen müssen geändert werden, damit IPv6 aktiviert wird</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>options {
# sure other options here, too
listen-on-v6 { any; };
};</PRE
></FONT
></TD
></TR
></TABLE
><P
>Nach einem Neustart (des Dienstes) sollte z.B. Folgendes zu sehen sein:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># netstat -lnptu |grep "named\W*$"
tcp 0 0 :::53 :::* LISTEN 1234/named
¬ # incoming TCP requests
udp 0 0 1.2.3.4:53 0.0.0.0:* 1234/named
¬ # incoming UDP requests to IPv4 1.2.3.4
udp 0 0 127.0.0.1:53 0.0.0.0:* 1234/named
¬ # incoming UDP requests to IPv4 localhost
udp 0 0 0.0.0.0:32868 0.0.0.0:* 1234/named
¬ # dynamic chosen port for outgoing queries
udp 0 0 :::53 :::* 1234/named
¬ # incoming UDP request to any IPv6</PRE
></FONT
></TD
></TR
></TABLE
><P
>Ein kleiner Test sieht wie folgt aus:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># dig localhost @::1</PRE
></FONT
></TD
></TR
></TABLE
><P
>und sollte Ihnen ein Ergebnis anzeigen...</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2800"
>22.1.1.2. BIND named konfigurieren, damit er auf IPv6 Adressen nicht antwortet</A
></H4
><P
>Folgende Optionen müssen geändert werden, damit IPv6 deaktiviert wird:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>options {
# sure other options here, too
listen-on-v6 { none; };
};</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2804"
>22.1.2. Access Control Lists (ACL) mit IPv6 Unterstützung</A
></H3
><P
>ACLs mit IPv6 Adressen sind realisierbar und sollten wann immer möglich eingesetzt werden. Ein Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>acl internal-net {
127.0.0.1;
1.2.3.0/24;
2001:0db8:100::/56;
::1/128;
::ffff:1.2.3.4/128;
};
acl ns-internal-net {
1.2.3.4;
1.2.3.5;
2001:0db8:100::4/128;
2001:0db8:100::5/128;
};</PRE
></FONT
></TD
></TR
></TABLE
><P
>Diese ACLs können für Client-Anfragen und Zonentransfers zu Secondary Nameserver eingesetzt werden. Es kann auch unterbunden werden, dass ihr Caching-Nameserver mittels IPv6 von der Außenwelt verwendet wird.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>options {
# sure other options here, too
listen-on-v6 { none; };
allow-query { internal-net; };
allow-transfer { ns-internal-net; };
};</PRE
></FONT
></TD
></TR
></TABLE
><P
>Es ist ebenfalls möglich, dass die Optionen <EM
>allow-query</EM
> und <EM
>allow-transfer</EM
> bei den meisten Single-Zonen-Definitionen verwendet werden.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2813"
>22.1.3. Anfragen mit festen IPv6 Adressen senden</A
></H3
><P
>Diese Option ist nicht verpflichtend, ev. aber benötigt:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>query-source-v6 address &#60;ipv6address|*&#62; port &#60;port|*&#62;;</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2817"
>22.1.4. Pro Zone definierte feste IPv6 Adressen</A
></H3
><P
>Es ist möglich pro Zone mehrere IPv6 Adressen zu definieren.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2820"
>22.1.4.1. Transfer source Adresse</A
></H4
><P
>Die Transfer source Adresse wird für ausgehende Zonentransfers verwendet:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>transfer-source-v6 &#60;ipv6addr|*&#62; [port port];</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2824"
>22.1.4.2. Notify source Adresse</A
></H4
><P
>Die Notify source Adresse wird für ausgehende notify Mitteilungen verwendet:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>notify-source-v6 &#60;ipv6addr|*&#62; [port port];</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2828"
>22.1.5. IPv6 DNS zone files Beispiele</A
></H3
><P
>Einige Informationen finden Sie auch unter <A
HREF="http://www.isi.edu/~bmanning/v6DNS.html"
TARGET="_top"
>IPv6 DNS Setup Information (article)</A
>. Eventuell ebenfalls hilfreich ist folgendes Tool: <A
HREF="http://tools.fpsn.net/ipv6-inaddr/"
TARGET="_top"
>IPv6 Reverse DNS zone builder for BIND 8/9 (webtool)</A
>.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2833"
>22.1.6. IPv6 bezogene DNS-Daten bereitstellen</A
></H3
><P
>Für IPv6 wurden neue Reverse Lookup Arten und Root Zonen definiert:</P
><P
></P
><UL
><LI
><P
>AAAA und reverse IP6.INT: beschrieben in <A
HREF="http://www.faqs.org/rfcs/rfc1886.html"
TARGET="_top"
>RFC 1886 / DNS Extensions to support IP version 6</A
> sowie seit BIND Version 4.9.6 in Verwendung</P
></LI
><LI
><P
>A6, DNAME (WURDE ABGELEHNT!) und reverse IP6.ARPA: beschrieben in <A
HREF="http://www.faqs.org/rfcs/rfc2874.html"
TARGET="_top"
>RFC 2874 / DNS Extensions to Support IPv6 Address Aggregation and Renumbering</A
> sowie seit BIND 9 in Verwendung. Informationen zum aktuellen Stand sind unter <A
HREF="http://www.ietf.org/ids.by.wg/dnsext.html"
TARGET="_top"
>Domain Name System Extension (dnsext)</A
> zu finden.</P
></LI
></UL
><P
>Mehr Inhalt zu diesem Thema wird eventuell in späteren Versionen eingearbeitet, inzwischen können Sie in den RFCs und in folgenden Quellen nachlesen:</P
><P
></P
><UL
><LI
><P
>AAAA und reverse IP6.INT: <A
HREF="http://www.isi.edu/~bmanning/v6DNS.html"
TARGET="_top"
>IPv6 DNS Setup Information</A
></P
></LI
><LI
><P
>A6, DNAME (WURDE ABGELEHNT!) und reverse IP6.ARPA: lesen Sie im Kapitel 4 und 6 des BIND 9 Administrator Reference Manual (ARM) nach, welches mit dem bind-Paket mitgeliefert wird. Sie können es auch hier lesen: <A
HREF="http://www.isc.org/sw/bind/arm93/"
TARGET="_top"
>BIND manual version 9.3</A
></P
></LI
></UL
><P
>Da IP6.INT (ebenfalls) ABGELEHNT WURDE, (jedoch nach wie vor in Verwendung ist,) muss ein DNS Server, der IPv6 Informationen anbieten will, beide reverse Zonen bereitstellen.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2853"
>22.1.6.1. Aktuell beste Praxis</A
></H4
><P
>Da es mit den neuen Formaten noch Probleme gibt, ist die aktuell beste Praxis:</P
><P
>Vorwärts-Auflösung mit:</P
><P
></P
><UL
><LI
><P
>AAAA</P
></LI
></UL
><P
>Rückwärts-Auflösung mit:</P
><P
></P
><UL
><LI
><P
>Reverse nibble format für die Zone ip6.int (FÜR RÜCKWÄRTSKOMPATIBILITÄT)</P
></LI
><LI
><P
>Reverse nibble format für die Zone ip6.arpa (EMPFHOHLEN)</P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2866"
>22.1.7. IPv6 Verbindung überprüfen</A
></H3
><P
>Ob BIND auf einen IPv6 socket hört bzw. IPv6 Daten bereitstellt, können Sie anhand folgender Beispiele überprüfen.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2869"
>22.1.7.1. IPv6 Verbindung durch ACL abgelehnt</A
></H4
><P
>Eine IPv6 Verbindung kann durch Angabe eines dedizierten Server, der abgefragt werden soll, erzwungen werden:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>$ host -t aaaa www.6bone.net 2001:0db8:200:f101::1
Using domain server:
Name: 2001:0db8:200:f101::1
Address: 2001:0db8:200:f101::1#53
Aliases:
Host www.6bone.net. not found: 5(REFUSED)</PRE
></FONT
></TD
></TR
></TABLE
><P
>Ein entsprechender Log-Eintrag sieht wie folgt aus:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>Jan 3 12:43:32 gate named[12347]: client
¬ 2001:0db8:200:f101:212:34ff:fe12:3456#32770:
query denied</PRE
></FONT
></TD
></TR
></TABLE
><P
>Wenn Sie diesen Eintrag in der Logdatei finden, prüfen Sie, ob von diesem Client Anfragen akzeptiert werden sollen und ggf. ändern Sie Ihre ACL Konfiguration.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2876"
>22.1.7.2. Erfolgreiche IPv6 Verbindung</A
></H4
><P
>Eine erfolgreiche IPv6 Verbindung sieht wie folgt aus:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>$ host -t aaaa www.6bone.net 2001:0db8:200:f101::1
Using domain server:
Name: 2001:0db8:200:f101::1
Address: 2001:0db8:200:f101::1#53
Aliases:
www.6bone.net. is an alias for 6bone.net.
6bone.net. has AAAA address 3ffe:b00:c18:1::10</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="HINTS-DAEMONS-XINETD"
>22.2. Internet super daemon (xinetd)</A
></H2
><P
>IPv6 wird ungefähr seit der <A
HREF="http://www.xinetd.org/"
TARGET="_top"
>xinetd</A
> Version 1.8.9 unterstützt. Verwenden sie immer die neueste Version, zumindest aber Version 2.3.3, da ältere Versionen Sicherheitslöcher beinhalten können, die von Remote entsprechend ausgenutzt werden können.</P
><P
>Einige Linux Distributionen beinhalten ein separates IPv6 kompatibles Paket des xinetd, bei anderen Distributionen wird der IPv6 kompatible xinetd mit folgender Variable zumeist in der Datei /etc/sysconfig/network (bei Red Hat kompatible Distributionen) gestartet: NETWORKING_IPV6="yes". In neuere Versionen unterstützt eine Binärdatei sowohl IPv4 als auch IPv6.</P
><P
>Wenn Sie nun einen "eingebauten" Service wie z.B. daytime durch folgende Änderung der Konfigurationsdatei /etc/xinetd.d/daytime aktivieren</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># diff -u /etc/xinetd.d/daytime.orig /etc/xinetd.d/daytime
--- /etc/xinetd.d/daytime.orig Sun Dec 16 19:00:14 2001
+++ /etc/xinetd.d/daytime Sun Dec 16 19:00:22 2001
@@ -10,5 +10,5 @@
protocol = tcp
user = root
wait = no
- disable = yes
+ disable = no
}</PRE
></FONT
></TD
></TR
></TABLE
><P
>dann sollten Sie nach einem Neustart des xinetd-Dienstes z.B. folgendes positive Ergebnis sehen:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># netstat -lnptu -A inet6 |grep "xinetd*"
tcp 0 0 ::ffff:192.168.1.1:993 :::* LISTEN 12345/xinetd-ipv6
tcp 0 0 :::13 :::* LISTEN 12345/xinetd-ipv6 &#60;- service
¬ daytime/tcp
tcp 0 0 ::ffff:192.168.1.1:143 :::* LISTEN 12345/xinetd-ipv6</PRE
></FONT
></TD
></TR
></TABLE
><P
>Das Beispiel zeigt auch die xinetd Dienste IMAP und IMAP-SSL, die nur auf IPv4 Adressen hören.</P
><P
>Hinweis: frühere Versionen hatten ein Problem, dass der nur für IPv4 kompilierte xinetd nicht bei einem IPv6-aktivierten Knoten startete, und eine IPv6-aktivierte nicht bei einem Knoten, der nur IPv4 aktiv hatte. Dies sollte aber mindestens seit Version 2.3.11 gefixt sein.</P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="HINTS-DAEMONS-APACHE2."
>22.3. Webserver Apache2 (httpd2)</A
></H2
><P
>IPv6 wird beim Apache Webserver durch die Entwickler seit der Version 2.0.14 unterstützt. Verfügbare Patches für die alte 1.3.x Serie sind inzwischen nicht mehr aktuell und sollten nicht mehr in öffentlich zugänglichen Umgebungen eingesetzt werden. Verfügbar sind die Patches noch unter <A
HREF="ftp://ftp.kame.net/pub/kame/misc/"
TARGET="_top"
>KAME / Misc</A
>.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2895"
>22.3.1. Auf IPv6 Adressen hören</A
></H3
><P
>Anmerkung: Virtuelle Hosts mit IPv6 Adressen sind bis zur Version 2.0.28 nicht operabel (es gibt für die Version 2.0.28 einen Patch). Testen Sie aber immer zuerst die neueste Version, da ältere Versionen mitunter auch Sicherheitsprobleme mit sich bringen können.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2898"
>22.3.1.1. Virtueller Host mit IPv6 Adresse</A
></H4
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>Listen [2001:0db8:100::1]:80
&#60;VirtualHost [2001:0db8:100::1]:80&#62;
ServerName ipv6only.yourdomain.yourtopleveldomain
# ...sure more config lines
&#60;/VirtualHost&#62;</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2901"
>22.3.1.2. Virtueller Host mit IPv4 und IPv6 Adresse</A
></H4
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>Listen [2001:0db8:100::2]:80
Listen 1.2.3.4:80
&#60;VirtualHost [2001:0db8:100::2]:80 1.2.3.4:80&#62;
ServerName ipv6andipv4.yourdomain.yourtopleveldomain
# ...sure more config lines
&#60;/VirtualHost&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Das Ergebnis sollten nach einen Neustart des Dienstes etwa Folgendes sein:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># netstat -lnptu |grep "httpd2\W*$"
tcp 0 0 1.2.3.4:80 0.0.0.0:* LISTEN 12345/httpd2
tcp 0 0 2001:0db8:100::1:80 :::* LISTEN 12345/httpd2
tcp 0 0 2001:0db8:100::2:80 :::* LISTEN 12345/httpd2</PRE
></FONT
></TD
></TR
></TABLE
><P
>Für einfache Tests können Sie auf das bereits gezeigte telnet-Beispiel zurückgreifen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2907"
>22.3.1.3. Zusätzliche Anmerkungen</A
></H4
><P
>Apache2 unterstützt eine Methode namens “sendfile”, um die Auslieferung von Datenn zu beschleunigen. Einige NIC-Treiber unterstützen auch offline das Berechnen der Checksumme. In einigen Fällen kann dies zu Verbindungsproblemen und ungültigen TCP-Checksummen führen. In diesen Fällen ist “sendfile” zu deaktivieren, entweder durch Rekompilieren unter der Benützung der configure-Option “--without-sendfile” oder durch Benützung der Direktive "EnableSendfile off" in der Konfigurationsdatei.</P
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="HINTS-DAEMONS-RADVD"
>22.4. Router Advertisement Daemon (radvd)</A
></H2
><P
>Der Router Advertisement Daemon ist auf einem LAN dann sehr sinnvoll, wenn die Clients automatisch konfiguriert werden sollen. Der Daemon selbst sollte auf einem Linux Gateway Router eingerichtet sein (es hat nicht notwendigerweise das default IPv4 Gateway zu sein, Vorsicht also wer am LAN Router Advertisements versendet).</P
><P
>Sie können einige Flags und Informationen im Advertisement spezifizieren. Allgemein werden verwendet:</P
><P
></P
><UL
><LI
><P
>Präfix (notwendige Angabe)</P
></LI
><LI
><P
>Lebensdauer des Präfix</P
></LI
><LI
><P
>Intervall der Advertisements (optional)</P
></LI
></UL
><P
>Nach der korrekten Konfiguration sendet der Daemon die Advertisements über angegebene Interfaces. Die Clients empfangen die Advertisements und konfigurieren automatisch Ihre Adressen mit dem empfangenen Präfix und der Default-Route.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2922"
>22.4.1. radvd konfigurieren</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN2924"
>22.4.1.1. Einfache Konfiguration</A
></H4
><P
>Die Konfigurationsdatei des radvd ist normalerweise die Datei /etc/radvd.conf. Eine einfache Konfiguration sieht wie folgt aus:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>interface eth0 {
AdvSendAdvert on;
MinRtrAdvInterval 3;
MaxRtrAdvInterval 10;
prefix 2001:0db8:0100:f101::/64 {
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};</PRE
></FONT
></TD
></TR
></TABLE
><P
>Als Ergebnis auf der Client-Seite ergibt sich hieraus:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ip -6 addr show eth0
3: eth0: &#60;BROADCAST,MULTICAST,UP&#62; mtu 1500 qdisc pfifo_fast qlen 100
inet6 2001:0db8:100:f101:2e0:12ff:fe34:1234/64 scope global dynamic
valid_lft 2591992sec preferred_lft 604792sec
inet6 fe80::2e0:12ff:fe34:1234/10 scope link</PRE
></FONT
></TD
></TR
></TABLE
><P
>Ein hoher Wert für die Lebensdauer wurde verwendet, da der Wert nicht manuell konfiguriert wurde. </P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2931"
>22.4.1.2. Spezielle 6to4 Konfiguration</A
></H4
><P
>Seit der Version 0.6.2pl3 wird die automatische (Neu)-Erstellung des Präfixes abhängig von der IPv4 Adresse eines angegebenen Interfaces unterstützt. Dies kann dazu eingesetzt werden, die Advertisements dann in einem LAN zu verteilen, nachdem das 6to4 tunneling geändert wurde. Zumeist eingesetzt wird dies hinter einem dynamischen dial-on-demand Linux Router. Wegen der sicherlich kürzeren Lebensdauer dieser Präfixe (nach jedem dial-up ist ein anderes Präfix gültig), wird der Wert der Lebensdauer auf einen minimalen Wert gesetzt:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>interface eth0 {
AdvSendAdvert on;
MinRtrAdvInterval 3;
MaxRtrAdvInterval 10;
prefix 0:0:0:f101::/64 {
AdvOnLink off;
AdvAutonomous on;
AdvRouterAddr on;
Base6to4Interface ppp0;
AdvPreferredLifetime 20;
AdvValidLifetime 30;
};
};</PRE
></FONT
></TD
></TR
></TABLE
><P
>Das Ergebnis auf Clientseite ist (unter der Annahme, dass ppp0 die lokale IPv4 Adresse 1.2.3.4 hat):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 addr show eth0
3: eth0: &#60;BROADCAST,MULTICAST,UP&#62; mtu 1500 qdisc pfifo_fast qlen 100
inet6 2002:0102:0304:f101:2e0:12ff:fe34:1234/64 scope global dynamic
valid_lft 22sec preferred_lft 12sec
inet6 fe80::2e0:12ff:fe34:1234/10 scope link</PRE
></FONT
></TD
></TR
></TABLE
><P
>Da eine kurze Lebensdauer definiert wurde, wird das Präfix bald verworfen werden, sollte kein entsprechendes Advertisement empfangen werden.</P
><P
>Achtung: wenn keine spezielle 6to4-Unterstützung der initscripts benutzt wird, ist eine spezielle Route am internen Interface des Routers notwendig, sonst gibt es Probleme bei eingehenden Paketen. Für das gezeigte Beispiel lautet diese:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /sbin/ip -6 route add 2002:0102:0304:f101::/64 dev eth0 metric 1</PRE
></FONT
></TD
></TR
></TABLE
><P
>Diese Route muß jedesmal, wenn der Prefix wechselt, ersetzt werden. Die ist dann der Fall, wenn das Dial-Up-Interface eine neue IPv4-Adresse bekommen hat.</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2941"
>22.4.2. Fehlersuche</A
></H3
><P
>Mit dem Programm “radvdump” können Sie gesendete und empfangene Advertisements detailliert betrachten. Die Anwendung ist einfach:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># radvdump
Router advertisement from fe80::280:c8ff:feb9:cef9 (hoplimit 255)
AdvCurHopLimit: 64
AdvManagedFlag: off
AdvOtherConfigFlag: off
AdvHomeAgentFlag: off
AdvReachableTime: 0
AdvRetransTimer: 0
Prefix 2002:0102:0304:f101::/64
AdvValidLifetime: 30
AdvPreferredLifetime: 20
AdvOnLink: off
AdvAutonomous: on
AdvRouterAddr: on
Prefix 2001:0db8:100:f101::/64
AdvValidLifetime: 2592000
AdvPreferredLifetime: 604800
AdvOnLink: on
AdvAutonomous: on
AdvRouterAddr: on
AdvSourceLLAddress: 00 80 12 34 56 78</PRE
></FONT
></TD
></TR
></TABLE
><P
>Im Output wird jedes Advertisement in einem lesbarem Format dargestellt. Zu sehen sollten die von Ihnen eingestellten Werte sein; falls dem nicht so ist, wurde das Advertisement eventuell nicht von Ihrem radvd gesendet... (für die Rückverfolgung des Routers können Sie die LLAddress, die MAC Adresse des Routers, verwenden...) </P
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="HINTS-DAEMONS-DHCPV6."
>22.5. Dynamic Host Configuration v6 Server (dhcp6s)</A
></H2
><P
>dhcp6s kann für stateful Konfiguration benutzt werden. Der Daemon selbst muß nicht unbedingt auf dem Linux-Standard-Router laufen. </P
><P
>Man kann hier mehr Informationen als bei radvd spezifizieren. Die meisten sind denen des IPv4 DHCP-Servers ähnlich.</P
><P
>Nach einer passenden Konfiguration reagiert der Daemon auf empfangene IPv6-Multicast-Pakete, die von einem Client an die Adresse ff02::1:2 gesendet werden.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2951"
>22.5.1. Konfiguration des DHCPv6-Servers (dhcp6s)</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN2953"
>22.5.1.1. Einfache Konfiguration</A
></H4
><P
>Die Konfigurationsdatei des dhcp6s ist normalerweise /etc/dhcp6s.conf. Ein einfaches Beispiel sieht wie folgt aus:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>interface eth0 {
server-preference 255;
renew-time 60;
rebind-time 90;
prefer-life-time 130;
valid-life-time 200;
allow rapid-commit;
option dns_servers 2001:db8:0:f101::1 sub.domain.example;
link AAA {
range 2001:db8:0:f101::1000 to 2001:db8:0:f101::ffff/64;
prefix 2001:db8:0:f101::/64;
};
};</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2957"
>22.5.2. Konfiguration des DHCPv6-Client (dhcp6s)</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN2959"
>22.5.2.1. Einfache Konfiguration</A
></H4
><P
>Die Konfigurationsdatei von dhcp6c ist normalerweise /etc/dhcp6c.conf. Ein einfaches Beispiel sieht wie folgt aus:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>interface eth0 {
send rapid-commit;
request domain-name-servers;
}; </PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2963"
>22.5.3. Benutzung</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN2965"
>22.5.3.1. dhcp6s</A
></H4
><P
>Starten des Servers, z.B. durch</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># service dhcp6s start</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2969"
>22.5.3.2. dhcp6c</A
></H4
><P
>Starten des Clients im Vordergrund, z.B. durch</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># dhcp6c -f eth0
...</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2973"
>22.5.4. Fehlersuche</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN2975"
>22.5.4.1. dhcp6s</A
></H4
><P
>Der Server hat einen Vordergrund und zwei Debug-Schalter (von denen beide benutzt werden sollten), hier ein Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># dhcp6c -d -D -f eth0</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2979"
>22.5.4.2. dhcp6c</A
></H4
><P
>Mit einem IPv6 Ping an die DHCP Multicast-Adresse kann getestet werden, ob der IPv6 DHCP Server überhaupt erreichbar ist am Link.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># ping6 -I eth0 ff02::1:2</PRE
></FONT
></TD
></TR
></TABLE
><P
>Der Client hat einen Vordergrund und zwei Debug-Schalter, hier ein Beispiel:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># dhcp6c -d -f eth0
Oct/03/2005 17:18:16 dhcpv6 doesn't support hardware type 776
Oct/03/2005 17:18:16 doesn't support sit0 address family 0
Oct/03/2005 17:18:16 netlink_recv_rtgenmsg error
Oct/03/2005 17:18:16 netlink_recv_rtgenmsg error
Oct/03/2005 17:18:17 status code for this address is: success
Oct/03/2005 17:18:17 status code: success
Oct/03/2005 17:18:17 netlink_recv_rtgenmsg error
Oct/03/2005 17:18:17 netlink_recv_rtgenmsg error
Oct/03/2005 17:18:17 assigned address 2001:db8:0:f101::1002 prefix len is not in any RAs prefix length using 64 bit instead
Oct/03/2005 17:18:17 renew time 60, rebind time 9</PRE
></FONT
></TD
></TR
></TABLE
><P
>Bemerkung: die netlink-Fehlermeldungen haben keinen Einfluß auf die Funktionalität.</P
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="HINTS-DAEMONS-ISC-DHCP"
>22.6. ISC Dynamic Host Configuration Server (dhcpd)</A
></H2
><P
>ISC DHCP unterstützt IPv6 seit der Version 4.x.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2989"
>22.6.1. Konfiguration des ISC DHCP Server für IPv6 (dhcpd)</A
></H3
><P
>Es ist zu beachten, daß der ISC DHCP Server aktuell entweder IPv4 oder IPv6 bedienen kann, nicht beides, d.h. der Daemon muß zweimal gestartet werden (für IPv6 mit Option “-6”) um beide Protokolle zu unterstützen.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN2992"
>22.6.1.1. Einfache Configuration</A
></H4
><P
>Erstellen einer eigenen Konfigurationsdatei /etc/dhcp/dhcpd6.conf für den IPv6-Teil des dhcpd. Es ist zu beachten, daß der router natürlich eine Schnittstelle mit einer IPv6-Adresse aus dem definierten Subnetz konfiguriert haben muß.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet6 2001:db8:0:1::/64 {
# Range for clients
range6 2001:db8:0:1::129 2001:db8:0:1::254;
# Range for clients requesting a temporary address
range6 2001:db8:0:1::/64 temporary;
# Additional options
option dhcp6.name-servers fec0:0:0:1::1;
option dhcp6.domain-search "domain.example";
# Prefix range for delegation to sub-routers
prefix6 2001:db8:0:100:: 2001:db8:0:f00:: /56;
# Example for a fixed host address
host specialclient {
host-identifier option dhcp6.client-id 00:01:00:01:4a:1f:ba:e3:60:b9:1f:01:23:45;
fixed-address6 2001:db8:0:1::127;
}
} </PRE
></FONT
></TD
></TR
></TABLE
><P
>Es ist zu beachten, dass die “dhcp.client-id” nicht länger die MAC-Adresse ist, sondern eine per System eindeutige ID! “dhcp6c” (siehe oben) benutzt die Datei /var/lib/dhcpv6/dhcp6c_duid (wird beim ersten Start erstellt, falls nicht vorhanden) als eindeutige ID. Es ist eine 14 Byte lange ID, welche mit einer 2 Byte Längeninformation startet (üblicherweise “0x000e”):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># hexdump -e '"%07.7_ax " 1/2 "%04x" " " 14/1 "%02x:" "\n"' /var/lib/dhcpv6/dhcp6c_duid 0000000 000e 00:01:00:01:4a:1f:ba:e3:60:b9:1f:01:23:45:</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2998"
>22.6.2. Benutzung</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN3000"
>22.6.2.1. dhcpd</A
></H4
><P
>Starte den Server im Vordergrund:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># /usr/sbin/dhcpd -6 -d -cf /etc/dhcp/dhcpd6.conf eth1
Internet Systems Consortium DHCP Server 4.1.0
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file
Wrote 0 leases to leases file.
Bound to *:547
Listening on Socket/5/eth1/2001:db8:0:1::/64
Sending on Socket/5/eth1/2001:db8:0:1::/64</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="HINTS-DAEMONS-DIBBLER"
>22.7. DHCP Server Dibbler</A
></H2
><P
>Dibbler ist auch ein DHCP server.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN3007"
>22.7.1. Konfiguration des Dibbler DHCP server für IPv6</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN3009"
>22.7.1.1. Einfache Konfuration</A
></H4
><P
>Erstellen der Konfigurationsdatei /etc/dibbler/server.conf . Es ist zu beachten, daß der router natürlich eine Schnittstelle mit einer IPv6-Adresse aus dem definierten Subnetz konfiguriert haben muß.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>log-level 8
log-mode short
preference 0
iface "eth1" {
prefered-lifetime 3600
valid-lifetime 7200
class {
pool 2001:db8:0:1::/64
}
option dns-server fec0:0:0:1::1
option domain domain.example
} </PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN3013"
>22.7.2. Benutzung</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN3015"
>22.7.2.1. dibbler-server</A
></H4
><P
>Start Server im Vorgergrund:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># dibbler-server run
| Dibbler - a portable DHCPv6, version 0.7.3 (SERVER, Linux port)
| Authors : Tomasz Mrugalski&#60;thomson(at)klub.com.pl&#62;,Marek Senderski&#60;msend(at)o2.pl&#62;
| Licence : GNU GPL v2 only. Developed at Gdansk University of Technology.
| Homepage: http://klub.com.pl/dhcpv6/
2009.05.28 10:18:48 Server Notice My pid (1789) is stored in /var/lib/dibbler/server.pid
2009.05.28 10:18:48 Server Notice Detected iface eth0/3, MAC=54:52:00:01:23:45.
2009.05.28 10:18:48 Server Notice Detected iface eth1/2, MAC=54:52:00:67:89:ab.
2009.05.28 10:18:48 Server Notice Detected iface lo/1, MAC=00:00:00:00:00:00.
2009.05.28 10:18:48 Server Debug Skipping database loading.
2009.05.28 10:18:48 Server Debug Cache:server-cache.xml file: parsing started, expecting 0 entries.
2009.05.28 10:18:48 Server Notice Parsing /etc/dibbler/server.conf config file...
18:48 Server Debug Setting 0 generic option(s).
18:48 Server Debug 0 per-client configurations (exceptions) added.
18:48 Server Debug Parsing /etc/dibbler/server.conf done.
18:48 Server Info 0 client class(es) defined.
18:48 Server Debug 1 interface(s) specified in /etc/dibbler/server.conf
18:48 Server Info Mapping allow, deny list to class 0:0 allow/deny entries in total.
18:48 Server Info Interface eth1/2 configuration has been loaded.
18:48 Server Notice Running in stateful mode.
18:48 Server Info My DUID is 00:01:00:01:11:aa:6d:a7:54:52:00:67:89:ab.
18:48 Server Notice Creating multicast (ff02::1:2) socket on eth1/2 (eth1/2) interface.
18:48 Server Debug Cache: size set to 1048576 bytes, 1 cache entry size is 87 bytes, so maximum 12052 address-client pair(s) may be cached.
18:48 Server Notice Accepting connections. Next event in 4294967295 second(s).</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="HINTS-DAEMONS-TCPWRAPPER"
>22.8. tcp_wrapper</A
></H2
><P
>Mit der tcp_wrapper Programmbibliothek können Sie Ihre Dienste gegen Missbrauch schützen.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN3022"
>22.8.1. Filter-Funktionalität</A
></H3
><P
>Sie können tcp_wrapper für folgende Zwecke einsetzen:</P
><P
></P
><UL
><LI
><P
>Nach Source-Adressen filtern (IPv4 oder IPv6)</P
></LI
><LI
><P
>Nach Benutzern filtern (benötigt einen aktiven ident Daemon auf der Client-Seite)</P
></LI
></UL
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN3030"
>22.8.2. Welches Programm benützt tcp_wrapper</A
></H3
><P
>Folgende Programme sind bekannt:</P
><P
></P
><UL
><LI
><P
>Jeder Dienst, der durch den xinetd aufgerufen wird (und wenn der xinetd mit der tcp_wrapper Bibliothek kompiliert wurde)</P
></LI
><LI
><P
>sshd (wenn der mit der tcp_wrapper Bibliothek kompiliert wurde)</P
></LI
></UL
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN3038"
>22.8.3. Anwendung</A
></H3
><P
>Der tcp_wrapper wird durch zwei Dateien konfiguriert und kontrolliert: /etc/hosts.allow sowie /etc/hosts.deny. Weitere Informationen finden Sie mit:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>$ man hosts.allow</PRE
></FONT
></TD
></TR
></TABLE
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3042"
>22.8.3.1. Beispiel für /etc/hosts.allow</A
></H4
><P
>In dieser Datei wird ein Dienst pro Zeile eingetragen, der positiv gefiltert werden soll (d.h. Verbindungen werden erlaubt).</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>sshd: 1.2.3. [2001:0db8:100:200::]/64
daytime-stream: 1.2.3. [2001:0db8:100:200::]/64</PRE
></FONT
></TD
></TR
></TABLE
><P
>Achtung: es existieren fehlerhafte Implementierungen, welche folgende fehlerhafte IPv6-Netzwerk-Beschreibung unterstützen: [2001:0db8:100:200::/64]. Hoffentlich werden diese Versionen bald gefixt.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3047"
>22.8.3.2. Beispiel für /etc/hosts.deny</A
></H4
><P
>In dieser Datei werden alle Einträge negativ gefiltert. Und normalerweise sollen alle Verbindungen unterbunden werden:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>ALL: ALL</PRE
></FONT
></TD
></TR
></TABLE
><P
>Sie können bei Bedarf obige Standardzeile auch durch Folgende ersetzen, jedoch wird dadurch bei zu vielen Verbindungen in kurzer Zeitz eine DoS Angriff möglich (Last des Mailers sowie des Spool-Verzeichnisses). Ein logwatch ist somit wahrscheinlich die bessere Lösung.</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>ALL: ALL: spawn (echo "Attempt from %h %a to %d at `date`"
| tee -a /var/log/tcp.deny.log | mail root@localhost)</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN3053"
>22.8.4. Protokollierung</A
></H3
><P
>Entsprechend der Syslog Daemon Konfiguration in der Datei /etc/syslog.conf protokolliert der tcp_wrapper normalerweise in die Datei /var/log/secure.</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3056"
>22.8.4.1. Abgelehnte Verbindung</A
></H4
><P
>Das Logging einer abgelehnten IPv4-Verbindung zu einem durch den xinetd überwachten Daytime Dienst sieht wie folgt aus:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>Jan 2 20:40:44 gate xinetd-ipv6[12346]: FAIL: daytime-stream libwrap
¬ from=::ffff:1.2.3.4
Jan 2 20:32:06 gate xinetd-ipv6[12346]: FAIL: daytime-stream libwrap
from=2001:0db8:100:200::212:34ff:fe12:3456</PRE
></FONT
></TD
></TR
></TABLE
><P
>Das Logging einer abgelehnten IPv4-Verbindung zu einem durch den xinetd überwachten sshd Daemon (auf IPv4 und IPv6 auf Verbindungen wartend) sieht wie folgt aus:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>Jan 2 20:24:17 gate sshd[12345]: refused connect from ::ffff:1.2.3.4
¬ (::ffff:1.2.3.4)
Jan 2 20:39:33 gate sshd[12345]: refused connect
from 2001:0db8:100:200::212:34ff:fe12:3456
¬ (2001:0db8:100:200::212:34ff:fe12:3456)</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3062"
>22.8.4.2. Akzeptierte Verbindung</A
></H4
><P
>Das Logging einer akzeptierten IPv4-Verbindung zu einem durch den xinetd überwachten Daytime Dienst sieht wie folgt aus:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>Jan 2 20:37:50 gate xinetd-ipv6[12346]: START: daytime-stream pid=0
¬ from=::ffff:1.2.3.4
Jan 2 20:37:56 gate xinetd-ipv6[12346]: START: daytime-stream pid=0
from=2001:0db8:100:200::212:34ff:fe12:3456</PRE
></FONT
></TD
></TR
></TABLE
><P
>Das Logging einer akzeptierten IPv4-Verbindung zu einem auf zwei Ports hörenden sshd sieht wie folgt aus:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>Jan 2 20:43:10 gate sshd[21975]: Accepted password for user from ::ffff:1.2.3.4
¬ port 33381 ssh2
Jan 2 20:42:19 gate sshd[12345]: Accepted password for user
from 2001:0db8:100:200::212:34ff:fe12:3456 port 33380 ssh2</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="HINTS-DAEMONS-VSFTPD"
>22.9. vsftpd</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN3070"
>22.9.1. Auf IPv6-Adressen lauschen</A
></H3
><P
>Editiere die Konfigurationsdatei, üblicherweise /etc/vsftpd/vsftpd.conf, und setze die Option für das “listen” wie folgt:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>listen_ipv6=yes</PRE
></FONT
></TD
></TR
></TABLE
><P
>Mehr ist nicht zu tun.</P
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="HINTS-DAEMONS-PROFTPD"
>22.10. proftpd</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN3077"
>22.10.1. Auf IPv6-Adressen lauschen</A
></H3
><P
>Editiere die Konfigurationsdatei, üblicherweise /etc/proftpd.conf, allerdings ist hier zu beachten, daß dies in der Konfigurationsart virtueller Host nicht 100% logisch ist</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>&#60;VirtualHost 192.0.2.1&#62;
...
Bind 2001:0DB8::1
...
&#60;/VirtualHost&#62;</PRE
></FONT
></TD
></TR
></TABLE
><P
>Mehr ist nicht zu tun.</P
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="HINTS-DAEMONS-OTHERS"
>22.11. Andere Daemons</A
></H2
><P
>Seit einiger Zeit ist dies meist einfach, suchen Sie einfach nach einer Kommandozeilen-Option oder einer Konfigurationsvariable, um das Lauschen an IPv6-Adressen zu aktivieren. Schauen Sie dazu in den Manual-Seiten des Daemons oder in den entsprechenden FAQs nach. Es kann allerdings durchaus sein, daß sich der Daemon nur an die IPv6-“any”-Adresse (::) binden läßt und kein dediziertes Binden an eine spezielle IPv6-Adresse möglich ist (das hängt von der Unterstützung des Programmierers ab).</P
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-PROGRAMMING"
></A
>Kapitel 23. Programmierung</H1
><DIV
CLASS="SECT1"
><H2
CLASS="SECT1"
><A
NAME="CHAPTER-SECTION-USING-API"
>23.1. Programmierung mit Nutzung der C-API</A
></H2
><P
>Dieser Abschnitt ist momentan nicht in Deutsch verfügbar, die englische Version ist verfügbar unter: <A
HREF="http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html"
TARGET="_top"
>TLDP / Linux+IPv6-HOWTO / Programming using C-API</A
></P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN3091"
>23.2. Andere Programmiersprachen</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN3093"
>23.2.1. JAVA</A
></H3
><P
>In Sun Java Versionen ab 1.4 ist Unterstützung für IPv6 vorhanden, siehe dazu auch die Klasse <A
HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Inet6Address.html"
TARGET="_top"
>Inet6Address (1.5/5.0)</A
>. Weitere Tipps sind verfügbar im <EM
>Networking IPv6 User Guide for JDK/JRE</EM
> <A
HREF="http://java.sun.com/j2se/1.4.2/docs/guide/net/ipv6_guide/index.html"
TARGET="_top"
>1.4</A
> und <A
HREF="http://java.sun.com/j2se/1.5.0/docs/guide/net/ipv6_guide/index.html"
TARGET="_top"
>1.5 (5.0)</A
>.</P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN3100"
>23.2.2. Perl</A
></H3
><P
>Stand Mai 2007 ist nichts bekannt, daß der Kern von Perl IPv6 nativ unterstützt. Dies kann allerdings aktiviert werden durch Benützung des folgenden Moduls:</P
><P
></P
><UL
><LI
><P
><A
HREF="http://search.cpan.org/~umemoto/Socket6/"
TARGET="_top"
>Socket6</A
></P
></LI
></UL
><P
>Zudem existieren weitere Module für/mit IPv6 Unterstützung (z.B. Net::IP), suche nach “IPv6” bei <A
HREF="http://search.cpan.org/"
TARGET="_top"
>http://search.cpan.org/</A
>.</P
></DIV
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-INTEROPERABILITY"
></A
>Kapitel 24. Interoperabilität</H1
><P
>Das <A
HREF="http://www.tahi.org/"
TARGET="_top"
>TAHI Project</A
> prüft das Zusammenspiel der verschiedenen Betriebssysteme in Hinblick auf IPv6 Funktionalität und Implementierung. Der Linux Kernel hat bereits das <A
HREF="http://www.linux-ipv6.org/v6ready/"
TARGET="_top"
>IPv6 Ready Logo Phase 1</A
> bekommen.</P
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="CHAPTER-INFORMATION"
></A
>Kapitel 25. Weitere Informationen und URLs</H1
><DIV
CLASS="SECT1"
><H2
CLASS="SECT1"
><A
NAME="INFORMATION-BOOKS"
>25.1. Gedruckte Bücher, Artikel, Onlinerezensionen</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN3118"
>25.1.1. Gedruckte Bücher (Englisch)</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN3120"
>25.1.1.1. Cisco</A
></H4
><P
></P
><UL
><LI
><P
>Cisco Self-Study: Implementing IPv6 Networks (IPV6), von Regis Desmeules. Cisco Press; ISBN 1587050862; 500 Seiten; 1. Edition (April 11, 2003).
Anmerkung: Dieser Titel wird am 11. April 2003 publiziert.</P
></LI
><LI
><P
>Configuring IPv6 with Cisco IOS, von Sam Brown, Sam Browne, Neal Chen, Robbie Harrell, Edgar, Jr. Parenti (Editor), Eric Knipp (Editor), Paul Fong (Editor) 362 Seiten; Syngress Media Inc; ISBN 1928994849; (July 12, 2002).</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3127"
>25.1.1.2. Allgemein</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.benedikt-stockebrand.de/books_e.html#ipv6-in-practice"
TARGET="_top"
>IPv6 in Practice: A Unixer's Guide to the Next Generation Internet</A
> von Benedikt Stockebrand, November 2006; ISBN 3-540-24524-3</P
></LI
><LI
><P
><A
HREF="http://www.sunny.ch/publications/f_ipv6.htm"
TARGET="_top"
>IPv6 Essentials</A
> von Silvia Hagen, zweite Auflage, Mai 2006; ISBN 0-5961-0058-2
<A
HREF="http://www.oreilly.com/catalog/ipv6ess/"
TARGET="_top"
>ToC, Index, Sample Chapter etc.</A
>; <A
HREF="http://press.oreilly.com/ipv6ess.html"
TARGET="_top"
>O'Reilly Pressrelease</A
></P
></LI
><LI
><P
>IPv6: The New Internet Protocol. Von Christian Huitema; Publiziert von Prentice-Hall; ISBN 0138505055.
Beschreibung: Dieses Buch, geschrieben von Christian Huitema - einem Mitglied des Internet Architecture Board, bietet eine exzellente Beschreibung von IPv6, die Unterschiede zu IPv4 sowie die 'wies' und 'warums' der IPv6 Entwicklung.
Quelle: <A
HREF="http://www.cs.uu.nl/wais/html/na-dir/internet/tcp-ip/resource-list.html"
TARGET="_top"
>http://www.cs.uu.nl/wais/html/na-dir/internet/tcp-ip/resource-list.html</A
></P
></LI
><LI
><P
><A
HREF="http://www.epinions.com/book_mu-3402412/display_~full_specs"
TARGET="_top"
>IPv6 Networks</A
> von Niles, Kitty; (ISBN 0070248079); 550 Seiten; Datum der Veröffentlichung: 05/01/1998.</P
></LI
><LI
><P
>Implementing IPV6. Supporting the Next Generation Internet Protocols von P. E. Miller, Mark A. Miller; Hrsg.: John Wiley &#38; Sons; ISBN 0764545892; 2. Edition (15.März 2000); 402 Seiten.</P
></LI
><LI
><P
>Big Book of Ipv6 Addressing Rfcs von Peter H. Salus (Compiler), Morgan Kaufmann (Hrsg.), April 2000, 450 Seiten ISBN 0126167702. </P
></LI
><LI
><P
><A
HREF="http://www.epinions.com/book_mu-3922588/display_~full_specs"
TARGET="_top"
>Understanding IPV6</A
> von Davies, Joseph; ISBN 0735612455; Datum der Veröffentlichung: 05/01/2001; 350 Seiten.</P
></LI
><LI
><P
>Migrating to IPv6 - IPv6 in Practice von Marc Blanchet; John Wiley &#38; Sons (Hrsg.); ISBN 0471498920; 1. Edition (November 2002); 368 Seiten.</P
></LI
><LI
><P
>Ipv6 Network Programming von Jun-ichiro Hagino; ISBN 1555583180</P
></LI
><LI
><P
><A
HREF="http://www.nwfusion.com/news/2000/1023ipv6.html"
TARGET="_top"
>Wireless boosting IPv6</A
> von Carolyn Duffy Marsan, 10/23/2000.</P
></LI
><LI
><P
><A
HREF="http://www.oreillynet.com/search/index.ncsp?sp-q=IPv6"
TARGET="_top"
>O'reilly Network search for keyword IPv6</A
> ergibt 29 Treffer (28. Januar 2002)</P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN3161"
>25.1.2. Artikel, eBooks, Online Rezensionen</A
></H3
><P
></P
><UL
><LI
><P
><A
HREF="http://www.onlamp.com/pub/a/onlamp/2001/06/01/ipv6_tutorial.html"
TARGET="_top"
>Getting Connected with 6to4</A
> von Huber Feyrer, 06/01/2001</P
></LI
><LI
><P
>Transient Addressing for Related Processes: Improved Firewalling by Using IPv6 and Multiple Addresses per Host; geschrieben von Peter M. Gleiz, Steven M. Bellovin (<A
HREF="http://www.securiteinfo.com/ebooks/pdf/tarp.pdf"
TARGET="_top"
>PC-PDF-Version</A
>; <A
HREF="http://www.securiteinfo.com/ebooks/palm/tarp.pdf"
TARGET="_top"
>Palm-PDF-Version</A
>; <A
HREF="http://www.securiteinfo.com/ebooks/pdb/tarp.pdb"
TARGET="_top"
>PDB-Version</A
>)</P
></LI
><LI
><P
><A
HREF="http://www.ip6.com/index.html"
TARGET="_top"
>Internetworking IPv6 with Cisco Routers</A
> von Silvano Gai, McGrawHill Italia, 1997. Die 13 Kapitel und der Anhang A-D sind als PDF-Dokument 'downladbar'.</P
></LI
><LI
><P
><A
HREF="http://www.csc.fi/~psavola/residential.html"
TARGET="_top"
>Migration and Co-existence of IPv4 and IPv6 in Residential Networks</A
> von Pekka Savola, CSC/FUNET, 2002</P
></LI
></UL
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="INFORMATION-SCIENCEPUBLICATION"
>25.1.3. Wissenschaftliche Publikationen (Kurzbeschreibungen, Bibliographien, Online Quellen)</A
></H3
><P
>Siehe auch: <A
HREF="http://liinwww.ira.uka.de/mpsbib?query=ipv6&#38;maxnum=200"
TARGET="_top"
>liinwww.ira.uka.de/ipv6</A
> bzw. <A
HREF="http://www.google.com/scholar?q=ipv6"
TARGET="_top"
>Google / Scholar / IPv6</A
></P
><P
></P
><UL
><LI
><P
><A
HREF="http://www.ipv6.ac.uk/gtpv6/workplan.html"
TARGET="_top"
>GEANT IPv6 Workplan</A
></P
></LI
><LI
><P
><A
HREF="http://www.ipv6.ac.uk/bermuda2/"
TARGET="_top"
>IPv6 Trials on UK Academic Networks: Bermuda Project Aug.2002</A
>: Participants - Getting connected - Project deliverables - Network topology - Address assignments - Wireless IPv6 access - IPv6 migration - Project presentations - Internet 2 - Other IPv6 projects - IPv6 fora and standards Bermuda 2...</P
></LI
><LI
><P
><A
HREF="http://www.ipv6.ac.uk/"
TARGET="_top"
>http://www.ipv6.ac.uk/</A
></P
></LI
><LI
><P
><A
HREF="http://www.ipv6.ecs.soton.ac.uk/"
TARGET="_top"
>IPv6 at the University of Southampton</A
></P
></LI
><LI
><P
>Microsoft Research IPv6 Implementation (MSRIPv6): <A
HREF="http://www.research.microsoft.com/msripv6/"
TARGET="_top"
>MSRIPv6 Configuring 6to4 - Connectivity with MSR IPv6 - Our 6Bone Node... </A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN3199"
>25.1.4. Sonstiges</A
></H3
><P
>Mehr Infos gibt es unter: <A
HREF="http://www.switch.ch/lan/ipv6/references.html"
TARGET="_top"
>SWITCH IPv6 Pilot / References</A
></P
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="INFORMATION-CONFERENCES"
>25.2. Konferenzen und Meetings</A
></H2
><P
>Fehlt etwas? Vorschläge sind willkommen!</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN3206"
>25.2.1. 2004</A
></H3
><P
></P
><UL
><LI
><P
>1st Global IPv6 Summit in Sao Paul, Brasil</P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="INFORMATION-ONLINEINFORMATION"
>25.3. Online-Informationen</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="INFORMATION-JOINIPV6."
>25.3.1. Mit dem IPv6 Backbone verbinden</A
></H3
><P
>Mehr Infos in späteren Versionen... Vorschläge sind Willkommen!</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-GLOBALREGISTRIES"
>25.3.1.1. Globale Registrierungsstellen</A
></H4
><P
>Siehe regionale Registrierungsstellen.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-MAJORREGIONREGISTRIES"
>25.3.1.2. Regionale Haupt-Registrierungsstellen</A
></H4
><P
></P
><UL
><LI
><P
>Amerika: <A
HREF="http://www.arin.net/"
TARGET="_top"
>ARIN</A
>, <A
HREF="http://www.arin.net/registration/ipv6/index.html"
TARGET="_top"
>ARIN / registration page</A
>, <A
HREF="http://www.arin.net/registration/ipv6/index.html"
TARGET="_top"
>ARIN / IPv6 guidelines</A
></P
></LI
><LI
><P
>EMEA: <A
HREF="http://www.ripe.net/"
TARGET="_top"
>Ripe NCC</A
>, <A
HREF="http://www.ripe.net/ripencc/mem-services/registration/"
TARGET="_top"
>Ripe NCC / registration page</A
>, <A
HREF="http://www.ripe.net/ripencc/mem-services/registration/ipv6/"
TARGET="_top"
>Ripe NCC / IPv6 registration</A
></P
></LI
><LI
><P
>Asien/Pazifik: <A
HREF="http://www.apnic.net/"
TARGET="_top"
>APNIC</A
>, <A
HREF="http://www.apnic.net/services/ipv6_guide.html"
TARGET="_top"
>APNIC / IPv6 ressource guide</A
></P
></LI
><LI
><P
>Latein Amerika und Karikik: <A
HREF="http://lacnic.org/"
TARGET="_top"
>LACNIC</A
>, <A
HREF="http://lacnic.net/en/bt-IPv6.html"
TARGET="_top"
>IPv6 Registration Services</A
>, <A
HREF="http://lacnic.net/en/chapter-4-en.pdf"
TARGET="_top"
>IPv6 Allocation Policy</A
></P
></LI
><LI
><P
>Afrika: <A
HREF="http://www.afrinic.org/"
TARGET="_top"
>AfriNIC</A
></P
></LI
></UL
><P
>Es existiert auch eine Liste der größten Zuteilungen sortiert nach lokalen Registrierungsstellen: <A
HREF="http://www.ripe.net/ripencc/mem-services/registration/ipv6/ipv6allocs.html"
TARGET="_top"
>Ripe NCC / IPv6 allocations</A
>.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-JOINIPV6-TUNNELBROKERS"
>25.3.1.3. Tunnel-Broker</A
></H4
><P
>Anmerkung: Eine Tunnel-Broker Liste ist im Abschnitt <A
HREF="#INFORMATION-TUNNELBROKER"
>Tunnel broker</A
> weiter unten zu finden. </P
><P
></P
><UL
><LI
><P
>Former IPng. Tunnelbroker and IPv6 resources, now migrated to the <A
HREF="http://www.sixxs.net/main/"
TARGET="_top"
>SixXs System</A
>.</P
></LI
><LI
><P
>Eckes <A
HREF="http://sites.inka.de/lina/linux/ipv6.html"
TARGET="_top"
>IPv6-with-Linux</A
> Seite.</P
></LI
><LI
><P
>tunnelc - ein Perl basiertes Tunnel Client Script:
freshmeat.net: <A
HREF="http://freshmeat.net/projects/tunnelc"
TARGET="_top"
>Project details for tunnel client</A
>
SourceForge: <A
HREF="http://sourceforge.net/projects/tunnelc"
TARGET="_top"
>Project Info - tunnelc</A
> (also <A
HREF="http://tunnelc.sourceforge.net/"
TARGET="_top"
>here</A
>)</P
></LI
><LI
><P
>Linux Advanced Routing &#38; Traffic Control HOWTO, <A
HREF="http://howtos.linuxbroker.com/howtoreader.shtml?file=Adv-Routing-HOWTO.html#LARTC.TUNNEL-IPV6.ADDRESSING"
TARGET="_top"
>Chapter 6: IPv6 tunneling with Cisco and/or 6bone</A
>.</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-JOINIPV6-6TO4-TUNNELING"
>25.3.1.4. 6to4</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.kfu.com/~nsayer/6to4/"
TARGET="_top"
>NSayer's 6to4 information</A
></P
></LI
><LI
><P
><A
HREF="http://www.faqs.org/rfcs/rfc3068.html"
TARGET="_top"
>RFC 3068 / An Anycast Prefix for 6to4 Relay Routers</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-JOINIPV6-ISATAP-TUNNELING"
>25.3.1.5. ISATAP</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.join.uni-muenster.de/Dokumente/Howtos/Howto_ISATAP.php?lang=en"
TARGET="_top"
>ISATAP (Intra-Site Automatic Tunnel Access Protocol) Information</A
> by <A
HREF="http://www.join.uni-muenster.de/"
TARGET="_top"
>JOIN</A
></P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN3281"
>25.3.2. Neueste Nachrichten und URLs zu anderen Dokumenten</A
></H3
><P
></P
><UL
><LI
><P
><A
HREF="http://www.estoile.com/links/ipv6"
TARGET="_top"
>Viele URLs zu anderen Dokumenten</A
> von Anil Edathara</P
></LI
><LI
><P
><A
HREF="http://www.go6.net/"
TARGET="_top"
>go6 - The IPv6 Portal</A
>: ein IPv6 Online-Portal mit einem WIKI-basierenden IPv6-Know-How-Schwerpunkt, einem IPv6-Diskussionsforum, einer aktuellen Sammlung von IPv6-Events und Nachrichten, freiem IPv6-Zugang und Services, IPv6 Software-Applikationen und viel mehr</P
></LI
></UL
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN3290"
>25.3.3. Protokoll-Informationen</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN3292"
>25.3.3.1. IPv6 bezogene Request For Comments (RFCs)</A
></H4
><P
>Das veröffentlichen einer Liste mit IPv6 relevanter RFCs geht über den Rahmen dieses Dokumentes hinaus, unter folgenden Links können Sie jedenfalls diverse Listen finden:</P
><P
></P
><UL
><LI
><P
>sortierte Liste:<A
HREF="http://playground.sun.com/pub/ipng/html/specs/standards.html"
TARGET="_top"
>IPng Standardization Status</A
> oder <A
HREF="http://playground.sun.com/pub/ipng/html/specs/specifications.html"
TARGET="_top"
>IPng Current Specifications</A
> von Robert Hinden</P
></LI
><LI
><P
><A
HREF="http://www.ipv6.org/specs.html"
TARGET="_top"
>IPv6 Related Specifications</A
> auf IPv6.org</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3303"
>25.3.3.2. Aktuelle Entwürfe diverser Arbeitsgruppen</A
></H4
><P
>Aktuelle (auch) IPv6-bezogene Drafts finden Sie hier:</P
><P
></P
><UL
><LI
><P
><A
HREF="http://www.ietf.org/ids.by.wg/ipv6.html"
TARGET="_top"
>IP Version 6 (ipv6)</A
></P
></LI
><LI
><P
><A
HREF="http://www.ietf.org/ids.by.wg/ngtrans.html"
TARGET="_top"
>Next Generation Transition (ngtrans)</A
></P
></LI
><LI
><P
><A
HREF="http://www.ietf.org/ids.by.wg/dhc.html"
TARGET="_top"
>Dynamic Host Configuration (dhc)</A
></P
></LI
><LI
><P
><A
HREF="http://www.ietf.org/ids.by.wg/dnsext.html"
TARGET="_top"
>Domain Name System Extension (dnsext)</A
></P
></LI
><LI
><P
><A
HREF="http://www.ietf.org/ids.by.wg/v6ops.html"
TARGET="_top"
>IPv6 Operations (v6ops)</A
></P
></LI
><LI
><P
><A
HREF="http://www.ietf.org/ids.by.wg/mobileip.html"
TARGET="_top"
>Mobile IP (mobileip)</A
></P
></LI
><LI
><P
><A
HREF="http://playground.sun.com/pub/ipng/html/ipng-main.html"
TARGET="_top"
>Get any information about IPv6, from overviews, through RFCs &#38; drafts, to implementations</A
> (inklusive Verfügbarkeit der Stacks auf verschiedenen Plattformen &#38; Quellcode diverser IPv6 Stacks)</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3328"
>25.3.3.3. Sonstige</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.switch.ch/lan/ipv6/references.html"
TARGET="_top"
>SWITCH IPv6 Pilot / References</A
>, umfangreiche Liste mit IPv6 Quellen betreut von Simon Leinen </P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN3334"
>25.3.4. Weitere Informationen</A
></H3
><P
><A
HREF="http://www.deepspace6.net/sections/links.html"
TARGET="_top"
>DeepSpace6 / Weitere interessante Links</A
></P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3338"
>25.3.4.1. Linux Informationen</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.deepspace6.net/"
TARGET="_top"
>DeepSpace6 / (Not only) Linux IPv6 Portal</A
> - Italien (<A
HREF="http://mirrors.bieringer.de/www.deepspace6.net/"
TARGET="_top"
>Spiegel</A
>)</P
></LI
><LI
><P
><A
HREF="http://www.bieringer.de/linux/IPv6/"
TARGET="_top"
>IPv6-HowTo for Linux by Peter Bieringer</A
> - Deutschland, und sein <A
HREF="ftp://ftp.bieringer.de/pub/linux/IPv6/"
TARGET="_top"
>Bieringer / IPv6 - software archive</A
></P
></LI
><LI
><P
><A
HREF="http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status.html"
TARGET="_top"
>Linux+IPv6 status by Peter Bieringer</A
> - Deutschland</P
></LI
><LI
><P
><A
HREF="http://www.deepspace6.net/docs/ipv6_status_page_apps.html"
TARGET="_top"
>DeepSpace6 / IPv6 Status Page</A
> - Italien (<A
HREF="http://mirrors.bieringer.de/www.deepspace6.net/docs/ipv6_status_page_apps.html"
TARGET="_top"
>Spiegel</A
>) (ersetzt das oben genannte in Zukunft)</P
></LI
><LI
><P
><A
HREF="http://www.linux-ipv6.org/"
TARGET="_top"
>USAGI project</A
> - Japan, und deren <A
HREF="ftp://ftp.linux-ipv6.org/pub/"
TARGET="_top"
>USAGI project - software archive</A
></P
></LI
><LI
><P
><A
HREF="http://www.tldp.org/HOWTO/OLSR-IPv6-HOWTO/"
TARGET="_top"
>Linux Optimized Link State Routing Protocol (OLSR) IPv6 HOWTO</A
></P
></LI
><LI
><P
><A
HREF="http://inl.info.ucl.ac.be/LinShim6/"
TARGET="_top"
>LinShim6</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3366"
>25.3.4.2. Informationen zu Linux-Distributionen</A
></H4
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
>PLD</DT
><DD
><P
><A
HREF="http://www.pld-linux.org/"
TARGET="_top"
>PLD Linux Distribution</A
> (“Marktführer” bei inkludierten IPv6 fähigen Paketen))</P
></DD
><DT
>Red Hat</DT
><DD
><P
><A
HREF="http://www.redhat.com/"
TARGET="_top"
>Red Hat Enterprise Linux</A
>, <A
HREF="http://www.netcore.fi/pekkas/linux/ipv6/"
TARGET="_top"
> Pekka Savola's IPv6 packages (historisch)</A
></P
></DD
><DT
>Fedora</DT
><DD
><P
><A
HREF="https://fedoraproject.org/"
TARGET="_top"
>Fedora (Project) Linux</A
></P
></DD
><DT
>Debian</DT
><DD
><P
><A
HREF="http://www.debian.org/"
TARGET="_top"
>Debian Linux</A
>, <A
HREF="http://ipv6.debian.net/"
TARGET="_top"
>IPv6 with Debian Linux</A
></P
></DD
><DT
>SuSE</DT
><DD
><P
><A
HREF="https://www.suse.com/"
TARGET="_top"
>SuSE Linux</A
></P
></DD
><DT
>Mandriva</DT
><DD
><P
><A
HREF="http://wiht.link/mandrivalinux"
TARGET="_top"
>Mandriva (historisch)</A
></P
></DD
></DL
></DIV
><P
>Weitere Details siehe unter <A
HREF="http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-distributions.html"
TARGET="_top"
>IPv6+Linux Status Distributions</A
>.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3403"
>25.3.4.3. Allgemeine Informationen</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.ipv6.org/"
TARGET="_top"
>IPv6.org</A
></P
></LI
><LI
><P
><A
HREF="http://www.6bone.net/"
TARGET="_top"
>6bone</A
></P
></LI
><LI
><P
><A
HREF="http://www.v6.wide.ad.jp/"
TARGET="_top"
>WIDE project</A
> - Japan</P
></LI
><LI
><P
><A
HREF="http://www.switch.ch/lan/ipv6/"
TARGET="_top"
>SWITCH IPv6 Pilot</A
> - Schweiz</P
></LI
><LI
><P
><A
HREF="http://www.feyrer.de/IPv6/"
TARGET="_top"
>IPv6 Corner of Hubert Feyrer</A
> - Deutschland</P
></LI
><LI
><P
><A
HREF="http://www.ipv6forum.com/"
TARGET="_top"
>IPv6 Forum</A
> - ein weltweites Konsortium führender Internet-Hersteller, Forschungs- &#38; Bildungseinrichtungen... </P
></LI
><LI
><P
><A
HREF="http://playground.sun.com/pub/ipng/html/ipng-main.html"
TARGET="_top"
>Playground.sun.com / IPv6 Info Page</A
> - betreut von Robert Hinden, Nokia. Hier gibt es jede Information zum Thema IPv6: Zusammenfassungen, RFCs &#38; Drafts, Implementierungen (Verfügbarkeit der Stacks auf verschiedenen Plattformen &#38; Quellcode diverser IPv6 Stacks). </P
></LI
><LI
><P
><A
HREF="http://www.6init.com/"
TARGET="_top"
>6INIT</A
> - IPv6 Internet Initiative - ein Fifth Framework Projekt der EU im Rahmen des IST Programmes.</P
></LI
><LI
><P
><A
HREF="http://www.ipv6-taskforce.org/"
TARGET="_top"
>IPv6 Task Force (European Union)</A
></P
></LI
><LI
><P
><A
HREF="http://www.6init.org/"
TARGET="_top"
>6init</A
> - IPv6 INternet IniTiative </P
></LI
><LI
><P
><A
HREF="http://www.usenix.org/publications/library/proceedings/ana97/summaries/deering.html"
TARGET="_top"
>IPv6: The New Version of the Internet Protocol</A
>, von Steve Deering.</P
></LI
><LI
><P
><A
HREF="http://www.garykessler.net/library/ipv6_exp.html"
TARGET="_top"
>IPv6: The Next Generation Internet Protocol</A
>, von Gary C. Kessler. </P
></LI
><LI
><P
><A
HREF="http://www.3com.com/nsc/ipv6.html"
TARGET="_top"
>IPv6: Next Generation Internet Protocol</A
> - 3Com</P
></LI
><LI
><P
><A
HREF="http://www.internet2.org/"
TARGET="_top"
>internet || site</A
> und <A
HREF="http://ipv6.internet2.edu/"
TARGET="_top"
>internet2 Working Group</A
></P
></LI
><LI
><P
>NetworkWorldFusion: Search / Doc Finder: <A
HREF="http://search.nwfusion.com/query.html?qt=IPv6&#38;qp=&#38;ch=cn&#38;"
TARGET="_top"
>searched for IPv6</A
> (102 Dokumente gefunden - 22.12.2002) </P
></LI
><LI
><P
><A
HREF="http://www.theregister.co.uk/"
TARGET="_top"
>The Register</A
> (Suche nach IPv6 ergab 30 Dokumente, 22.12.2002) </P
></LI
><LI
><P
><A
HREF="http://zdnet.search.com/search?cat=279&#38;q=IPv6"
TARGET="_top"
>ZDNet Search for IPv6</A
></P
></LI
><LI
><P
><A
HREF="http://whatis.techtarget.com/wsearchResults/1,290214,sid9,00.html?query=IPv6"
TARGET="_top"
>TechTarget Search for IPv6</A
></P
></LI
><LI
><P
><A
HREF="http://www.faqs.org/faqs/internet/tcp-ip/resource-list/index.html"
TARGET="_top"
>IPv6 &#38; TCP Resources List</A
></P
></LI
></UL
><P
>Fehlt etwas? Vorschläge sind Willkommen!</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-MARKETRESEARCH"
>25.3.4.4. Marktforschung</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.statista.com/search/internet+america/"
TARGET="_top"
>statista - The Statistics Portal</A
></P
></LI
><LI
><P
><A
HREF="http://www.marketresearch.com/"
TARGET="_top"
>Market Research</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-PATENTS"
>25.3.4.5. Patente</A
></H4
><P
></P
><UL
><LI
><P
>Delphion Research: <A
HREF="http://www.delphion.com/research/"
TARGET="_top"
>Patent Search Page</A
>. Basic (kostenlose) Registrierung ist notwendig. Beispiele für die Suche nach IPv6 (vom 21.12.2002):
<A
HREF="http://www.delphion.com/details?pn=US06118784__"
TARGET="_top"
>Communicating method between IPv4 terminal and IPv6 terminal and IPv4-IPv6 converting apparatus</A
>
<A
HREF="http://www.delphion.com/details?pn=US06038233__"
TARGET="_top"
>Translator for IP networks, network system using the translator, and IP network coupling method therefor</A
></P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN3482"
>25.3.5. Sortiert nach Ländern</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN3484"
>25.3.5.1. Europa</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.ist-ipv6.org/"
TARGET="_top"
>www.ist-ipv6.org</A
>: IST IPv6 Cluster, European IPv6 Research and Development Projects</P
></LI
><LI
><P
><A
HREF="http://www.euro6ix.org/"
TARGET="_top"
>Euro6IX</A
>: European IPv6 Internet Exchanges Backbone</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3493"
>25.3.5.2. Australien</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://oversteer.bl.echidna.id.au/IPv6/"
TARGET="_top"
>Carl's Australian IPv6 Pages</A
> (alter Inhalt)</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3499"
>25.3.5.3. Belgien</A
></H4
><P
>Vorschläge sind Willkommen!</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3502"
>25.3.5.4. Brasilien</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.ipv6dobrasil.com.br/"
TARGET="_top"
>IPv6 do Brasil</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3508"
>25.3.5.5. China</A
></H4
><P
>Vorschläge sind Willkommen!</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3511"
>25.3.5.6. Deutschland</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="https://www.xing.com/net/ipv6/"
TARGET="_top"
>OpenBC / IPv6</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3517"
>25.3.5.7. Frankreich</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.renater.fr/Projets/IPv6/index.htm"
TARGET="_top"
>Renater</A
>: Renater IPv6 Projekt Seite</P
></LI
><LI
><P
><A
HREF="http://www.inria.fr/recherche/equipes/ipv6.fr.html"
TARGET="_top"
>IPv6 - RSVP - ATM at INRIA</A
></P
></LI
><LI
><P
><A
HREF="http://www.netbsd.org/fr/Documentation/network/ipv6/"
TARGET="_top"
>NetBSD IPv6 Dokumentation</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3529"
>25.3.5.8. Großbritannien</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.bt.com/ipv6/"
TARGET="_top"
>British Telecom IPv6 Home</A
>: BT's ISP IPv6 Versuch, Englands erster IPv6 Internet Exchange etc.</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3535"
>25.3.5.9. Indien</A
></H4
><P
>Vorschläge sind willkommen!</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3538"
>25.3.5.10. Italien</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://project6.ferrara.linux.it/"
TARGET="_top"
>Project6</A
>: IPv6 mit Linux</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3544"
>25.3.5.11. Japan</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.rtpro.yamaha.co.jp/RT/ipv6/"
TARGET="_top"
>Yamaha IPv6</A
> (sorry, alles in japanischer Sprache ...)</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3550"
>25.3.5.12. Korea</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.krv6.net/"
TARGET="_top"
>ETRI</A
>: Electronics and Telecommunications Research Institut</P
></LI
><LI
><P
><A
HREF="http://www.ipv6.or.kr/english/index.new.htm"
TARGET="_top"
>IPv6 Forum Korea</A
>: IPv6 Infrastruktur Projekt in Korea</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3559"
>25.3.5.13. Mexiko</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.ipv6.unam.mx/"
TARGET="_top"
>IPv6 Mexico</A
> (spanische &#38; englische Version) - IPv6 Projekt Homepage der National Autonomous University of Mexico (UNAM)</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3565"
>25.3.5.14. Niederlande</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.ipv6.surfnet.nl/"
TARGET="_top"
>SURFnet</A
>: SURFnet IPv6 Backbone</P
></LI
><LI
><P
><A
HREF="http://www.stack.nl/"
TARGET="_top"
>STACK</A
>, <A
HREF="http://www.stack.nl/ipv6/"
TARGET="_top"
>STACK (IPv6)</A
>: Computer-Studendten-Verband der Eindhoven University of Technology, Niederlande. </P
></LI
><LI
><P
><A
HREF="http://www.ipng.nl/"
TARGET="_top"
>IPng.nl</A
>: Zusammenarbeit zwischen WiseGuys und Intouch.</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3578"
>25.3.5.15. Österreich</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.ikn.tuwien.ac.at/~ipv6/"
TARGET="_top"
>IPv6@IKNnet and MIPv6 Research Group</A
>: TU Vienna, Austria (IPv6: Projekte, Publikationen, Diplom- / Doktorarbeiten, Konferenzunterlagen etc.)</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3584"
>25.3.5.16. Portugal</A
></H4
><P
>Vorschläge sind willkommen!</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3587"
>25.3.5.17. Russland</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.ipv6.ru/"
TARGET="_top"
>IPv6 Forum for Russia</A
>: Yaroslavl State University Internet Center</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3593"
>25.3.5.18. Schweiz</A
></H4
><P
>Vorschläge sind willkommen!</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN3596"
>25.3.6. Sortiert nach Betriebssystemen</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN3598"
>25.3.6.1. *BSD</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.kame.net/"
TARGET="_top"
>KAME project</A
> (*BSD)</P
></LI
><LI
><P
><A
HREF="http://www.netbsd.org/Documentation/network/ipv6/"
TARGET="_top"
>NetBSD's IPv6 Networking FAQ</A
></P
></LI
><LI
><P
><A
HREF="http://www.freebsd.org/ports/ipv6.html"
TARGET="_top"
>FreeBSD Ports: Ipv6</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3610"
>25.3.6.2. Cisco IOS</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.cisco.com/warp/public/732/Tech/ipv6/"
TARGET="_top"
>Cisco IOS IPv6 Entry Page</A
></P
></LI
><LI
><P
><A
HREF="http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122newft/122t/122t2/ipv6/ftipv6c.htm"
TARGET="_top"
>IPv6 for Cisco IOS Software</A
>, Datei 2 von 3: Aug 2002 -- Inhalt: IPv6 for Cisco IOS Software; Configuring Documentation Specifics; Enabling IPv6 Routing and Configuring; IPv6 Addressing; Enabling IPv6 Processing Globally.</P
></LI
><LI
><P
>Cisco Internet Networking Handbook, <A
HREF="http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ipv6.htm"
TARGET="_top"
>Chapter IPv6</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3622"
>25.3.6.3. HPUX</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.faqs.org/faqs/hp/hpux-faq/index.html"
TARGET="_top"
>comp.sys.hp.hpux FAQ</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3628"
>25.3.6.4. IBM</A
></H4
><P
></P
><UL
><LI
><P
>Now that IBM's announced the availability of z/OS V1.4, <A
HREF="http://search390.techtarget.com/ateQuestionNResponse/0,289625,sid10_cid486367_tax292523,00.html"
TARGET="_top"
>what's new in this release?</A
> Die Frage wurde am 15. August 2002 'geposted'.</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3634"
>25.3.6.5. Microsoft</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.microsoft.com/windows2000/technologies/communications/ipv6/default.asp"
TARGET="_top"
>Microsoft Windows 2000 IPv6</A
> </P
></LI
><LI
><P
><A
HREF="http://www.research.microsoft.com/msripv6"
TARGET="_top"
>MSRIPv6</A
> - Microsoft Research Network - IPv6 Homepage </P
></LI
><LI
><P
><A
HREF="http://support.microsoft.com/default.aspx?scid=kb;en-us;306203"
TARGET="_top"
>Internet Connection Firewall Does Not Block Internet Protocol Version 6 Traffic</A
> (6.11.2001)</P
></LI
><LI
><P
><A
HREF="http://support.microsoft.com/default.aspx?scid=kb;en-us;289892"
TARGET="_top"
>Internet Protocol Numbers</A
> (8.10.2002)</P
></LI
><LI
><P
><A
HREF="http://support.microsoft.com/default.aspx?scid=kb;en-us;273826"
TARGET="_top"
>IPv6 Technology Preview Refresh</A
> (16.10.2002)</P
></LI
><LI
><P
><A
HREF="http://support.microsoft.com/default.aspx?scid=kb;en-us;325449"
TARGET="_top"
>HOW TO: Install and Configure IP Version 6 in Windows .NET Enterprise Server</A
> (26.10.2002)</P
></LI
><LI
><P
><A
HREF="http://support.microsoft.com/default.aspx?scid=kb;en-us;329984"
TARGET="_top"
>Windows .NET Server 6to4 Router Service Quits When You Advertise a 2002 Address on the Public Interface</A
> (28.10.2002)</P
></LI
><LI
><P
><A
HREF="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcetcpip/htm/cmconIPv6exe.asp"
TARGET="_top"
>msdn - Microsoft Windows CE .NET - IPv6 commands</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3661"
>25.3.6.6. Solaris</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.sun.com/software/solaris/"
TARGET="_top"
>Sun Microsystems Solaris</A
></P
></LI
><LI
><P
><A
HREF="http://www.cs.uu.nl/wais/html/na-dir/Solaris2/FAQ.html"
TARGET="_top"
>Solaris 2 Frequently Asked Questions (FAQ) 1.73</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3670"
>25.3.6.7. Sumitoma</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://playground.sun.com/pub/ipng/html/ipng-implementations.html#Sumitomo"
TARGET="_top"
>Sumitomo Electric has implemented IPv6 on Suminet 3700 family routers</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3676"
>25.3.6.8. ZebOS</A
></H4
><P
></P
><UL
><LI
><P
>IpInfusion's <A
HREF="http://www.ipinfusion.com/products/server/products_server.html"
TARGET="_top"
>ZebOS Server Routing Software</A
></P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="INFORMATION-IPV6ANDSECURITY"
>25.3.7. IPv6 Sicherheit</A
></H3
><P
></P
><UL
><LI
><P
>Internet Security Systems: Security Center, <A
HREF="http://www.iss.net/security_center/search.php?type=3&#38;type=3&#38;pattern=IPv6"
TARGET="_top"
>X-Force Database Search</A
> (21.12.2002 - 6 Themen bez. IPv6 gefunden)</P
></LI
><LI
><P
><A
HREF="http://csrc.nist.gov/ipsec/"
TARGET="_top"
>NIST IPsec Project</A
> ( National Institute of Standards and Technology, NIST)</P
></LI
><LI
><P
><A
HREF="http://www.infosecuritymag.com/index.shtml"
TARGET="_top"
>Information Security</A
></P
></LI
><LI
><P
><A
HREF="http://neworder.box.sk/search.php3?srch=IPv6"
TARGET="_top"
>NewOrder.box.sk (search for IPv6)</A
> (Artikel, Exploits, Datei-Datenbank etc.)</P
></LI
></UL
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN3697"
>25.3.8. Programm-Listen</A
></H3
><P
></P
><UL
><LI
><P
><A
HREF="http://www.deepspace6.net/docs/ipv6_status_page_apps.html"
TARGET="_top"
>DeepSpace6 / IPv6 Status Page</A
> (<A
HREF="http://mirrors.bieringer.de/www.deepspace6.net/docs/ipv6_status_page_apps.html"
TARGET="_top"
>Mirror</A
>)</P
></LI
><LI
><P
><A
HREF="http://www.ipv6.org/v6-apps.html"
TARGET="_top"
>IPv6.org / IPv6 enabled applications</A
></P
></LI
><LI
><P
><A
HREF="http://freshmeat.net/search/?q=IPv6"
TARGET="_top"
>Freshmeat / IPv6 search</A
>, aktuell (14 Dez. 2002) 62 Projekte</P
></LI
><LI
><P
><A
HREF="http://www.ipv6forum.com/modules.php?op=modload&#38;name=Web_Links&#38;file=index"
TARGET="_top"
>IPv6 Forum / Web Links</A
></P
></LI
></UL
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3713"
>25.3.8.1. Analyse-Werkzeuge</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.wireshark.org/"
TARGET="_top"
>Wireshark</A
> (ehemals <EM
>Ethereal</EM
>) is ein kostenloser Netzwerkprotokoll-Analyseprogramm für Unix und Windows </P
></LI
><LI
><P
><A
HREF="http://www.ip6.com/us/analyzer.htm"
TARGET="_top"
>Radcom RC100-WL</A
> - Download Radcom RC100-WL Protokollanalyseprogramm version 3.20</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3723"
>25.3.8.2. IPv6 Produkte</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.6wind.com/"
TARGET="_top"
>6wind</A
> - Lösungen für IPv4/IPv6 Router, QoS, Multicast, Mobility, Security/VPN/Firewall.</P
></LI
><LI
><P
><A
HREF="http://www.fefe.de/dns/"
TARGET="_top"
>Fefe's patches for IPv6 with djbdns</A
> - Aug 2002 - Was ist djbdns und warum es IPv6 benötigt? djbdns ist ein vollwertiger DNS Server, welcher “outperforms BIND in nearly all respects”.</P
></LI
><LI
><P
><A
HREF="http://www.ipinfusion.com/products/server/products_server.html"
TARGET="_top"
>ZebOS Server Routing Suite </A
></P
></LI
><LI
><P
><A
HREF="http://download.cnet.com/Inframail-Advantage-Server-Edition/3000-10248_4-8202652.html"
TARGET="_top"
>Inframail (Advantage Server Edition)</A
></P
></LI
><LI
><P
><A
HREF="http://download.cnet.com/HTTrack-Website-Copier/3000-2377_4-10149393.html"
TARGET="_top"
>HTTrack Website Copier</A
></P
></LI
><LI
><P
><A
HREF="http://download.cnet.com/CommView/3000-2085_4-10132748.html"
TARGET="_top"
>CommView</A
></P
></LI
><LI
><P
><A
HREF="http://download.cnet.com/Posadis/3000-2155_4-10149750.html"
TARGET="_top"
>Posadis</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-SNMP"
>25.3.8.3. SNMP</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.cs.uu.nl/wais/html/na-dir/snmp-faq/part1.html"
TARGET="_top"
>comp.protocpols.snmp SNMP FAQ Part 1 of 2</A
></P
></LI
></UL
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN3753"
>25.4. IPv6 Infrastruktur</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN3755"
>25.4.1. Statistiken</A
></H3
><P
></P
><UL
><LI
><P
><A
HREF="http://www.space.net/~gert/RIPE/"
TARGET="_top"
>IPv6 routing table history</A
> erstellt von Gert Döring, <A
HREF="http://www.space.net/"
TARGET="_top"
>Space.Net</A
></P
></LI
><LI
><P
><A
HREF="http://6bone.informatik.uni-leipzig.de/ipv6/stats/stats.php3"
TARGET="_top"
>Official 6bone Webserver list Statisic</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN3765"
>25.4.2. Internet Exchanges</A
></H3
><P
>Eine weitere Liste von IPv6 Internet Exchanges gibt es unter: <A
HREF="http://www.euro-ix.net/isp/choosing/search/matrix.php"
TARGET="_top"
>IPv6 status of IXPs in Europe</A
></P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-IPV6EXCHANGES-GERMANY"
>25.4.2.1. Deutschland</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.inxs.de/"
TARGET="_top"
>INXS</A
>: (Cable &#38; Wireless) München und Hamburg</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-IPV6EXCHANGES-ESTONIA"
>25.4.2.2. Estlanda</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://tix.estpak.ee/"
TARGET="_top"
>TIX</A
> (Tallinn Interneti eXchange mit IPv6 Support) </P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-IPV6EXCHANGES-EUROPE"
>25.4.2.3. Europa</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.euro6ix.net/"
TARGET="_top"
>Euro6IX</A
>, European IPv6 Internet Exchange Backbone</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-IPV6EXCHANGES-FRANCE"
>25.4.2.4. Frankreich</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.fnix6.net/"
TARGET="_top"
>French National Internet Exchange IPv6</A
> (seit 1.11.2002 aktiv).
FNIX6 bietet ISPs im Großraum Paris den Dienst eines kostenlosen und zuverlässlichen High Speed FastEthernet Internet Exchange.</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-IPV6EXCHANGES-UK"
>25.4.2.5. Großbritannien</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.uk6x.com/"
TARGET="_top"
>UK6X</A
>: London</P
></LI
><LI
><P
><A
HREF="http://www.xchangepoint.net/"
TARGET="_top"
>XchangePoint</A
>: London</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-IPV6EXCHANGES-JAPAN"
>25.4.2.6. Japan</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.wide.ad.jp/nspixp6/"
TARGET="_top"
>NSPIXP-6</A
>: IPv6--basierter Internet Exchange in Tokio</P
></LI
><LI
><P
><A
HREF="http://www.jpix.co.jp/"
TARGET="_top"
>JPIX</A
>, Tokio</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-IPV6EXCHANGES-KOREA"
>25.4.2.7. Korea</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.ngix.ne.kr/"
TARGET="_top"
>6NGIX</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-IPV6EXCHANGES-NETHERLANDS"
>25.4.2.8. Niederlande</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.ams-ix.net/"
TARGET="_top"
>AMS-IX</A
>: Amsterdam Internet Exchange</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-IPV6EXCHANGES-USA"
>25.4.2.9. USA</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.6tap.net/"
TARGET="_top"
>6TAP</A
>: Chicago. Bietet weltweit Peerings an.</P
></LI
><LI
><P
><A
HREF="http://www.paix.net/"
TARGET="_top"
>PAIX</A
>: Palo Alto</P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="INFORMATION-TUNNELBROKER"
>25.4.3. Tunnel broker</A
></H3
><P
>Auch interessant: <A
HREF="http://www.deepspace6.net/docs/tunnelbrokers.html"
TARGET="_top"
>http://www.deepspace6.net/docs/tunnelbrokers.html</A
></P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-TUNNELBROKER-BELGIUM"
>25.4.3.1. Belgien</A
></H4
><P
>Fehlt etwas? Vorschläge sind willkommen!</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-TUNNELBROKER-CANADA"
>25.4.3.2. Canada</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.freenet6.net/"
TARGET="_top"
>Freenet6</A
> - /48 Delegation, Canada
<A
HREF="http://www.linuxjournal.com/article.php?sid=5963&#38;mode=thread&#38;order=0"
TARGET="_top"
>Getting IPv6 Using Freenet6 on Debian</A
>
<A
HREF="http://www.viagenie.qc.ca/en/index.shtml"
TARGET="_top"
>Freenet6 creater</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-TUNNELBROKER-CHINA"
>25.4.3.3. China</A
></H4
><P
>Fehlt etwas? Vorschläge sind willkommen!</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-TUNNELBROKER-GERMANY"
>25.4.3.4. Deutschland</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://6bone.informatik.uni-leipzig.de/"
TARGET="_top"
>6bone Knoten Leipzig</A
>
<A
HREF="http://www.mail-archive.com/ipv6@uni-muenster.de/msg00056.html"
TARGET="_top"
>Info bez. Hackangriff (2001)</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-TUNNELBROKER-ESTONIA"
>25.4.3.5. Estlanda</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://tunnelbroker.ipv6.estpak.ee/?tunnel&#38;PHPSESSID=aa2184190cc2cc6d3a6f6ddd01ae3635"
TARGET="_top"
>Estpak</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-TUNNELBROKER-UK"
>25.4.3.6. Großbritannien</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.nttv6.net/"
TARGET="_top"
>NTT</A
>, Großbritannien - IPv6 Versuch. IPv4 Tunnel und native IPv6 Standleitungs-Verbindungen. POPs gibt es in: London, Düsseldorf, New Jersey (USA, East Coast) Cupertino (USA, West Coast) Tokio</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-TUNNELBROKER-ITALY"
>25.4.3.7. Italien</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.comv6.com/"
TARGET="_top"
>Comv6</A
></P
></LI
><LI
><P
><A
HREF="http://www.bersafe.it/"
TARGET="_top"
>Bersafe</A
> (italienische Sprache)</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-TUNNELBROKER-JAPAN"
>25.4.3.8. Japan</A
></H4
><P
>Fehlt etwas? Vorschläge sind willkommen!</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-TUNNELBROKER-MALAYSIA"
>25.4.3.9. Malaysia</A
></H4
><P
>Fehlt etwas? Vorschläge sind willkommen!</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-TUNNELBROKER-NETHERLANDS"
>25.4.3.10. Niederlande</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.ipng.nl/"
TARGET="_top"
>IPng Netherland</A
> - Intouch, SurfNet, AMS-IX, UUNet, Cistron, RIPE NCC und AT&#38;T sind am AMS-IX angeschlossen. Unter bestimmten Voraussetzungen ist es möglich, einen statischen Tunnel zu bekommen.</P
></LI
><LI
><P
><A
HREF="http://www.ipv6.surfnet.nl/"
TARGET="_top"
>SURFnet Customers</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-TUNNELBROKER-NORWAY"
>25.4.3.11. Norwegen</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.uninett.no/testnett/index.en.html"
TARGET="_top"
>UNINETT</A
> - Pilot IPv6 Service (für Kunden): tunnelbroker &#38; address allocation
<A
HREF="http://www.guruz.de/Uninett-Autoupdate-HOWTO"
TARGET="_top"
>Uninett-Autoupdate-HOWTO</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-TUNNELBROKER-SPAIN"
>25.4.3.12. Spanien</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://tb.consulintel.euro6ix.org/"
TARGET="_top"
>Consulintel</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-TUNNELBROKER-SWITZERLAND"
>25.4.3.13. Schweiz</A
></H4
><P
>Fehlt etwas? Vorschläge sind willkommen!</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-TUNNELBROKER-USA"
>25.4.3.14. USA</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.es.net/hypertext/welcome/pr/ipv6.html"
TARGET="_top"
>ESnet</A
>, USA - Energy Sciences Network: Tunnel Registry &#38; Address Delegation für direkt angeschlossene ESnet Sites und ESnet Partner.</P
></LI
><LI
><P
><A
HREF="http://ipv6tb.he.net/"
TARGET="_top"
>Hurricane Electric</A
>, US backbone;
<A
HREF="http://tunnelbroker.net/"
TARGET="_top"
>Hurrican Electric Tunnelbroker</A
> (also available under <A
HREF="http://tunnelbroker.com/"
TARGET="_top"
>http://tunnelbroker.com/</A
>)
Presseaussendung: <A
HREF="http://www.he.net/releases/release6.html"
TARGET="_top"
>Hurricane Electric Upgrades IPv6 Tunnel Broker</A
>
<A
HREF="http://ipv6.he.net/tunnelbroker-update.php"
TARGET="_top"
>Tunnel Broker Endpoint Autoupdate</A
>, Perl Skript</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-TUNNELBROKER-SINGAPORE"
>25.4.3.15. Singapore</A
></H4
><P
>Fehlt etwas? Vorschläge sind Willkommen!</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-TUNNELBROKER-MORE"
>25.4.3.16. Weitere Tunnel broker...</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.kfu.com/~nsayer/6to4/"
TARGET="_top"
>Public 6to4 relay routers</A
> (MS IIE Boycott!)</P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="INFORMATION-INFRASTRUCTURE-NATIVEIPV6SERVICE"
>25.4.4. Native IPv6 Dienste</A
></H3
><P
>Anmerkung: Die folgenden Dienste sind meist nur mit einer gültigen IPv6 Verbbindung erreichbar!</P
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-NATIVEIPV6NNTP"
>25.4.4.1. Net News (NNTP)</A
></H4
><P
>Fehlt etwas? Vorschläge sind Willkommen!</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-NATIVEIPV6GAMESERVER"
>25.4.4.2. Spiele Server</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.viagenie.qc.ca/en/ipv6/quake2/ipv6-quake2.shtml"
TARGET="_top"
>Quake2</A
> über IPv6</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-NATIVEIPV6IRCSERVER"
>25.4.4.3. IRC Server</A
></H4
><P
>Fehlt etwas? Vorschläge sind Willkommen!</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN3946"
>25.4.4.4. Radiosender, Musik-Streams</A
></H4
><P
>Fehlt etwas? Vorschläge sind Willkommen!</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="INFORMATION-NATIVEIPV6WEBSERVER"
>25.4.4.5. Web Server</A
></H4
><P
></P
><UL
><LI
><P
><A
HREF="http://www.ipv6.bieringer.de/"
TARGET="_top"
>Peter Bieringer's Home of Linux IPv6 HOWTO </A
></P
></LI
></UL
><P
>Fehlt etwas? Vorschläge sind Willkommen!</P
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="INFORMATION-MAILLISTS"
>25.5. Mailinglisten</A
></H2
><P
>Weitere Listen von Mailinglisten sind verfügbar unter:</P
><P
></P
><UL
><LI
><P
><A
HREF="http://www.deepspace6.net/sections/lists.html"
TARGET="_top"
>DeepSpace6 / Mailling Lists</A
></P
></LI
></UL
><P
>Die größten Mailinglisten sind in folgender Tabelle zusammengefasst:</P
><P
>.</P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><A
NAME="AEN3965"
></A
><TABLE
BORDER="1"
RULES="all"
CLASS="CALSTABLE"
><COL
WIDTH="1*"
ALIGN="CENTER"
TITLE="col0"><COL
WIDTH="1*"
ALIGN="CENTER"
TITLE="col1"><COL
WIDTH="1*"
ALIGN="CENTER"
TITLE="col2"><COL
WIDTH="1*"
ALIGN="CENTER"
TITLE="col3"><COL
WIDTH="1*"
ALIGN="CENTER"
TITLE="col4"><COL
WIDTH="1*"
ALIGN="CENTER"
TITLE="col5"><TBODY
><TR
><TD
ALIGN="CENTER"
VALIGN="TOP"
>Schwerpunkt</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>Request e-mail Adresse</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>Abonnieren</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>e-mail Adresse der Mailingliste</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>Sprache</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>Zugang via WWW</TD
></TR
><TR
><TD
ALIGN="CENTER"
VALIGN="TOP"
>Linux Kernel Networking inkl. IPv6</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>majordomo (at) vger.kernel.org</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>netdev</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>netdev (at) vger.kernel.org</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>Englisch</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
><A
HREF="http://vger.kernel.org/vger-lists.html#netdev"
TARGET="_top"
>Info</A
>, <A
HREF="http://www.spinics.net/lists/netdev/"
TARGET="_top"
>Archive</A
></TD
></TR
><TR
><TD
ALIGN="CENTER"
VALIGN="TOP"
>Mobile IP(v6) für Linux</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>Web-based, see URL</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>mipl</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>mipl (at) mobile-ipv6.org</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>Englisch</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
><A
HREF="http://www.mobile-ipv6.org/cgi-bin/mailman/listinfo"
TARGET="_top"
>Info</A
>, <A
HREF="http://www.mobile-ipv6.org/pipermail/mipl/"
TARGET="_top"
>Archive</A
></TD
></TR
><TR
><TD
ALIGN="CENTER"
VALIGN="TOP"
>Linux IPv6 User &#38; USAGI</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>usagi-users-ctl (at) linux-ipv6.org</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>&nbsp;</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>usagi-users (at) linux-ipv6.org</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>Englisch</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
><A
HREF="http://www.linux-ipv6.org/ml/index.html#usagi-users"
TARGET="_top"
>Info / Search</A
>, <A
HREF="http://www.linux-ipv6.org/ml/usagi-users/"
TARGET="_top"
>Archive</A
></TD
></TR
><TR
><TD
ALIGN="CENTER"
VALIGN="TOP"
>IPv6 und Debian Linux</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>Web-based, siehe URL</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>&nbsp;</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>debian-ipv6 (at) lists.debian.org</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>Englisch</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
><A
HREF="http://lists.debian.org/debian-ipv6/"
TARGET="_top"
>Info/Subscription/Archive</A
></TD
></TR
><TR
><TD
ALIGN="CENTER"
VALIGN="TOP"
>6bone</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>majordomo (at) isi.edu</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>6bone</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>6bone (at) isi.edu</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>Englisch</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
><A
HREF="http://www.6bone.net/6bone_email.html"
TARGET="_top"
>Info</A
>, <A
HREF="http://mailman.isi.edu/pipermail/6bone/"
TARGET="_top"
>Archive</A
></TD
></TR
><TR
><TD
ALIGN="CENTER"
VALIGN="TOP"
>IPv6 User allgemein</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>majordomo (at) ipv6.org</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>users</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>users (at) ipv6.org</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>Englisch</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
><A
HREF="http://www.ipv6.org/mailing-lists.html"
TARGET="_top"
>Info</A
>, <A
HREF="http://www.mail-archive.com/users@ipv6.org/"
TARGET="_top"
>Archive</A
></TD
></TR
><TR
><TD
ALIGN="CENTER"
VALIGN="TOP"
>Bugtracking Internet Programme (1)</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>bugtraq-subscribe (at) securityfocus.com</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>&nbsp;</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>bugtraq (at) securityfocus.com (3)</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
>Englisch</TD
><TD
ALIGN="CENTER"
VALIGN="TOP"
><A
HREF="http://online.securityfocus.com/popups/forums/bugtraq/intro.shtml"
TARGET="_top"
>Info</A
>, <A
HREF="http://online.securityfocus.com/archive/1"
TARGET="_top"
>Archive</A
></TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
><P
>.</P
><P
>(1) sehr empfohlen wenn Sie Server-Programme zur Verfügung stellen.</P
><P
>(2) Mailingliste ist moderiert.</P
><P
>Fehlt etwas? Vorschläge sind Willkommen!</P
><P
>Via Web sind auch folgende Mailinglisten &#38; Newsgroups verfügbar:</P
><P
></P
><UL
><LI
><P
><A
HREF="http://groups.yahoo.com/group/student-ipv6"
TARGET="_top"
>student-ipv6 (India)</A
>
Beschreibung: Dies ist eine Newsgruppe für die 'Student Awareness group of IPv6' in Indien</P
></LI
><LI
><P
><A
HREF="http://groups.yahoo.com/group/sun-ipv6-users"
TARGET="_top"
>sun-ipv6-users</A
>
Beschreibung: Bitte berichten Sie Probleme/Vorschläge in Bezug auf die IPng Implementation von SUN Microsystems</P
></LI
><LI
><P
><A
HREF="http://groups.yahoo.com/group/IPv6-BITS"
TARGET="_top"
>IPv6-BITS</A
>
Beschreibung: Diese Liste dient der Koordination des Projekts Vertebrae.</P
></LI
><LI
><P
><A
HREF="http://groups.yahoo.com/group/linux-bangalore-ipv6"
TARGET="_top"
>linux-bangalore-ipv6</A
>
Beschreibung: Die IPv6 deployment Liste der Bangalore Linux User Group</P
></LI
><LI
><P
><A
HREF="http://groups.yahoo.com/group/packet-switching"
TARGET="_top"
>packet-switching</A
>
Beschreibung: Dies Liste behandelt folgende Themen: packet switching theory, technology, implementation and application in any relevant aspect including without limitation LAPB, X.25, SDLC, P802.1d, LLC, IP, IPv6, IPX, DECNET, APPLETALK, FR, PPP, IP Telephony, LAN PBX systems, management protocols like SNMP, e-mail, network transparent window systems, protocol implementation, protocol verification, conformance testing and tools used in maintaining or developing packet switching systems.</P
></LI
><LI
><P
>de.comm.protocols.tcp-ip
Beschreibung: Umstellung auf IPv6
Quelle: <A
HREF="http://www.faqs.org/faqs/de-newsgroups/chartas/index.html"
TARGET="_top"
>Chartas der Newsgruppen in de.*</A
></P
></LI
><LI
><P
>Google Group: <A
HREF="http://groups.google.com/groups?hl=en&#38;lr=&#38;ie=UTF-8&#38;oe=UTF8&#38;safe=off&#38;group=comp.protocols.tcp-ip"
TARGET="_top"
>comp.protocols.tcp-ip</A
></P
></LI
><LI
><P
>Google Group: <A
HREF="http://groups.google.com/groups?hl=en&#38;lr=&#38;ie=UTF-8&#38;oe=UTF8&#38;safe=off&#38;group=linux.debian.maint.ipv6"
TARGET="_top"
>linux.debian.maint.ipv6</A
></P
></LI
><LI
><P
>Google Group: <A
HREF="http://groups.google.com/groups?hl=en&#38;lr=&#38;ie=UTF-8&#38;oe=UTF8&#38;safe=off&#38;group=microsoft.public.platformsdk.networking.ipv6"
TARGET="_top"
>microsoft.public.platformsdk.networking.ipv6</A
></P
></LI
><LI
><P
>Google Group: <A
HREF="http://groups.google.com/groups?hl=en&#38;lr=&#38;ie=UTF-8&#38;oe=UTF8&#38;safe=off&#38;group=fa.openbsd.ipv6"
TARGET="_top"
>fa.openbsd.ipv6</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="INFORMATION-ONLINETESTTOOLS"
>25.6. Online-Werkzeuge</A
></H2
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="AEN4081"
>25.6.1. Test-Werkzeuge</A
></H3
><P
></P
><UL
><LI
><P
>ping, traceroute, tracepath, 6bone registry, DNS: <A
HREF="http://www.join.uni-muenster.de/lab/testtools.html"
TARGET="_top"
>JOIN / Testtools</A
> (nur in deutscher Sprache, sollte aber keine Probleme für nicht Deutsch sprechende Personen sein)</P
></LI
><LI
><P
>traceroute6, whois: <A
HREF="http://www.ipng.nl/"
TARGET="_top"
>IPng.nl</A
></P
></LI
><LI
><P
>AAAA Lookup Checker <A
HREF="http://www.cnri.dit.ie/cgi-bin/check_aaaa.pl"
TARGET="_top"
>http://www.cnri.dit.ie/cgi-bin/check_aaaa.pl</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN4093"
>25.6.2. Informationsbeschaffung</A
></H3
><P
></P
><UL
><LI
><P
><A
HREF="http://www.ripe.net/ripencc/mem-services/registration/ipv6/ipv6allocs.html"
TARGET="_top"
>List of worldwide all IPv6-aggregated IP-Blocks</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN4099"
>25.6.3. IPv6 Looking Glasses</A
></H3
><P
></P
><UL
><LI
><P
><A
HREF="http://www.v6.dren.net/lg/"
TARGET="_top"
>DRENv6 Looking Glass</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN4105"
>25.6.4. Hilfsapplikationen</A
></H3
><P
></P
><UL
><LI
><P
><A
HREF="http://www.tdoi.org/prefcalc.php"
TARGET="_top"
>IPv6 Prefix Calculator</A
> von <A
HREF="http://www.tdoi.org/"
TARGET="_top"
>TDOI</A
></P
></LI
><LI
><P
><A
HREF="http://www.maths.tcd.ie/cgi-bin/check_dns.pl"
TARGET="_top"
>DNS record checker</A
></P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="INFORMATION-TRAININGSANDSEMINARS"
>25.7. Trainings, Seminare</A
></H2
><P
></P
><UL
><LI
><P
><A
HREF="http://www.e-trainonline.com/html/ciw_internetworking_profession.html#IPv6"
TARGET="_top"
>CIW Internetworking Professional Training CBT CD</A
></P
></LI
><LI
><P
><A
HREF="http://www.trainingpages.com/x/category,kw-1628,.html"
TARGET="_top"
>Training Pages</A
>, U.K. - Suche nach IPv6 (8 Kurse, 2006-08-21)</P
></LI
><LI
><P
><A
HREF="http://www.erion.co.uk/ipv6.html"
TARGET="_top"
>Erion IPv6 Training</A
>. UK</P
></LI
></UL
><P
>Fehlt etwas? Vorschläge sind willkommen!</P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="INFORMATION-ONLINEDISCOVERY"
>25.8. 'Die Online Entdeckung' ...</A
></H2
><P
>IPv6: Addressing The Needs Of the Future von Yankee Group (Autor)</P
><P
>Listenpreis: $595.00</P
><P
>Edition: e-book (Acrobat Reader)</P
><P
>Seiten: 3 (drei)</P
><P
>Hrsg.: MarketResearch.com; ISBN B00006334Y; (1. November 2001)</P
><P
>;-) Die Auflagenhöhe dieses eBooks wäre doch sehr interessant...</P
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="AEN4136"
></A
>Kapitel 26. Versions-Überblick / Danksagung / Zum Schluss</H1
><DIV
CLASS="SECT1"
><H2
CLASS="SECT1"
><A
NAME="REVISION-HISTORY"
>26.1. Versions-Überblick</A
></H2
><P
>Die Versionen x.y. werden im Internet veröffentlicht.</P
><P
>Die Versionen x.y.z stellen Zwischenschritte dar, die nur als LyX- und SGML-Datei im TLDP-CVS veröffentlicht werden. Dadurch, dass allerdings Deep Space 6 diese SGML-Dateien spiegelt und daraus öffentliche Versionen generiert, sind diese auch dort und auf den Servern, die Deep Space 6 spiegeln, verfügbar.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN4142"
>26.1.1. Ausgabe 0.x</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN4144"
>26.1.1.1. Englische Sprachversion (Peter Bieringer's Original)</A
></H4
><P
>Die Historie der Änderungen der englischen Sprachversion finden Sie dort: <A
HREF="http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/revision-history.html"
TARGET="_top"
>TLDP / Linux+IPv6-HOWTO / Revision History</A
>.</P
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="AEN4148"
>26.1.1.2. Deutsche Sprachversion</A
></H4
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
>0.66.de.1</DT
><DD
><P
>2010-04-20/PB: Sync mit Original</P
></DD
><DT
>0.65.de.1</DT
><DD
><P
>2009-12-13/PB: Sync mit Original</P
></DD
><DT
>0.64.de.1</DT
><DD
><P
>2009-06-11/PB: Sync mit Original</P
></DD
><DT
>0.63.de.2</DT
><DD
><P
>2009-03-13/PB: remove original transator contact address, no longer responsible for further changes</P
></DD
><DT
>0.63.de.1</DT
><DD
><P
>2009-02-14/PB: Sync mit Original</P
></DD
><DT
>0.62.de.1</DT
><DD
><P
>2008-11-09/PB: Sync mit Original</P
></DD
><DT
>0.61.1.de.3</DT
><DD
><P
>2007-08-25/PB: Fix Typo</P
></DD
><DT
>0.61.1.de.2</DT
><DD
><P
>2007-08-17/PB: Fix Typo</P
></DD
><DT
>0.61.1.de.1</DT
><DD
><P
>2007-11-11/PB: Sync mit Original</P
></DD
><DT
>0.61.de.1</DT
><DD
><P
>2007-10-06/PB: Sync mit Original, kleine Korrekturen</P
></DD
><DT
>0.60.de.1</DT
><DD
><P
>2007-05-31/PB: Sync mit Original (bis auf C-API), kleine Korrekturen</P
></DD
><DT
>0.51.de.1</DT
><DD
><P
>2006-11-08/PB: Sync mit Original</P
></DD
><DT
>0.50.2.de.1</DT
><DD
><P
>2006-10-25/PB: Sync mit Original</P
></DD
><DT
>0.50.1.de.1</DT
><DD
><P
>2006-09-23/PB: Sync mit Original</P
></DD
><DT
>0.50.de.1</DT
><DD
><P
>2006-08-24/PB: Sync mit Original</P
></DD
><DT
>0.49.5.de.1</DT
><DD
><P
>2006-08-23/PB: Sync mit Original</P
></DD
><DT
>0.49.4.de.1</DT
><DD
><P
>2006-08-21/PB: Sync mit Original, Korrektur bei Adresstypen (Übersetzungsfehler)</P
></DD
><DT
>0.49.3.de.1</DT
><DD
><P
>2006-08-20/PB: Sync mit Original</P
></DD
><DT
>0.49.2.de.1</DT
><DD
><P
>2006-08-20/PB: Sync mit Original</P
></DD
><DT
>0.49.1.de.1</DT
><DD
><P
>2006-06-13/PB: Sync mit Original</P
></DD
><DT
>0.49.de.1</DT
><DD
><P
>2005-10-03/PB: Sync mit Original</P
></DD
><DT
>0.48.de.1</DT
><DD
><P
>2005-01-11/PB: Sync mit Original</P
></DD
><DT
>0.47.de.1</DT
><DD
><P
>2004-08-30/PB: Sync mit Original</P
></DD
><DT
>0.46.5.de.1</DT
><DD
><P
>2004-07-22/PB: Sync mit Original</P
></DD
><DT
>0.46.4.de.1</DT
><DD
><P
>2004-07-19/PB: Sync mit Original und kleine Korrekturen der Übersetzung</P
></DD
><DT
>0.46.2.de.1</DT
><DD
><P
>2004-05-22/PB: Sync mit Original</P
></DD
><DT
>0.46.1.de.1</DT
><DD
><P
>2004-04-18/PB: Sync mit Original</P
></DD
><DT
>0.46.de.1</DT
><DD
><P
>2004-04-04/PB: Sync mit Original (Italienische Übersetzung verfügbar, Informationen über DHCPv6, kleinere Updates)</P
></DD
><DT
>0.45.1.de.1</DT
><DD
><P
>2004-01-12/PB: Sync mit Original (kleine Erweiterung)</P
></DD
><DT
>0.45.de.1</DT
><DD
><P
>2004-01-11/PB: Sync mit Original (kleine Korrekturen, URL-Korrekturen und Erweiterungen)</P
></DD
><DT
>0.44.2.de.1</DT
><DD
><P
>2003-10-30/PB: Sync mit Original (kleine Korrektur)</P
></DD
><DT
>0.44.de.1</DT
><DD
><P
>2003-08-15/PB: Sync mit Original (URL-Korrekturen, Tipp bei tcp_wrappers und Apache2)</P
></DD
><DT
>0.43.2.de.2</DT
><DD
><P
>2003-07-26/PB: Sync mit Original (URL-Korrekturen)</P
></DD
><DT
>0.43.2.de.1</DT
><DD
><P
>2003-06-11/PB: Sync mit Original (URL-Korrekturen)</P
></DD
><DT
>0.43.1.de.2</DT
><DD
><P
>2003-06-11/PB: Typo gefixt</P
></DD
><DT
>0.43.1.de.1</DT
><DD
><P
>2003-06-07/PB: Sync mit Original (Links, IPsec)</P
></DD
><DT
>0.43.de.1</DT
><DD
><P
>2003-06-05/PB: Sync mit Original (SuSe-Linux-Tipps)</P
></DD
><DT
>0.41.4.de.1</DT
><DD
><P
>2003-05-02/PB: Sync mit Original (URL-Korrekturen)</P
></DD
><DT
>0.41.3.de.1</DT
><DD
><P
>2003-04-23/PB: Sync mit Original (URL-Korrektur)</P
></DD
><DT
>0.41.1.de.1</DT
><DD
><P
>2003-03-31/PB: Sync mit Original (URL-Korrektur)</P
></DD
><DT
>0.41.de.1</DT
><DD
><P
>2003-03-22/PB: Angabe der URL dieser Übersetzung</P
></DD
><DT
>0.40.2.de.1</DT
><DD
><P
>2003-02-27/PB: Sync mit Original (URL-Korrektur)</P
></DD
><DT
>0.40.1.de.1</DT
><DD
><P
>2003-02-12/PB: Sync mit Original (Debian-Linux-Konfiguration), Ersetzen der Info über verfügbare Übersetzungen durch einen Link zum Original.</P
></DD
><DT
>0.40.de.1</DT
><DD
><P
>2003-02-10/PB: Kleine sprachliche Änderungen und paar kleine Verbesserungen.</P
></DD
><DT
>0.39.2.de.1</DT
><DD
><P
>2003-02-10/GK: Erste öffentliche Version in deutscher Sprache. Diese Version entspricht inhaltlich der englischen Version 0.39.2. Der Zusatz de.1 bezeichnet die Revision der deutschen Sprachversion. Diese Version wurde unter Mandrake Linux 9.0 mit LyX Version 1.2.1 und der Klasse DocBook book (SGML) erstellt.</P
></DD
></DL
></DIV
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="CREDITS"
>26.2. Danksagung</A
></H2
><P
>Dieser feinen Liste hinzugefügt werden können Sie am schnellsten, indem Sie mir Bug fixes, Korrekturen und/oder Updates schicken ;-)</P
><P
>Wenn Sie eine größere Überarbeitung vornehmen wollen, können Sie dazu die LyX Datei (siehe <A
HREF="#GENERAL-ORIGINAL-SOURCE"
>original source</A
>) verwenden und mir entsprechende diffs dann zusenden, diffs der SGML-Version sind hingegen nicht sehr nützlich.</P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="MAJOR-CREDITS"
>26.2.1. Primärer Dank...</A
></H3
><P
></P
><UL
><LI
><P
>David Ranch &#60;dranch at trinnet dot net&#62;: Er ermutigte mich zum Schreiben dieses HOWTOs, für seine Anmerkungen zu den ersten englischen Versionen, für seine Beiträge zu den IPv6 Test-Ergebnissen auf der IPv6-Homepage des Autors. Ebenfalls für seine größeren Überarbeitungen und Vorschläge.</P
></LI
><LI
><P
>Pekka Savola &#60;pekkas at netcore dot fi&#62;: Für größere Überarbeitungen der englischen Version, seinen Input und Vorschläge.</P
></LI
><LI
><P
>Georg Käfer &#60;gkaefer at gmx dot at&#62;: Für das Aufspüren eines Fehlers bei der PDF Erstellung (durch LDP Betreuer Greg Ferguson behoben), den Input betreff deutscher Bücher, einer großen URL-Liste, die Überprüfung aller Links und vieler weiterer Vorschläge, Korrekturen und Beiträge.</P
></LI
></UL
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN4345"
>26.2.2. Sonstiger Dank...</A
></H3
><DIV
CLASS="SECT3"
><H4
CLASS="SECT3"
><A
NAME="AEN4347"
>26.2.2.1. Verwaltung des Dokuments</A
></H4
><P
>Als Neuling ein LDP HOWTO zu schreiben (in LyX schreiben sowie SGML konformer Export zu DocBook) ist nicht so einfach, wie von so manchem behauptet wird. Es gibt einige sonderbare Fallen... Nichtsdestoweniger Dank an:</P
><P
></P
><UL
><LI
><P
>Autoren des <A
HREF="http://www.tldp.org/LDP/LDP-Author-Guide/"
TARGET="_top"
>LDP Author Guide</A
></P
></LI
><LI
><P
>B. Guillon: Für sein <A
HREF="http://perso.libertysurf.fr/bgu/doc/db4lyx/"
TARGET="_top"
>DocBook with LyX HOWTO</A
></P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><HR><H4
CLASS="SECT3"
><A
NAME="CONTENT-RELATED-CREDITS"
>26.2.2.2. Inhalt des Dokuments</A
></H4
><P
>Mein Dank für Fixes und Hinweise ist hier aufgelistet - und die Liste wird mit der Zeit sicherlich länger werden...
Bezüglich der englischen Version finden Sie in dieser, hier werden nur diejenigen, die die deutsche Version betreffen, aufgelistet.</P
><P
></P
><UL
><LI
><P
>Nico Schottelius, Oliver Kraus, Götz Bauermann: Typo gefunden</P
></LI
><LI
><P
>Jens Nachtigall: Fehler gefunden</P
></LI
></UL
></DIV
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN4365"
>26.3. Zum Schluss</A
></H2
><P
>Danke für's Lesen. Hoffentlich ist es von Nutzen!</P
><P
>Falls Sie irgendeine Frage haben, abonnieren sie eine entsprechende <A
HREF="#INFORMATION-MAILLISTS"
>maillist</A
> und diskutieren Sie ihr Problem unter Angabe möglichst vieler Informationen.</P
></DIV
></DIV
></DIV
></BODY
></HTML
>