#LyX 2.2 created this file. For more info see http://www.lyx.org/ \lyxformat 508 \begin_document \begin_header \save_transient_properties true \origin unavailable \textclass docbook-book \begin_preamble \end_preamble \use_default_options false \maintain_unincluded_children false \language ngerman \language_package default \inputencoding default \fontencoding global \font_roman "default" "default" \font_sans "default" "default" \font_typewriter "default" "default" \font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false \font_sf_scale 100 100 \font_tt_scale 100 100 \graphics default \default_output_format default \output_sync 0 \bibtex_command default \index_command default \paperfontsize default \spacing single \use_hyperref false \papersize default \use_geometry false \use_package amsmath 1 \use_package amssymb 1 \use_package cancel 0 \use_package esint 0 \use_package mathdots 1 \use_package mathtools 0 \use_package mhchem 1 \use_package stackrel 0 \use_package stmaryrd 0 \use_package undertilde 0 \cite_engine basic \cite_engine_type default \biblio_style plain \use_bibtopic false \use_indices false \paperorientation portrait \suppress_date false \justification true \use_refstyle 0 \index Stichwortverzeichnis \shortcut idx \color #008000 \end_index \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \paragraph_indentation default \quotes_language swedish \papercolumns 1 \papersides 1 \paperpagestyle default \tracking_changes false \output_changes false \html_math_output 0 \html_css_as_file 0 \html_be_strict false \end_header \begin_body \begin_layout Title Linux IPv6 HOWTO (de) \end_layout \begin_layout Standard \lang english \begin_inset ERT status open \begin_layout Plain Layout PeterBieringerpb at bieringer dot de \end_layout \end_inset \end_layout \begin_layout Standard \lang english \begin_inset ERT status open \begin_layout Plain Layout \end_layout \end_inset \end_layout \begin_layout Standard \begin_inset ERT status open \begin_layout Plain Layout 0.67.de.1wip 2015-08-18 PB \end_layout \end_inset \end_layout \begin_layout Standard \begin_inset ERT status open \begin_layout Plain Layout 0.66.de.1 2014-05-15 PB \end_layout \end_inset \end_layout \begin_layout Standard \begin_inset ERT status open \begin_layout Plain Layout 0.65.de.1 2009-12-13 PB \end_layout \end_inset \end_layout \begin_layout Standard \begin_inset ERT status open \begin_layout Plain Layout 0.64.de.1 2009-06-11 PB \end_layout \end_inset \end_layout \begin_layout Standard \begin_inset ERT status open \begin_layout Plain Layout 0.61.de.1 2007-10-06 PB \end_layout \end_inset \end_layout \begin_layout Standard \begin_inset ERT status open \begin_layout Plain Layout \end_layout \end_inset \end_layout \begin_layout Abstract Das Ziel des Linux IPv6 HOWTO ist die Beantwortung von Basis- und Experten-Frage n zum Thema IPv6 mit Linux-Betriebssystemen. Dieses HOWTO will dem Leser genug Informationen bereitstellen, um IPv6-Anwendun gen auf Linux Computer installieren, konfigurieren und anwenden zu können. \lang english Zwischen-Versionen sind auf \begin_inset CommandInset href LatexCommand href name "mirrors.bieringer.de" target "http://mirrors.bieringer.de/Linux+IPv6-HOWTO/" \end_inset oder \begin_inset CommandInset href LatexCommand href name "mirrors.deepspace6.net" target "http://mirrors.deepspace6.net/Linux+IPv6-HOWTO/" \end_inset verfügbar. Änderungen sind in der \begin_inset CommandInset ref LatexCommand ref name "Revisionshistorie" reference "revision-history" \end_inset aufgelistet. \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-general" \end_inset Allgemein \end_layout \begin_layout Standard Informationen über verfügbare Übersetzungen finden Sie im Abschnitt \begin_inset CommandInset ref LatexCommand ref name "Übersetzungen" reference "general-translations" \end_inset . \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "general-copright" \end_inset Copyright, Lizenz und anderes \end_layout \begin_layout Subsection Copyright \end_layout \begin_layout Standard Verfasst von und urheberrechtlich geschützt durch Peter Bieringer © 2001-2014. \begin_inset Newline newline \end_inset \end_layout \begin_layout Standard Deutsche Übersetzung: \end_layout \begin_layout Standard Verfasst von und urheberrechtlich geschützt durch Georg Käfer © 2002-2003, weitergeführt von Peter Bieringer © 2004-2014. \end_layout \begin_layout Subsection Lizenz \end_layout \begin_layout Standard \series bold Dieses Linux IPv6 HOWTO wird unter der GNU GPL Version 2 herausgegeben: \series default \begin_inset Newline newline \end_inset \end_layout \begin_layout Standard Dieses Linux IPv6 HOWTO ist ein Handbuch zur Anwendung und Konfiguration von IPv6 auf Linux-Systemen. \begin_inset Newline newline \end_inset \end_layout \begin_layout Standard Copyright © 2001-2014 Peter Bieringer \begin_inset Newline newline \end_inset Deutsche Übersetzung Copyright © 2002-2003 Georg Käfer, weitergeführt von Peter Bieringer © 2004-2013. \begin_inset Newline newline \end_inset \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard Dieses Programm wird in der Hoffnung verteilt, dass es für Sie nutzvoll ist, jedoch OHNE JEDWEDER GEWÄHRLEISTUNG; sogar ohne der implizierten Gewährlei stung der MARKTFÄHIGKEIT oder der FÄHIGKEIT ZU EINEM BESONDEREN ZWECK bzw. VORSATZ. Weitere Details finden Sie in der GNU General Public License. \end_layout \begin_layout Standard 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., \lang english 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA \lang ngerman . \end_layout \begin_layout Subsection Über den Autor \end_layout \begin_layout Subsubsection Internet/IPv6 Background des Autors \end_layout \begin_layout Itemize 1993: In Kontakt mit dem Internet getreten, kennenlernen von konsolenbasierte E-Mail- und News-Client-Programme (z.B.: suchen Sie nach \begin_inset Quotes sld \end_inset e91abier \begin_inset Quotes srd \end_inset auf \begin_inset CommandInset href LatexCommand href name "groups.google.com" target "http://groups.google.com/" \end_inset , das ist der Autor). \end_layout \begin_layout Itemize 1996: Anfrage zur Gestaltung eines IPv6 Kurses inklusive eines Workshops zum Thema Linux Betriebssystem bekommen. \end_layout \begin_layout Itemize 1997: Schreiben einer Anleitung, wie man IPv6 auf Linux Systemen installieren, konfigurieren und anwenden kann, genannt \begin_inset CommandInset href LatexCommand href name "IPv6 & Linux - HowTo" target "http://www.bieringer.de/linux/IPv6/" \end_inset (siehe unter \begin_inset CommandInset href LatexCommand href name "IPv6 & Linux - HowTo/History" target "http://www.bieringer.de/linux/IPv6/IPv6-HOWTO/IPv6-HOWTO-0.html#history" \end_inset ). \end_layout \begin_layout Itemize 2001: Begonnen, dieses neue Linux IPv6 HOWTO zu schreiben. \end_layout \begin_layout Subsubsection Ansprechpartner \end_layout \begin_layout Standard Der Autor kann via E-Mail und auch über seine \begin_inset CommandInset href LatexCommand href name "homepage" target "http://www.bieringer.de/pb/" \end_inset kontaktiert werden. \end_layout \begin_layout Standard Der Autor lebt zurzeit in München / Bayern / (Süd-)Deutschland / (Mittel-)Europa / Erde (Festland). \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "general-category" \end_inset Kategorie \end_layout \begin_layout Standard Dieses HOWTO sollte in der Kategorie \begin_inset Quotes sld \end_inset \emph on Networking \emph default / \emph on Protocols \emph default \begin_inset Quotes srd \end_inset aufgelistet werden. \end_layout \begin_layout Section Version, Werdegang und Unerledigtes \end_layout \begin_layout Subsection Version \end_layout \begin_layout Standard Die aktuelle Versionsnummer finden Sie auf der Titelseite. \end_layout \begin_layout Standard Für andere verfügbare Versionen/Übersetzungen siehe auch \lang english \begin_inset CommandInset href LatexCommand href name "http://www.bieringer.de/linux/IPv6/" target "http://www.bieringer.de/linux/IPv6/" \end_inset . \end_layout \begin_layout Subsection Werdegang \end_layout \begin_layout Subsubsection Eckpunkte \end_layout \begin_layout Standard 2001-11-30: Beginn mit der Neukonzeption dieses HOWTOs. \end_layout \begin_layout Standard 2002-01-02: Viel Inhalt eingearbeitet, erste Version des Kapitels 1 veröffentlic ht (Version 0.10). \end_layout \begin_layout Standard 2002-01-14: Weitere Vervollständigung und Überprüfung des Inhalts, öffentliche Freigabe des kompletten Dokuments (Version 0.14). \end_layout \begin_layout Standard 2002-08-16: Polnische Übersetzung ist in Arbeit. \end_layout \begin_layout Standard 2002-10-31: Chinesische Übersetzung ist verfügbar. \end_layout \begin_layout Standard 2002-11-10: Deutsche Übersetzung ist in Arbeit. \end_layout \begin_layout Standard 2003-02-10: Deutsche Übersetzung ist verfügbar. \end_layout \begin_layout Standard \lang english 2003-04-09: Französische \lang ngerman Übersetzung ist in Arbeit. \end_layout \begin_layout Standard \lang english 2003-05-09: Französische \lang ngerman Übersetzung ist verfügbar \end_layout \begin_layout Standard \lang english 2003-10-16: Italienische \lang ngerman Übersetzung ist in Arbeit. \end_layout \begin_layout Standard \lang english 2004-03-12: Italienische \lang ngerman Übersetzung ist verfügbar \end_layout \begin_layout Standard \lang english 2004-06-18: Griechische Übersetzung ist in Arbeit \end_layout \begin_layout Standard \lang english 2005-07-25: Türkische Übersetzung ist verfügbar \end_layout \begin_layout Standard \lang english 2007-03-28: Portugiesisch-Brasilianische Übersetzung ist in Arbeit \end_layout \begin_layout Standard \lang english 2008-07-30: Spanische \lang ngerman Übersetzung ist \lang english verfügbar \lang ngerman (aber noch nicht abgeschlossen) \end_layout \begin_layout Standard \lang english 2011-05-09: Portugiesisch-Brasilianische Übersetzung ist wieder in Arbeit \end_layout \begin_layout Subsubsection Vollständiger Werdegang \end_layout \begin_layout Standard Am Ende dieses Dokumentes finden Sie die \begin_inset CommandInset ref LatexCommand ref name "Historie der Änderungen" reference "revision-history" \end_inset . \end_layout \begin_layout Subsection Unerledigtes \end_layout \begin_layout Itemize Fehlenden Inhalt ergänzen \end_layout \begin_layout Itemize Grammatik-Überprüfung beenden \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "general-translations" \end_inset Übersetzungen \end_layout \begin_layout Standard Übersetzungen müssen den URL, die Versionsnummer und das Copyright des Originald okuments 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. \end_layout \begin_layout Subsection Diverse Sprachen \end_layout \begin_layout Standard \lang english Notiz: eine Übersicht mit URLs ist zu finden unter \begin_inset CommandInset href LatexCommand href name "http://www.bieringer.de/linux/IPv6/" target "http://www.bieringer.de/linux/IPv6/" \end_inset . \end_layout \begin_layout Subsubsection Deutsch \end_layout \begin_layout Standard Mit 2002-11-10 wurde von Georg Käfer 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. \end_layout \begin_layout Standard 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... \end_layout \begin_layout Standard \series bold \emph on Neue deutsche Rechtschreibung \series default \emph default : 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. \end_layout \begin_layout Standard Die URL für diese deutsche Übersetzung ist: \begin_inset CommandInset href LatexCommand href name "http://mirrors.deepspace6.net/Linux+IPv6-HOWTO-de/" target "http://mirrors.deepspace6.net/Linux+IPv6-HOWTO-de/" \end_inset \end_layout \begin_layout Subsubsection Andere Sprachen \end_layout \begin_layout Standard Informationen über Übersetzungen in andere Sprachen finden Sie hier im Originald okument: \begin_inset CommandInset href LatexCommand href name "TLDP / Linux+IPv6-HOWTO / Übersetzungen" target "http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/general-translations.html" \end_inset . \end_layout \begin_layout Section Technisches \end_layout \begin_layout Subsection \begin_inset CommandInset label LatexCommand label name "general-original-source" \end_inset Originalquelle dieses HOWTOs \end_layout \begin_layout Standard 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 \lang english \begin_inset CommandInset href LatexCommand href name "github / tLDP / LDP / users / Peter-Bieringer" target "https://github.com/tLDP/LDP/tree/master/LDP/users/Peter-Bieringer/" \end_inset \lang ngerman verfügbar. \end_layout \begin_layout Standard Auch die deutsche Version wurde mit LyX erstellt und befindet sich ebenfalls im angegebenen CVS-Verzeichnis. \end_layout \begin_layout Subsubsection Zeilenumbruch in Code-Beispielen \end_layout \begin_layout Standard Der Zeilenumbruch wird mit Hilfe eines selbst geschriebenen Tools \begin_inset Quotes sld \end_inset lyxcodelinewrapper.pl \begin_inset Quotes srd \end_inset erstellt; Sie finden das Skript am CVS unter: \begin_inset CommandInset href LatexCommand href name "TLDP-CVS / users / Peter-Bieringer" target "http://cvs.tldp.org/go.to/LDP/LDP/users/Peter-Bieringer/" \end_inset . \end_layout \begin_layout Subsubsection SGML Erzeugung \end_layout \begin_layout Standard SGML wird mit Hilfe der Exportfunktion in LyX generiert. \end_layout \begin_layout Standard Um korrekten SGML Code zu erstellen, müssen einige Korrekturen gemacht werden. Die entsprechenden Perl Skripts finden Sie unter \begin_inset CommandInset href LatexCommand href name "TLDP-CVS / users / Peter-Bieringer" target "http://cvs.tldp.org/go.to/LDP/LDP/users/Peter-Bieringer/" \end_inset : \end_layout \begin_layout Itemize Der Export von Lyx-Tabellen erstellt keine korrekten \begin_inset Quotes sld \end_inset colspan \begin_inset Quotes srd \end_inset Tags. Tool für die Korrektur: \begin_inset Quotes sld \end_inset sgmllyxtabletagfix.pl \begin_inset Quotes srd \end_inset (behoben seit LyX Version 1.2.0) \end_layout \begin_layout Itemize LyX verwendet manchmal , anstelle der normalen, spezielle Links-/Rechts-Formatie rungen 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: \begin_inset Quotes sld \end_inset sgmllyxquotefix.pl \begin_inset Quotes srd \end_inset \end_layout \begin_layout Subsection Online-Verweise auf die HTML Version dieses HOWTOs (Links / Anchors) \end_layout \begin_layout Subsubsection Hauptindexseite \end_layout \begin_layout Standard Im Allgemeinen wird ein Verweis auf die Hauptindexseite empfohlen. \end_layout \begin_layout Subsubsection Seitennamen \end_layout \begin_layout Standard Da die HTML-Seiten aus einer SGML-Datei erstellt werden, werden einige HTML-Date inamen 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. \end_layout \begin_layout Standard Bitte lassen Sie es wissen, wenn Sie glauben, dass ein Tag vergessen wurde. \end_layout \begin_layout Section Vorwort \end_layout \begin_layout Standard Einiges vorab: \end_layout \begin_layout Subsection Wie viele IPv6 & Linux bezogene HOWTOs gibt es? \end_layout \begin_layout Standard Inklusive diesem gibt es drei (3) HOWTO-Dokumente. Pardon, wenn das zu viele sind ;-) \end_layout \begin_layout Subsubsection Linux Ipv6 FAQ/HOWTO (veraltet) \end_layout \begin_layout Standard Das erste IPv6 bezogene Dokument wurde von \emph on Eric Osborne \emph default geschrieben und heißt \begin_inset CommandInset href LatexCommand href name "Linux IPv6 FAQ/HOWTO" target "http://www.linuxhq.com/IPv6/" \end_inset (bitte benutzen Sie den Text nur im historischen Kontext). \series bold Die neueste Version \series default 3.2.1 wurde am 14.Juli \series bold 1997 \series default veröffentlicht. \end_layout \begin_layout Standard 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 \begin_inset Quotes sld \end_inset Werdegang \begin_inset Quotes srd \end_inset eingearbeitet). \end_layout \begin_layout Subsubsection IPv6 & Linux - HowTo (gewartet) \end_layout \begin_layout Standard Ein zweites Dokument ( \begin_inset CommandInset href LatexCommand href name "IPv6 & Linux - HowTo" target "http://www.bieringer.de/linux/IPv6/" \end_inset ) wurde vom selben Autor (Peter Bieringer) geschrieben und liegt im HTML-Format vor. \series bold Begonnen \series default wurde mit dem Schreiben im April \series bold 1997 \series default und die erste englische Version wurde im Juni 1997 veröffentlicht. Das Dokument wird \series bold weiterhin \series default betreut, es wird aber langsam (jedoch nicht komplett) in das Linux IPv6 HOWTO - das Sie gerade lesen - eingearbeitet. \end_layout \begin_layout Subsubsection Linux IPv6 HOWTO (dieses Dokument) \end_layout \begin_layout Standard Da das \begin_inset CommandInset href LatexCommand href name "IPv6 & Linux - HowTo" target "http://www.bieringer.de/linux/IPv6/" \end_inset in HTML geschrieben wurde, war es nicht wirklich mit dem \begin_inset CommandInset href LatexCommand href name "The Linux Documentation Project (TLDP)" target "http://www.tldp.org/" \end_inset kompatibel. Der Autor (Peter Bieringer) bekam Ende Nov. 2001 die Anfrage, das \begin_inset CommandInset href LatexCommand href name "IPv6 & Linux - HowTo" target "http://www.bieringer.de/linux/IPv6/" \end_inset in SGML zu konvertieren. Er entschied sich auf Grund dieser Diskontinuität ( \begin_inset CommandInset href LatexCommand href name "Future of IPv6 & Linux - HowTo" target "http://www.bieringer.de/linux/IPv6/IPv6-HOWTO/IPv6-HOWTO-0.html#history" \end_inset ) und der Tatsache, dass IPv6 mehr und mehr zum Standard wird, zum Schreiben eines neuen Dokuments. Im zweiten HOWTO ( \begin_inset CommandInset href LatexCommand href name "IPv6 & Linux - HowTo" target "http://www.bieringer.de/linux/IPv6/" \end_inset ) wird auch weiterhin dynamischer Inhalt sowie weiterführender Inhalt zu finden sein. \end_layout \begin_layout Section Verwendete Begriffe, Glossar und Abkürzungen \end_layout \begin_layout Subsection Netzwerkbegriffe \end_layout \begin_layout Description Base \begin_inset space ~ \end_inset 10 Dezimales Zahlensystem, das die Zahlen 0-9 beinhaltet. \end_layout \begin_layout Description Base \begin_inset space ~ \end_inset 16 Generell in Programmiersprachen verwendetes hexedezimales Zahlensystem, das die Zahlen 0-9 und die Buchstaben A-F beinhaltet (Groß/Kleinschreibung möglich). \end_layout \begin_layout Description Base \begin_inset space ~ \end_inset 85 85 verschiedene Zahlen/Buchstaben umfasst dieses Zahlensystem und ermöglicht dadurch kürzere Zeichenketten - aber niemals in der Praxis gesehen. \end_layout \begin_layout Description Bit Kleinste Speichereinheit mit dem Wert ein/wahr (1) oder aus/falsch (0) \end_layout \begin_layout Description Byte Meistens eine Menge von 8 bits (aber kein Muss - siehe ältere Computer Systeme) \end_layout \begin_layout Description Device Netzwerkgerät, siehe auch NIC \end_layout \begin_layout Description Dual \begin_inset space ~ \end_inset homed \begin_inset space ~ \end_inset host 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. \end_layout \begin_layout Description Host Im Regelfall handelt es sich um einen Rechner mit einen Link sowie einer aktiven Netzwerk-Schnittstelle, z.B. Ethernet oder (aber nicht und) PPP. \end_layout \begin_layout Description Interface Ident mit \begin_inset Quotes sld \end_inset device \begin_inset Quotes srd \end_inset , siehe auch NIC. \end_layout \begin_layout Description IP \begin_inset space ~ \end_inset Header Kopf eines IP-Paketes (jedes Netzwerk-Paket hat einen header, die Form des headers ist abhängig von der Netzwerkschicht). \end_layout \begin_layout Description Link Ein Link ist eine Schicht 2 Netzwerk-Transportmedium für Pakete; Beispiele sind Ethernet, Token Ring, PPP, SLIP, ATM, ISDN, Frame Relay,... \end_layout \begin_layout Description Node Ein Node (=Knoten) ist ein Host oder ein Router. \end_layout \begin_layout Description Octet Sammlung von acht (8) realen bits, vergleichbar mit \begin_inset Quotes sld \end_inset byte \begin_inset Quotes srd \end_inset . \end_layout \begin_layout Description Port Information für den TCP/UDP dispatcher (Schicht 4), mit dessen Hilfe Informationen auf höhere Schichten transportiert werden. \end_layout \begin_layout Description Protocol 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). \end_layout \begin_layout Description Router Ein Router ist ein Knoten mit zwei (2) oder mehr (physischen oder virtuellen) Schnittstellen, der Datenpakete zwischen den Schnittstellen versenden kann. \end_layout \begin_layout Description Socket Ein IP socket wird durch Quell- und Zieladresse, den Ports (und der Verbindung) definiert. \end_layout \begin_layout Description Stack Ein Stack setzt sich aus Netzwerkschichten zusammen. \end_layout \begin_layout Description Subnetmask IP Netzwerke verwenden Bitmasken um lokale von entfernten Netzwerken zu trennen. \end_layout \begin_layout Description Tunnel Ein Tunnel ist typischerweise eine Punkt-zu-Punkt-Verbindung, über die Datenpakete eines anderen Protokolls ausgetauscht werden. Beispiel: IPv6-in-IPv4 Tunnel. \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "Glossar" \end_inset Abkürzungen \end_layout \begin_layout Description ACL Access Control List - Zugriffsliste) \end_layout \begin_layout Description API Application Programming Interface - Schnittstellen in Programmen zwischen den Applikationen \end_layout \begin_layout Description ASIC Application Specified Integrated Circuit - Applikationsspezifischer integrierter Schaltkreis \end_layout \begin_layout Description BSD Berkeley Software Distribution \end_layout \begin_layout Description CAN-Bus Controller Area Network Bus (physical bus system) \end_layout \begin_layout Description \lang english ISP Internet Service Provider \end_layout \begin_layout Description KAME 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 Öffentlich keit zur Verfügung zu stellen \begin_inset CommandInset href LatexCommand href name "www.kame.net" target "http://www.kame.net/" \end_inset . \end_layout \begin_layout Description \lang english LIR Local Internet Registry - Lokale Internet Registratur \end_layout \begin_layout Description NIC Network Interface Controller - Netzwerk[schnittstellen]karte, kurz Netzwerkk arte \end_layout \begin_layout Description RFC Request For Comments - eine Sammlung von technischen und organisatorischen Dokumenten zum Thema Internet. \end_layout \begin_layout Description USAGI UniverSAl playGround for Ipv6 Project - dieses Projekt will für das Linux System einen IPv6 Protokoll stack mit Produktionsqualität ausliefern. \end_layout \begin_layout Subsection In diesem Dokument verwendete Syntax \end_layout \begin_layout Subsubsection Zeilenumbruchs-Zeichen bei langen Codebeispielen \end_layout \begin_layout Standard Das spezielle Zeichen \begin_inset Quotes sld \end_inset ¬ \begin_inset Quotes srd \end_inset zeigt in den Beispielen an, dass die Zeile umgebrochen wurde. Dies wurde für eine korrekte Darstellung des Textes in den PDF- und PS-Versione n benötigt. \end_layout \begin_layout Subsubsection Platzhalter \end_layout \begin_layout Standard In allgemeinen Beispielen können Sie öfters lesen: \end_layout \begin_layout Code \end_layout \begin_layout Standard In Skripts oder an Ihrer Kommandozeile müssen Sie die < und > weglassen und den Text mit dem entsprechenden Inhalt ersetzen. Das Beispiel hier z.B. könnte sein: \end_layout \begin_layout Code 1.2.3.4 \end_layout \begin_layout Subsubsection Shell-Kommandos \end_layout \begin_layout Standard Kommandos, die nicht als Root-Benutzer ausgeführt werden, beginnen mit $, z.B. \end_layout \begin_layout Code $ whoami \end_layout \begin_layout Standard Befehle, die mit Root-Rechten ausgeführt werden, beginnen mit #, z.B. \end_layout \begin_layout Code # whoami \end_layout \begin_layout Section Grundvoraussetzung für die Verwendung dieses HOWTOs \end_layout \begin_layout Subsection Persönliche Anforderungen \end_layout \begin_layout Subsubsection Erfahrung mit Unix Tools \end_layout \begin_layout Standard Sie sollten mit den gängigsten Unix Tools wie \emph on grep \emph default , \emph on awk \emph default , \emph on find \emph default , etc. und deren Kommandozeilen-Optionen vertraut sein. \end_layout \begin_layout Subsubsection Erfahrung mit Netzwerktheorie \end_layout \begin_layout Standard Sie sollten das Schichtmodell und die einzelnen Schichten, Protokolle, Adressart en, Kabelsorten, Stecker etc. kennen. Wenn das Neuland für Sie sein sollte, finden Sie hier einen guten Ausgangspunkt : \begin_inset CommandInset href LatexCommand href name "http://www.rigacci.org/docs/biblio/online/intro_to_networking/book1.htm" target "http://www.rigacci.org/docs/biblio/online/intro_to_networking/book1.htm" \end_inset \end_layout \begin_layout Subsubsection Erfahrung mit der Konfiguration von IPv4 Netzen \end_layout \begin_layout Standard Sie sollten definitiv Erfahrung mit der Konfiguration von IPv4 Netzwerken haben, andernfalls werden Sie dem Text nur schwer folgen können. \end_layout \begin_layout Subsubsection Erfahrung mit dem Domain Name System (DNS) \end_layout \begin_layout Standard Sie sollten ebenfalls das Domain Name System (DNS) verstehen und damit umgehen können. \end_layout \begin_layout Subsubsection Routine im Umgang mit Strategien zur Netzwerk-Fehlersuche \end_layout \begin_layout Standard Sie sollten zumindest mit tcpdump umgehen und den Output des Programms interpret ieren können. Andernfalls wird die Netzwerk-Fehlersuche für Sie schwierig. \end_layout \begin_layout Subsection Linux kompatible Hardware \end_layout \begin_layout Standard Sicherlich wollen Sie mit realer Hardware experimentieren und nicht darüber an dieser Stelle lesen und an der einen oder anderen Stelle einschlummern. ;-7) \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-basics" \end_inset Grundlagen \end_layout \begin_layout Section Was ist IPv6? \end_layout \begin_layout Standard IPv6 ist ein neues Schicht 3 Vermittlungsprotokoll \color none und es wird IPv4 (auch als IP bekannt) ablösen. IPv4 wurde vor langer Zeit entworfen ( \begin_inset CommandInset href LatexCommand href name "RFC 760 / Internet Protocol" target "http://www.faqs.org/rfcs/rfc760.html" \end_inset vom Januar 1980). Seitdem wurden viele Adressen vergeben und Erweiterungen angeregt. Die aktuelle RFC ist \lang english \begin_inset CommandInset href LatexCommand href name "RFC 2460 / Internet Protocol Version 6 Specification" target "http://www.faqs.org/rfcs/rfc2460.html" \end_inset \lang ngerman . 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. \end_layout \begin_layout Standard Für weitere Informationen zur IPv6 Geschichte siehe die älteren RFCs z.B. \begin_inset CommandInset href LatexCommand href name "SWITCH IPv6 Pilot / References" target "http://www.switch.ch/lan/ipv6/references.html" \end_inset . \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "basic-history-IPv6-Linux" \end_inset Geschichte von IPv6 & Linux \end_layout \begin_layout Standard Die Jahre 1992, 1993 und 1994 der allgemeinen IPv6 Geschichte können Sie in folgendem Dokument nachlesen: \begin_inset CommandInset href LatexCommand href name "IPv6 or IPng (IP next generation)" target "http://www.laynetworks.com/IPv6.htm#CH3" \end_inset . \end_layout \begin_layout Standard Zu erledigen: Bessere Chronologie, mehr Inhalt \end_layout \begin_layout Subsection Anfang \end_layout \begin_layout Standard 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: \end_layout \begin_layout Code diff -u --recursive --new-file v2.1.7/linux/include/linux/in6.h \end_layout \begin_layout Code ¬ linux/include/linux/in6.h \end_layout \begin_layout Code --- v2.1.7/linux/include/linux/in6.h Thu Jan 1 02:00:00 1970 \end_layout \begin_layout Code +++ linux/include/linux/in6.h Sun Nov 3 11:04:42 1996 \end_layout \begin_layout Code @@ -0,0 +1,99 @@ \end_layout \begin_layout Code +/* \end_layout \begin_layout Code + * Types and definitions for AF_INET6 \end_layout \begin_layout Code + * Linux INET6 implementation \end_layout \begin_layout Code + * + * Authors: \end_layout \begin_layout Code + * Pedro Roque <******> \end_layout \begin_layout Code + * \end_layout \begin_layout Code + * Source: \end_layout \begin_layout Code + * IPv6 Program Interfaces for BSD Systems \end_layout \begin_layout Code + * \end_layout \begin_layout Standard Diese Zeilen entstammen dem patch-2.1.8 (die E-Mail-Adresse wurde hier beim Copy & Paste absichtlich gelöscht). \end_layout \begin_layout Subsection Übergangszeit \end_layout \begin_layout Standard 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 \begin_inset CommandInset href LatexCommand href name "USAGI" target "http://www.linux-ipv6.org/" \end_inset 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 \begin_inset CommandInset href LatexCommand href name "KAME project" target "http://www.kame.net/" \end_inset umgesetzt wurde. Von Zeit zu Zeit wurden im Vergleich zu den aktuellen Standard Linux-Kernel-Que llen ein Auszug erstellt. \end_layout \begin_layout Standard \lang english Bis zum Start der Entwicklungs-Kernel Serie 2.5.x, der \begin_inset CommandInset href LatexCommand href name "USAGI" target "http://www.linux-ipv6.org/" \end_inset 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. \end_layout \begin_layout Standard \lang english Während der Entwicklung in der Serie 2.5.x hat \begin_inset CommandInset href LatexCommand href name "USAGI" target "http://www.linux-ipv6.org/" \end_inset versucht, so viel wie möglich ihrer Erweiterungen darin zu integrieren. \end_layout \begin_layout Subsection Heute \end_layout \begin_layout Standard \lang english Viele der von \begin_inset CommandInset href LatexCommand href name "USAGI" target "http://www.linux-ipv6.org/" \end_inset und anderen lang entwickelten IPv6-bezogenen Patches sind bereits in der Vanilla Kernel Serie 2.6.x integriert. \end_layout \begin_layout Subsection Zukunft \end_layout \begin_layout Standard \lang english \begin_inset CommandInset href LatexCommand href name "USAGI" target "http://www.linux-ipv6.org/" \end_inset 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. \end_layout \begin_layout Section Wie sehen IPv6 Adressen aus? \end_layout \begin_layout Standard \align left Wie gesagt, IPv6 Adressen sind 128 bit lang. Diese bit-Anzahl kann sehr hohe dezimale Zahlen mit bis zu 39 Ziffern ergeben: \end_layout \begin_layout Code 2^128-1: 340282366920938463463374607431768211455 \end_layout \begin_layout Standard \align left 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 \begin_inset Quotes srd \end_inset nibble \begin_inset Quotes srd \end_inset genannt) durch die Zeichen 0-9 und a-f (10-15) dargestellt, wodurch die Länge auf 32 Zeichen reduziert wird. \end_layout \begin_layout Code 2^128-1: 0xffffffffffffffffffffffffffffffff \end_layout \begin_layout Standard \align left 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 \begin_inset Quotes srd \end_inset 0x \begin_inset Quotes srd \end_inset (ein in Programmiersprachen verwendetes Identifizierungsmerkmal für hexadezimal e Werte) entfernt: \end_layout \begin_layout Code 2^128-1: ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff \end_layout \begin_layout Standard \align left Eine gültige Adresse (s.u. Adress-Typen) ist z.B.: \end_layout \begin_layout Code 2001:0db8:0100:f101:0210:a4ff:fee3:9566 \end_layout \begin_layout Standard \align left Der Vereinfachung halber können führende Nullen jedes 16 bit-Blocks weggelassen werden: \end_layout \begin_layout Code 2001:0db8:0100:f101:0210:a4ff:fee3:9566 -> \end_layout \begin_layout Code ¬ 2001:0db8:100:f101:210:a4ff:fee3:9566 \end_layout \begin_layout Standard Eine Sequenz von 16 bit-Blöcken, die nur Nullen enthaltet, kann durch ein \begin_inset Quotes eld \end_inset \family typewriter :: \family default \begin_inset Quotes eld \end_inset ersetzt werden. Diese Komprimierung kann aber nicht öfters als einmal durchgeführt werden \end_layout \begin_layout Code 2001:0db8:100:f101:0:0:0:1 -> 2001:0db8:100:f101::1 \end_layout \begin_layout Standard \align left Die höchstmögliche Reduktion sieht man bei der IPv6 Localhost Adresse: \end_layout \begin_layout Code 0000:0000:0000:0000:0000:0000:0000:0001 -> ::1 \end_layout \begin_layout Standard Es gibt auch eine so genannte \emph on kompakte \emph default Darstellung (base 85 codiert) \begin_inset CommandInset href LatexCommand href name "RFC 1924 / A Compact Representation of IPv6 Addresses" target "http://www.faqs.org/rfcs/rfc1924.html" \end_inset (publiziert am 1. April 1996). Diese Notation wurde allerdings nie in der Praxis gesehen und ist wahrscheinlic h ein Aprilscherz. Ein Beispiel: \end_layout \begin_layout Code # ipv6calc --addr_to_base85 2001:0db8:0100:f101:0210:a4ff:fee3:9566 \end_layout \begin_layout Code Itu&-ZQ82s>J%s99FJXT \end_layout \begin_layout Quotation Info: \emph on ipv6calc \emph default ist ein IPv6 Adressen-Format-Umrechner und Konvertierungsprogramm und ist hier zu finden: \begin_inset CommandInset href LatexCommand href name "ipv6calc homepage" target "http://www.deepspace6.net/projects/ipv6calc.html" \end_inset ( \begin_inset CommandInset href LatexCommand href name "Mirror" target "http://mirrors.bieringer.de/www.deepspace6.net/projects/ipv6calc.html" \end_inset ) \end_layout \begin_layout Section FAQ (Grundlagen) \end_layout \begin_layout Subsection Warum wird der Nachfolger von IPv4 nun IPv6 und nicht IPv5 genannt? \end_layout \begin_layout Standard \align left In jedem IP-Header werden die ersten 4 Bits für die Protokollversion reserviert. So sind theoretisch die Protokollnummern 0 bis 15 möglich: \end_layout \begin_layout Itemize \align left 4: Wird schon für IPv4 verwendet \end_layout \begin_layout Itemize \align left 5: Ist für das Stream Protocol (STP, \begin_inset CommandInset href LatexCommand href name "RFC 1819 / Internet Stream Protocol Version 2" target "http://www.faqs.org/rfcs/rfc1819.html" \end_inset ) reserviert (das aber nie den Weg in die Öffentlichkeit fand) \end_layout \begin_layout Standard \align left So war die nächste freie Zahl 6. IPv6 war geboren! \end_layout \begin_layout Subsection IPv6 Adressen: Warum ist die Anzahl der Bits so groß? \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard Die IPv6 Designer haben 128 Bit gewählt, 4-mal mehr als im heutigen IPv4. \end_layout \begin_layout Standard Aber die benutzbare Größe ist kleiner als es erscheinen mag, da in dem gegenwärt ig 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. \end_layout \begin_layout Standard Weitere Informationen finden Sie unter \begin_inset CommandInset href LatexCommand href name "RFC 1715 / The H Ratio for Address Assignment Efficiency" target "http://www.faqs.org/rfcs/rfc1715.html" \end_inset und \begin_inset CommandInset href LatexCommand href name "RFC 3194 / The Host-Density Ratio for Address Assignment Efficiency" target "http://www.faqs.org/rfcs/rfc3194.html" \end_inset . \end_layout \begin_layout Subsection IPv6 Adressen: Warum ist die Bit-Anzahl bei einem neuen Design so klein? \end_layout \begin_layout Standard \align left 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-Imple mentierungen. 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 transportierte n Daten in einem Schicht 3-Paket für Adressen und nicht für die \begin_inset Quotes srd \end_inset Nutzlast \begin_inset Quotes srd \end_inset benötigt würden. \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-addresstypes" \end_inset Adress-Typen \end_layout \begin_layout Standard Wie bei IPv4 können IPv6-Adressen mittels Subnetzmasken (subnet masks) in einen Netz- und einen Host-Teil unterteilt werden. \end_layout \begin_layout Standard 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 Implementierun g des IPv6 Stacks (um DoS Attacken vorzubeugen). \end_layout \begin_layout Standard 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). \end_layout \begin_layout Standard Zur Unterstützung einer automatischen Konfiguration wird die Bitanzahl in einen Netzwerk-Teil (vordere 64 Bits) und einen Hostteil (hintere 64 Bits). \end_layout \begin_layout Section Adressen ohne speziellen Präfix \end_layout \begin_layout Subsection Localhost Adresse \end_layout \begin_layout Standard Dies ist eine spezielle Adresse für das Loopback Interface, vergleichbar zur \begin_inset Quotes sld \end_inset 127.0.0.1 \begin_inset Quotes srd \end_inset bei IPv4. Bei IPv6 lautet die localhost Adresse: \end_layout \begin_layout Code 0000:0000:0000:0000:0000:0000:0000:0001 \end_layout \begin_layout Standard bzw. komprimiert: \end_layout \begin_layout Code ::1 \end_layout \begin_layout Standard \align left Pakete mit dieser Quell- bzw. Ziel-Adresse sollten niemals den sendenden Host verlassen. \end_layout \begin_layout Subsection Unspezifische Adresse \end_layout \begin_layout Standard Dies ist eine spezielle Adresse vergleichbar mit \begin_inset Quotes sld \end_inset any \begin_inset Quotes srd \end_inset oder \begin_inset Quotes sld \end_inset 0.0.0.0 \begin_inset Quotes srd \end_inset bei IPv4. In IPv6 lautet sie: \end_layout \begin_layout Code 0000:0000:0000:0000:0000:0000:0000:0000 \end_layout \begin_layout Standard oder: \end_layout \begin_layout Code :: \end_layout \begin_layout Standard Diese Adresse wird meistens in Routing-Tabellen und beim \begin_inset Quotes sld \end_inset socket binding \begin_inset Quotes srd \end_inset (zu jeder IPv6 Adresse) angewendet bzw. gesehen. \end_layout \begin_layout Standard Beachten: Die Unspezifizierte Adresse kann nicht als Ziel-Adresse verwendet werden. \end_layout \begin_layout Subsection IPv6 Adressen mit eingebetteter IPv4 Adresse \end_layout \begin_layout Standard Es gibt zwei Adressen-Typen, die IPv4 Adressen enthalten können. \end_layout \begin_layout Subsubsection IPv4 Adressen in IPv6 Format \end_layout \begin_layout Standard IPv4-only IPv6-kompatible Adressen kommen manchmal bei IPv6 kompatiblen Daemon zur Anwendung, die allerdings ausschließlich an IPv4 Adressen gebunden sind. \end_layout \begin_layout Standard Diese Adressen sind mit einer speziellen Präfixlänge von 96 definiert (a.b.c.d. ist die IPv4 Adresse): \end_layout \begin_layout Code 0:0:0:0:0:ffff:a.b.c.d/96 \end_layout \begin_layout Standard oder in komprimiertem Format: \end_layout \begin_layout Code ::ffff:a.b.c.d/96 \end_layout \begin_layout Standard Die IPv4 Adresse 1.2.3.4. z.B. sieht wie folgt aus: \end_layout \begin_layout Code ::ffff:1.2.3.4 \end_layout \begin_layout Subsubsection IPv4 kompatible IPv6 Adressen \end_layout \begin_layout Standard Dieser Adress-Typ wurde für das automatische Tunneln ( \begin_inset CommandInset href LatexCommand href name "RFC 2893 / Transition Mechanisms for IPv6 Hosts and Routers" target "http://www.faqs.org/rfcs/rfc2893.html" \end_inset ) verwendet, welches aber durch das \begin_inset CommandInset ref LatexCommand ref name "6to4 tunneling" reference "tunneling-6to4" \end_inset ersetzt wurde. \end_layout \begin_layout Code 0:0:0:0:0:0:a.b.c.d/96 \end_layout \begin_layout Standard oder in komprimierter Form: \end_layout \begin_layout Code ::a.b.c.d/96 \end_layout \begin_layout Section Netzteil der Adresse (Präfix) \end_layout \begin_layout Standard Es wurden einige Adress-Typen definiert und zugleich blieb für zukünftige Anforderungen ausreichend Raum für weitere Definitionen. In \lang english \begin_inset CommandInset href LatexCommand href name "RFC 4291 / IP Version 6 Addressing Architecture" target "http://www.faqs.org/rfcs/rfc4291.html" \end_inset \lang ngerman wird das aktuelle Adress-Schema definiert. \begin_inset Separator latexpar \end_inset \end_layout \begin_layout Standard \align left Lassen Sie uns nun einen Blick auf die verschiedenen Präfixe (und somit auf die Adress-Arten) werfen:: \end_layout \begin_layout Subsection Link-lokaler Adress-Typ \end_layout \begin_layout Standard \align left 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.: \end_layout \begin_layout Itemize \align left Ist noch jemand anderer auf diesem Link? \end_layout \begin_layout Itemize \align left Ist jemand mit einer speziellen Adresse hier (z.B. Suche nach einem Router)? \end_layout \begin_layout Standard Die Adresse beginnt mit (wobei \emph on \begin_inset Quotes sld \end_inset x \begin_inset Quotes srd \end_inset \emph default für ein hexadezimales Zeichen steht, im Normalfall \emph on \begin_inset Quotes sld \end_inset 0 \emph default \begin_inset Quotes srd \end_inset ) \end_layout \begin_layout Code fe8x: <- zurzeit als einziger in Benutzung \end_layout \begin_layout Code fe9x: \end_layout \begin_layout Code feax: \end_layout \begin_layout Code febx: \end_layout \begin_layout Standard Eine Adresse mit diesem Präfix gibt es an jedem IPv6 fähigen Interface nach einer stateless automatischen Konfiguration (dies ist der Regelfall). \end_layout \begin_layout Subsection Site-lokaler Adress-Typ \end_layout \begin_layout Standard \align left Diese Adressen sind vergleichbar zu den \begin_inset CommandInset href LatexCommand href name "RFC 1918 / Address Allocation for Private Internets" target "http://www.faqs.org/rfcs/rfc1918.html" \end_inset 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. \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard Die Adresse beginnt mit: \end_layout \begin_layout Code fecx: <- meistens genutzt. \end_layout \begin_layout Code fedx: \end_layout \begin_layout Code feex: \end_layout \begin_layout Code fefx: \end_layout \begin_layout Code \end_layout \begin_layout Standard ( \emph on \begin_inset Quotes sld \end_inset x \begin_inset Quotes srd \end_inset \emph default ist ein hexadezimales Zeichen, normalerweise \emph on \begin_inset Quotes sld \end_inset 0 \emph default \begin_inset Quotes srd \end_inset ) \end_layout \begin_layout Standard Dieser Adresstyp ist nun abgekündigt \lang english \begin_inset CommandInset href LatexCommand href name "RFC 3879 / Deprecating Site Local Addresses" target "http://www.faqs.org/rfcs/rfc3879.html" \end_inset \lang ngerman und sollte nicht mehr verwendet werden. \lang english Für Tests im Labor sind solche Adressen meineserachtens aber immer noch eine gute Wahl. \end_layout \begin_layout Subsection \lang english Unique Local IPv6 Unicast Adressen \end_layout \begin_layout Standard \lang english 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 \begin_inset CommandInset href LatexCommand href name "RFC 4193 / Unique Local IPv6 Unicast Addresses" target "http://www.faqs.org/rfcs/rfc4193.html" \end_inset . \begin_inset Separator latexpar \end_inset \end_layout \begin_layout Standard \align left Die Adresse beginnt mit: \end_layout \begin_layout Code fcxx: \end_layout \begin_layout Code fdxx: <- zurzeit als einziger in Benutzung \end_layout \begin_layout Standard \align left \lang english Ein Teil des Präfix (40 Bits) werden pseudozufällig generiert. Es ist sehr unwahrscheinlich, daß zwei generierte Präfixe identisch sind. \end_layout \begin_layout Standard \lang english Ein Beispiel für einen Präfix (generiert mit Hilfe des web-basierten Werkzeugs: \begin_inset CommandInset href LatexCommand href name "Goebel Consult / createLULA" target "http://www.goebel-consult.de/ipv6/createLULA" \end_inset ): \end_layout \begin_layout Code fd0f:8b72:ac90::/48 \end_layout \begin_layout Subsection Globaler Adress-Typ ("Aggregatable global unicast") \end_layout \begin_layout Standard Heute gibt es ist per Definition eine globale Adress-Art (Das erste Design, ''Provider based'' genannt, wurde bereits vor einigen Jahren wieder aufgegeben \begin_inset CommandInset href LatexCommand href name "RFC 1884 / IP Version 6 Addressing Architecture [obsolete]" target "http://www.faqs.org/rfcs/rfc1884.html" \end_inset . Einige Überbleibsel hiervon sind in älteren Linux Kernelquellen noch zu finden. \end_layout \begin_layout Standard Die Adresse beginnt mit (x sind hexadezimale Zeichen) \end_layout \begin_layout Code 2xxx: \end_layout \begin_layout Code 3xxx: \end_layout \begin_layout Standard Hinweis: Der Zusatz \begin_inset Quotes sld \end_inset aggregatable \begin_inset Quotes srd \end_inset im Namen wird in aktuellen Drafts abgelegt. \begin_inset Newline newline \end_inset Es sind weitere Subarten definiert: \end_layout \begin_layout Subsubsection 6bone Test-Adressen \end_layout \begin_layout Standard \align left Diese globalen Adressen waren die Ersten definierten und auch benutzen Adressen. Sie alle beginnen mit: \end_layout \begin_layout Code 3ffe: \end_layout \begin_layout Standard Beispiel: \end_layout \begin_layout Code 3ffe:ffff:100:f102::1 \end_layout \begin_layout Standard Eine spezielle 6bone Test-Adresse, die niemals weltweit einmalig ist, beginnt mit \end_layout \begin_layout Code 3ffe:ffff: \end_layout \begin_layout Standard und wird zumeist in alten Beispielen benutzt, um zu vermeiden, dass Anwender diese mit Copy & 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...). \lang english \begin_inset Newline newline \end_inset 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 \begin_inset CommandInset href LatexCommand href name "RFC 3701 / 6bone Phaseout" target "http://www.faqs.org/rfcs/rfc3701.html" \end_inset ). \end_layout \begin_layout Subsubsection 6to4 Adressen \end_layout \begin_layout Standard \align left Diese Adressen werden für einen speziellen Tunnelmechanismus verwendet [ \begin_inset CommandInset href LatexCommand href name "RFC 3056 / Connection of IPv6 Domains via IPv4 Clouds" target "http://www.faqs.org/rfcs/rfc3056.html" \end_inset und \begin_inset CommandInset href LatexCommand href name "RFC 2893 / Transition Mechanisms for IPv6 Hosts and Routers" target "http://www.faqs.org/rfcs/rfc2893.html" \end_inset ]. Sie kodieren eine gegebene IPv4 Adresse, ein eventuelles Subnetz und beginnen mit \end_layout \begin_layout Code 2002: \end_layout \begin_layout Standard z.B. wird 192.168.1.1/5 repräsentiert durch: \end_layout \begin_layout Code 2002:c0a8:0101:5::1 \end_layout \begin_layout Standard Ein kleines Shell-Kommando kann aus einer IPv4 eine 6to4 Adresse erstellen: \end_layout \begin_layout Code ipv4="1.2.3.4"; sla="5"; printf "2002:%02x%02x:%02x%02x:%04x::1" `echo $ipv4 \end_layout \begin_layout Code ¬ | tr "." " "` $sla \end_layout \begin_layout Standard Siehe auch \begin_inset CommandInset ref LatexCommand ref name "tunneling using 6to4" reference "tunneling-6to4" \end_inset und \begin_inset CommandInset ref LatexCommand ref name "information about 6to4 relay routers" reference "information-joinipv6-6to4-tunneling" \end_inset . \end_layout \begin_layout Subsubsection Durch einen Provider zugewiesene Adressen für ein hierarchisches Routing \end_layout \begin_layout Standard Diese Adressen werden an Internet Service Provider (ISP) delegiert und beginnen mit: \end_layout \begin_layout Code 2001: \end_layout \begin_layout Standard Präfixe für große ISPs (mit eigenem Backbone) werden durch \begin_inset CommandInset ref LatexCommand ref name "local registries" reference "information-majorregionregistries" \end_inset vergeben. Zurzeit wird ein Präfix mit der Länge 32 zugeteilt. \end_layout \begin_layout Standard Grosse ISPs delegieren ihrerseits an kleinere ISPs ein Präfix mit der Länge 48. \end_layout \begin_layout Subsubsection \lang english Für Beispiele und Dokumentationen reservierte Adressen \end_layout \begin_layout Standard \lang english Momentan sind zwei Adressbereiche für Beispiele und Dokumentationen \begin_inset CommandInset href LatexCommand href name "RFC 3849 / IPv6 Address Prefix Reserved for Documentation" target "http://www.faqs.org/rfcs/rfc3849.html" \end_inset reserviert: \end_layout \begin_layout Code 3ffe:ffff::/32 \end_layout \begin_layout Code 2001:0DB8::/32 EXAMPLENET-WF \end_layout \begin_layout Standard \lang english Diese Adressbereiche sollten nicht geroutet werden und am Übergangsrouter zum Internet (basierend auf Absendeadressen) gefiltert werden. \end_layout \begin_layout Subsection Multicast-Addressen \end_layout \begin_layout Standard \align left Multicast-Adressen werden für entsprechende Dienste verwendet. \end_layout \begin_layout Standard Sie beginnen immer mit (xx ist hierbei der Wert der Reichweite) \end_layout \begin_layout Code ffxy: \end_layout \begin_layout Standard Die Adressen werden in Reichweiten und Typen unterteilt: \end_layout \begin_layout Subsubsection Multicast-Bereiche \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard Zurzeit sind folgende Regionen (reichweiten) definiert: \end_layout \begin_layout Itemize ffx1: Node-lokal, Pakete verlassen niemals den Knoten \end_layout \begin_layout Itemize ffx2: Link-lokal, Pakete werden niemals von Routers weitergeleitet, der angegebene Link wird nie verlassen. \end_layout \begin_layout Itemize ffx5: Site-lokal, Pakete verlassen niemals den Standort (Site) \end_layout \begin_layout Itemize ffx8: organisationsweit, Pakete verlassen niemals eine Organisation (nicht einfach zu implementieren, dies muss durch das Routing Protokoll abgedeckt werden) \end_layout \begin_layout Itemize ffxe: Globale Reichweite \end_layout \begin_layout Itemize Sonstige sind reserviert \end_layout \begin_layout Subsubsection Multicast-Typen \end_layout \begin_layout Standard Es sind bereits viele Typen definiert bzw. reserviert (siehe \lang english \begin_inset CommandInset href LatexCommand href name "RFC 4291 / IP Version 6 Addressing Architecture" target "http://www.faqs.org/rfcs/rfc4291.html" \end_inset \lang ngerman für weitere Details), einige Beispiele: \end_layout \begin_layout Itemize 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. \end_layout \begin_layout Itemize 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. \end_layout \begin_layout Subsubsection Erforderliche node link-local Multicast Adresse \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard Ein Beispiel für diese Adresse könnte sein: \end_layout \begin_layout Code ff02::1:ff00:1234 \end_layout \begin_layout Standard 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 \begin_inset Quotes eld \end_inset fe80::1234 \begin_inset Quotes erd \end_inset gesendet werden, aber die Netzwerk-Schicht hat keine Kenntnis der aktuellen Schicht 2 MAC Adresse. Die oberen 104 bits werde mit \begin_inset Quotes eld \end_inset ff02:0:0:0:01:ff00::/104 \begin_inset Quotes erd \end_inset ersetzt und die unteres 24 bits bleiben unverändert. Diese Adresse wird nun \begin_inset Quotes srd \end_inset am Link \begin_inset Quotes srd \end_inset verwendet, um den entsprechenden Node zu finden, der wiederum seine Schicht 2 MAC Adresse als Antwort zurücksendet. \end_layout \begin_layout Subsection Anycast-Adressen \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard Hinweis: Anycast Adressen können nicht als Quelladresse verwendet werden, sondern ausschließlich als Zieladressen. \end_layout \begin_layout Subsubsection Subnet-Router Anycast-Adresse \end_layout \begin_layout Standard Die Subnet-Router Anycast Adresse ist ein einfaches Beispiel für eine Anycast Adresse. Angenommen, der Knoten hat folgende global zugewiesene IPv6 Adresse: \end_layout \begin_layout Code 2001:0db8:100:f101:210:a4ff:fee3:9566/64 <- Node's address \end_layout \begin_layout Standard Die Subnet-Router Anycast Adresse wird durch komplette Streichung des Suffixes (die letzten gültigen 64 bits) erstellt: \end_layout \begin_layout Code 2001:0db8:100:f101::/64 <- subnet-router anycast address \end_layout \begin_layout Section Adress-Typen (Host-Teil) \end_layout \begin_layout Standard \align left 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. \end_layout \begin_layout Standard Der Host-Teil kann aus unterschiedlichen Blickwinkeln betrachtet werden: \end_layout \begin_layout Subsection Automatisch erstellte Adressen (auch unter dem Namen stateless bekannt) \end_layout \begin_layout Standard 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). \end_layout \begin_layout Standard \lang english Als Beispiel hat hier ein NIC folgende MAC-Adresse (48 bit): \end_layout \begin_layout Code 00:10:a4:01:23:45 \end_layout \begin_layout Standard \align left \lang english Diese wird gemäß dem \begin_inset CommandInset href LatexCommand href name "IEEE-Tutorial EUI-64" target "http://standards.ieee.org/regauth/oui/tutorials/EUI64.html" \end_inset Design für EUI-48 Identifiers zum 64 bit Interface Identifier erweitert: \end_layout \begin_layout Code 0210:a4ff:fe01:2345 \end_layout \begin_layout Standard \align left \lang english Mit einem gegebenen Präfix wird daraus die schon oben gezeigte IPv6-Adresse: \end_layout \begin_layout Code 2001:0db8:0100:f101:0210:a4ff:fe01:2345 \end_layout \begin_layout Subsubsection Datenschutzproblem mit automatisch erstellten Adressen sowie eine Lösung \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard Dies ist ein bekanntes Problem und eine Lösung wurde dafür definiert: Datenschut z-Erweiterung, definiert in \begin_inset CommandInset href LatexCommand href name "RFC 3041 / Privacy Extensions for Stateless Address Autoconfiguration in IPv6" target "http://www.faqs.org/rfcs/rfc3041.html" \end_inset (es gibt bereits ein neueres Draft: \lang english \begin_inset CommandInset href LatexCommand href name "draft-ietf-ipv6-privacy-addrs-v2-*" target "http://www.ietf.org/ids.by.wg/ipv6.html" \end_inset \lang ngerman ). 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. \end_layout \begin_layout Subsection Manuell festgelegte Adressen \end_layout \begin_layout Standard 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. \end_layout \begin_layout Code 2001:0db8:100:f101::1 \end_layout \begin_layout Standard Für das manuelle Suffix, wie \begin_inset Quotes sld \end_inset ::1 \begin_inset Quotes srd \end_inset 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. \end_layout \begin_layout Section Präfixlängen für das Routing \end_layout \begin_layout Standard 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-Eint rä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 \begin_inset Quotes sld \end_inset Application Specified Integrated Circuit \begin_inset Quotes srd \end_inset , speziell konstuierter Chip) sowie ein daraus resultierender Geschwindigkeitszu wachs (weniger Einträge ergeben hoffentlich schnellere Abfragen). \end_layout \begin_layout Standard 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: \lang english \begin_inset CommandInset href LatexCommand href name "drafts-ietf-multi6-*" target "http://www.ietf.org/ids.by.wg/multi6.html" \end_inset \lang ngerman , \begin_inset CommandInset href LatexCommand href name "IPv6 Multihoming Solutions" target "http://arneill-py.sacramento.ca.us/ipv6mh/" \end_inset ). \end_layout \begin_layout Subsection Präfixlängen ("netmasks" genannt) \end_layout \begin_layout Standard 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, \begin_inset CommandInset href LatexCommand href name "RFC 1519 / Classless Inter-Domain Routing" target "http://www.faqs.org/rfcs/rfc1519.html" \end_inset ). 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. \end_layout \begin_layout Standard Ein Beispiel: \end_layout \begin_layout Code 2001:0db8:100:1:2:3:4:5/48 \end_layout \begin_layout Standard \align left Diese Notation wird erweitert zu: \end_layout \begin_layout Itemize Netzwerk: \end_layout \begin_layout Code 2001:0db8:0100:0000:0000:0000:0000:0000 \end_layout \begin_layout Itemize Netzmaske: \end_layout \begin_layout Code ffff:ffff:ffff:0000:0000:0000:0000:0000 \end_layout \begin_layout Subsection Zutreffende Routen \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard Wenn z.B. eine Routing-Tabelle folgende Einträge zeigt (Liste ist nicht komplett): \end_layout \begin_layout Code 2001:0db8:100::/48 :: U 1 0 0 sit1 \end_layout \begin_layout Code 2000::/3 ::192.88.99.1 UG 1 0 0 tun6to4 \end_layout \begin_layout Standard Die gezeigten Zieladressen der IPv6 Pakete werden über die entsprechenden Geräte geroutet \end_layout \begin_layout Code 2001:0db8:100:1:2:3:4:5/48 -> routed through device sit1 \end_layout \begin_layout Code 2001:0db8:200:1:2:3:4:5/48 -> routed through device tun6to4 \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-systemcheck" \end_inset IPv6 System-Check \end_layout \begin_layout Standard \align left 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. \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "systemcheck-kernel" \end_inset IPv6 kompatibler Kernel \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard \series bold Hinweis: Sie sollten die Kernel Serie 2.2.x nicht mehr verwenden, da die IPv6-Impl ementierung 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. \end_layout \begin_layout Subsection Überprüfung der IPv6 Unterstützung im aktuellen Kernel \end_layout \begin_layout Standard \align left 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: \end_layout \begin_layout Code /proc/net/if_inet6 \end_layout \begin_layout Standard \align left Einen kleinen automatischen Test können Sie wie folgt durchführen: \end_layout \begin_layout Code # test -f /proc/net/if_inet6 && echo "Running kernel is IPv6 ready" \end_layout \begin_layout Standard \align left Wenn dieser Test negativ verläuft, ist das IPv6 Modul aller Wahrscheinlichkeit noch nicht geladen. \end_layout \begin_layout Subsection IPv6 Module laden \end_layout \begin_layout Standard \align left Mit folgenden Befehl können Sie versuchen, das Modul zu laden: \end_layout \begin_layout Code # modprobe ipv6 \end_layout \begin_layout Standard \align left Wenn dieser Befehl positiv verläuft, dann sollten Sie das Modul mit folgendem Befehl auflisten können: \end_layout \begin_layout Code # lsmod |grep -w 'ipv6' && echo "IPv6 module successfully loaded" \end_layout \begin_layout Standard \align left Der obige Test sollte nun erfolgreich verlaufen. \end_layout \begin_layout Standard 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. \end_layout \begin_layout Subsubsection Automatisches Laden des Moduls \end_layout \begin_layout Standard 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): \end_layout \begin_layout Code alias net-pf-10 ipv6 # automatically load IPv6 module on demand \end_layout \begin_layout Standard Mit der folgenden Zeile ist es auch möglich, das automatische Laden des IPv6 Moduls auszuschalten. \end_layout \begin_layout Code alias net-pf-10 off # disable automatically load of IPv6 module on demand \end_layout \begin_layout Standard 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.co nf genannt. \end_layout \begin_layout Subsection Kernel-Kompilierung mit IPv6 Funktionalität \end_layout \begin_layout Standard \align left Wenn beide oben gezeigten Methoden ohne Erfolg blieben und ihr Kernel somit keine IPv6 Unterstützung bietet, dann haben Sie folgende Optionen: \end_layout \begin_layout Itemize \align left Aktualisieren Sie Ihre Distribution mit einer Version, die von Haus aus IPv6 unterstützt (empfohlen für Anfänger), \end_layout \begin_layout Itemize \align left Sie können einen Standard-Kernel kompilieren (einfach, wenn Sie die benötigten Optionen kennen) \end_layout \begin_layout Itemize Kompilieren Sie die Kernel-Quellen ihrer Distribution (manchmal nicht ganz so einfach) \end_layout \begin_layout Itemize \align left Kompilieren Sie einen Kernel mit den USAGI-Erweiterungen \end_layout \begin_layout Standard Falls Sie sich dazu entscheiden, einen neuen IPv6 kompatiblen Kernel zu kompilieren, sollten Sie auf jeden Fall bereits Erfahrung mit der Kernel-Kompil ierung haben sowie das \begin_inset CommandInset href LatexCommand href name "Linux Kernel HOWTO" target "http://www.tldp.org/HOWTO/Kernel-HOWTO.html" \end_inset lesen. \end_layout \begin_layout Standard Ein Vergleich zwischen dem Standard-Kernel und dem Kernel mit USAGI-Erweiterunge n ist verfügbar unter \begin_inset CommandInset href LatexCommand href name "IPv6+Linux-Status-Kernel" target "http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-kernel.html" \end_inset . \end_layout \begin_layout Subsubsection Kompilieren eines Standard-Kernels \end_layout \begin_layout Standard Detailliertere Ausführungen zur Kompilierung eines IPv6 fähigen Kernels finden Sie unter \begin_inset CommandInset href LatexCommand href name "IPv6-HOWTO-2#kernel" target "http://www.bieringer.de/linux/IPv6/IPv6-HOWTO/IPv6-HOWTO-2.html#kernel" \end_inset . \end_layout \begin_layout Standard 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. \end_layout \begin_layout Subsubsection Kompilieren eines Kernels mit USAGI-Erweiterungen \end_layout \begin_layout Standard Wie für den Standard-Kernel gilt auch hier, dass das Kompilieren des Kernels nur fortgeschrittenen Benutzern empfohlen wird, die mit IPv6 und dem Kompiliere n des Kernels bereits vertraut sind. \end_layout \begin_layout Standard Siehe auch \begin_inset CommandInset href LatexCommand href name "USAGI project / FAQ" target "http://www.linux-ipv6.org/faq.html" \end_inset und \begin_inset CommandInset href LatexCommand href name "Obtaining the best IPv6 support with Linux (Article)" target "http://www.deepspace6.net/docs/best_ipv6_support.html" \end_inset \lang english ( \begin_inset CommandInset href LatexCommand href name "Spiegel" target "http://mirrors.bieringer.de/www.deepspace6.net/docs/best_ipv6_support.html" \end_inset ) \lang ngerman . \end_layout \begin_layout Subsection IPv6 kompatible Netzwerkgeräte \end_layout \begin_layout Standard 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 \begin_inset CommandInset href LatexCommand href name "IPv6+Linux-status-kernel.html#transport" target "http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-kernel.html#transport" \end_inset . \end_layout \begin_layout Standard 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). \end_layout \begin_layout Subsubsection Gegenwärtig bekannte Verbindungsarten, die niemals IPv6 fähig sein werden \end_layout \begin_layout Itemize Serial Line IP ( \begin_inset CommandInset href LatexCommand href name "RFC 1055 / SLIP" target "http://www.faqs.org/rfcs/rfc1055.html" \end_inset ), auch SLIPv4 genannt; das Gerät heißt: s1X \end_layout \begin_layout Itemize Parallel Line IP (PLIP), gleich dem SLIP, Gerätename: plipX \end_layout \begin_layout Itemize ISDN mit \emph on rawip \emph default Encapsulation; Gerätename: isdnX \end_layout \begin_layout Subsubsection Bekannte Verbindungsarten, die gegenwärtig IPv6 nicht unterstützen \end_layout \begin_layout Itemize ISDN mit \emph on syncppp \emph default Encapsulation; Gerätename: ipppX (Designfrage des ipppd; in der Kernel Serie 2.5.x wird ipppX in einer allgemeinen PPP Schicht inkludiert) \end_layout \begin_layout Section IPv6 kompatible Tools zur Netzwerkkonfiguration \end_layout \begin_layout Standard \align left 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. \end_layout \begin_layout Subsection net-tools Paket \end_layout \begin_layout Standard \align left Das Paket net-tool beinhaltet einige Tools wie \family typewriter ifconfig \family default und \family typewriter route \family default . Mit den Tools kann IPv6 auf einem Interface konfiguriert werden. Sehen Sie sich die Ausgabe des Befehls \family typewriter \emph on ifconfig -? \family default \emph default Bzw. \family typewriter \emph on route -? \family default \emph default an. Finden Sie in der Ausgabe die Worte IPv6, inet6 oder Ähnliches, dann ist das Tool IPv6-kompatibel. \end_layout \begin_layout Standard Automatische Überprüfung: \end_layout \begin_layout Code # /sbin/ifconfig -? 2>& 1|grep -qw 'inet6' && echo "utility 'ifconfig' is \end_layout \begin_layout Code ¬ IPv6-ready" \end_layout \begin_layout Standard \align left Folgenden Check gibt es für \family typewriter route \family default : \end_layout \begin_layout Code # /sbin/route -? 2>& 1|grep -qw 'inet6' && echo "utility 'route' is IPv6-ready" \end_layout \begin_layout Subsection iproute Paket \end_layout \begin_layout Standard \align left 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. \end_layout \begin_layout Code # /sbin/ip 2>&1 |grep -qw 'inet6' && echo "utility 'ip' is IPv6-ready" \end_layout \begin_layout Standard Wird das Programm /sbin/ip nicht gefunden, dann wird die Installation des iproute Paketes empfohlen. \end_layout \begin_layout Itemize Sie können dies (falls beinhaltet) von der benutzten Linux-Distribution installieren \end_layout \begin_layout Itemize Sie können nach einem passenden RPM Paket unter \begin_inset CommandInset href LatexCommand href name "RPMfind/iproute" target "http://rpmfind.net/linux/rpm2html/search.php?query=iproute" \end_inset suchen (manchmal ist auch das kompilieren eines SRPMS Paketes zu empfohlen) \end_layout \begin_layout Section IPv6 Test/Debug-Programme \end_layout \begin_layout Standard \align left 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 untersuche n. Dies ist zu empfehlen, denn in Hinblick auf Fehlersuche und Troubleshooting kann das Durchführen einer schnellen Diagnose von Nutzen sein. \end_layout \begin_layout Subsection \begin_inset CommandInset label LatexCommand label name "program-ping6" \end_inset IPv6 ping \end_layout \begin_layout Standard Das Programm ist normalerweise im Paket \emph on iputils \emph default beinhaltet. Durch senden von ICMPv6 echo-request Paketen und warten auf ICMPv6 echo-reply Paketen können einfache Transport-Tests durchgeführt werden. \end_layout \begin_layout Standard Anwendung \end_layout \begin_layout Code # ping6 \end_layout \begin_layout Code # ping6 \end_layout \begin_layout Code # ping6 [-I ] \end_layout \begin_layout Standard \lang english Einige Implementierungen unterstützen auch % Definition zusätzlich zu -I , z.B. \end_layout \begin_layout Code # ping6 % \end_layout \begin_layout Standard Beispiel \end_layout \begin_layout Code # ping6 -c 1 ::1 \end_layout \begin_layout Code PING ::1(::1) from ::1 : 56 data bytes \end_layout \begin_layout Code 64 bytes from ::1: icmp_seq=0 hops=64 time=292 usec \end_layout \begin_layout Code \end_layout \begin_layout Code --- ::1 ping statistics --- \end_layout \begin_layout Code 1 packets transmitted, 1 packets received, 0% packet loss \end_layout \begin_layout Code round-trip min/avg/max/mdev = 0.292/0.292/0.292/0.000 ms \end_layout \begin_layout Standard 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: \end_layout \begin_layout Enumerate ping6 ist nicht im Pfad des Benutzers eingetragen; ping6 ist allgemein in /usr/sbin zu finden -> Lösung: Den Pfad ergänzen (nicht empfohlen) \end_layout \begin_layout Enumerate ping6 lässt sich im Allgemeines wegen fehlender Root-Rechte nicht korrekt ausführen -> Lösung: chmod u+s /usr/sbin/ping6 \end_layout \begin_layout Subsubsection Das Interface für einen IPv6 ping bestimmen \end_layout \begin_layout Standard 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: \end_layout \begin_layout Code # ping6 fe80::212:34ff:fe12:3456 \end_layout \begin_layout Code connect: Invalid argument \end_layout \begin_layout Standard In diesem Fall müssen Sie das Interface zusätzlich spezifizieren: \end_layout \begin_layout Code # ping6 -I eth0 -c 1 fe80::2e0:18ff:fe90:9205 \end_layout \begin_layout Code PING fe80::212:23ff:fe12:3456(fe80::212:23ff:fe12:3456) from \end_layout \begin_layout Code ¬ fe80::212:34ff:fe12:3478 eth0: 56 data bytes \end_layout \begin_layout Code 64 bytes from fe80::212:23ff:fe12:3456: icmp_seq=0 hops=64 time=445 usec \end_layout \begin_layout Code \end_layout \begin_layout Code --- fe80::2e0:18ff:fe90:9205 ping statistics --- \end_layout \begin_layout Code 1 packets transmitted, 1 packets received, 0% packet loss round-trip \end_layout \begin_layout Code ¬ min/avg/max/mdev = 0.445/0.445/0.445/0.000 ms \end_layout \begin_layout Standard \lang english Beispiel für % Notation: \end_layout \begin_layout Code # ping6 -c 1 fe80::2e0:18ff:fe90:9205%eth0 \end_layout \begin_layout Subsubsection Ping6 zu Multicast-Adressen \end_layout \begin_layout Standard 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. \end_layout \begin_layout Code # ping6 -I eth0 ff02::1 \end_layout \begin_layout Code PING ff02::1(ff02::1) from fe80:::2ab:cdff:feef:0123 eth0: 56 data bytes \end_layout \begin_layout Code 64 bytes from ::1: icmp_seq=1 ttl=64 time=0.104 ms \end_layout \begin_layout Code 64 bytes from fe80::212:34ff:fe12:3450: icmp_seq=1 ttl=64 time=0.549 ms (DUP!) \end_layout \begin_layout Standard \lang english Beispiel für % Notation: \end_layout \begin_layout Code # ping6 ff02::1%eth0 \end_layout \begin_layout Standard Bei IPv6 kann dieses Verhalten zurzeit, im Gegensatz zu IPv4, wo Antworten auf ein Ping auf die Broadcast Adresse unterdrückt werden können, nicht unterbunden werden. Ausnahme hierbei ist der Einsatz der lokalen IPv6 Firewall-Funktionalität. \end_layout \begin_layout Subsection \begin_inset CommandInset label LatexCommand label name "program-traceroute6" \end_inset IPv6 traceroute6 \end_layout \begin_layout Standard Dieses Programm ist normal im Paket iputils enthalten. Es ist ein Programm vergleichbar dem IPv4 traceroute. Unten sehen Sie ein Beispiel: \end_layout \begin_layout Code # traceroute6 www.6bone.net \end_layout \begin_layout Code traceroute to 6bone.net (3ffe:b00:c18:1::10) from 2001:0db8:0000:f101::2, 30 \end_layout \begin_layout Code ¬ hops max, 16 byte packets \end_layout \begin_layout Code 1 localipv6gateway (2001:0db8:0000:f101::1) 1.354 ms 1.566 ms 0.407 ms \end_layout \begin_layout Code 2 swi6T1-T0.ipv6.switch.ch (3ffe:2000:0:400::1) 90.431 ms 91.956 ms 92.377 ms \end_layout \begin_layout Code 3 3ffe:2000:0:1::132 (3ffe:2000:0:1::132) 118.945 ms 107.982 ms 114.557 ms \end_layout \begin_layout Code 4 3ffe:c00:8023:2b::2 (3ffe:c00:8023:2b::2) 968.468 ms 993.392 ms 973.441 ms \end_layout \begin_layout Code 5 3ffe:2e00:e:c::3 (3ffe:2e00:e:c::3) 507.784 ms 505.549 ms 508.928 ms \end_layout \begin_layout Code 6 www.6bone.net (3ffe:b00:c18:1::10) 1265.85 ms * 1304.74 ms \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard Falls ein Interface spezifiziert werden muß, kann dies durch -i oder in der Form
% erfolgen. \end_layout \begin_layout Subsection \begin_inset CommandInset label LatexCommand label name "program-tracepath6" \end_inset IPv6 tracepath6 \end_layout \begin_layout Standard Dieses Programm ist normalerweise im Paket \emph on iputils \emph default 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: \end_layout \begin_layout Code # tracepath6 www.6bone.net \end_layout \begin_layout Code 1?: [LOCALHOST] pmtu 1480 \end_layout \begin_layout Code 1: 3ffe:401::2c0:33ff:fe02:14 150.705ms \end_layout \begin_layout Code 2: 3ffe:b00:c18::5 267.864ms \end_layout \begin_layout Code 3: 3ffe:b00:c18::5 asymm 2 266.145ms pmtu 1280 \end_layout \begin_layout Code 3: 3ffe:3900:5::2 asymm 4 346.632ms \end_layout \begin_layout Code 4: 3ffe:28ff:ffff:4::3 asymm 5 365.965ms \end_layout \begin_layout Code 5: 3ffe:1cff:0:ee::2 asymm 4 534.704ms \end_layout \begin_layout Code 6: 3ffe:3800::1:1 asymm 4 578.126ms !N \end_layout \begin_layout Code Resume: pmtu 1280 \end_layout \begin_layout Subsection \begin_inset CommandInset label LatexCommand label name "program-tcpdump" \end_inset IPv6 tcpdump \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard Bei tcpdump werden zur Geräuschminimierung bei der Paket-Filterung Ausdrücke eingesetzt: \end_layout \begin_layout Itemize icmp6: ICMPv6 Datenverkehr wird gefiltert \end_layout \begin_layout Itemize ip6: IPv6 Datenverkehr (inkl.ICMPv6) wird gefiltert \end_layout \begin_layout Itemize proto ipv6: getunnelter IPv6-in-IPv4 Datenverkehr wird gefiltert \end_layout \begin_layout Itemize not port ssh: zum unterdrücken der Anzeige von SSH Paketen während der Ausführun g von tcpdump bei einer remote SSH-Sitzung \end_layout \begin_layout Standard 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: \end_layout \begin_layout Itemize \begin_inset Quotes eld \end_inset -s 512 \begin_inset Quotes erd \end_inset : Bei der Aufzeichnung der Pakete wird die zu Aufzeichnungslänge auf 512 bytes vergrößert \end_layout \begin_layout Itemize \begin_inset Quotes eld \end_inset -vv \begin_inset Quotes erd \end_inset : wirklich sehr ausführliche Ausgabe \end_layout \begin_layout Itemize \begin_inset Quotes eld \end_inset -n \begin_inset Quotes erd \end_inset : Adressen werden nicht in Namen aufgelöst. Dies ist hilfreich, wenn die Reverse-DNS-Auflösung nicht sauber arbeiten sollte \end_layout \begin_layout Subsubsection IPv6 ping zur Adresse \size footnotesize 2001:0db8:100:f101::1 \size default über einen lokalen Link \end_layout \begin_layout Code # tcpdump -t -n -i eth0 -s 512 -vv ip6 or proto ipv6 \end_layout \begin_layout Code tcpdump: listening on eth0 \end_layout \begin_layout Code 2001:0db8:100:f101:2e0:18ff:fe90:9205 > 2001:0db8:100:f101::1: icmp6: echo \end_layout \begin_layout Code ¬ request (len 64, hlim 64) \end_layout \begin_layout Code 2001:0db8:100:f101::1 > 2001:0db8:100:f101:2e0:18ff:fe90:9205: icmp6: echo \end_layout \begin_layout Code ¬ reply (len 64, hlim 64) \end_layout \begin_layout Subsubsection IPv6 ping zur Adresse \size footnotesize 2001:0db8:100::1 \size default über einen IPv6-in-IPv4 Tunnel geroutet \end_layout \begin_layout Standard 1.2.3.4. und 5.6.7.8. sind Tunnel-Endpunkte (alle Adressen sind Beispiele) \end_layout \begin_layout Code # tcpdump -t -n -i ppp0 -s 512 -vv ip6 or proto ipv6 \end_layout \begin_layout Code tcpdump: listening on ppp0 \end_layout \begin_layout Code 1.2.3.4 > 5.6.7.8: 2002:ffff:f5f8::1 > 2001:0db8:100::1: icmp6: echo request \end_layout \begin_layout Code ¬ (len 64, hlim 64) (DF) (ttl 64, id 0, len 124) \end_layout \begin_layout Code 5.6.7.8 > 1.2.3.4: 2001:0db8:100::1 > 2002:ffff:f5f8::1: icmp6: echo reply (len \end_layout \begin_layout Code ¬ 64, hlim 61) (ttl 23, id 29887, len 124) \end_layout \begin_layout Code 1.2.3.4 > 5.6.7.8: 2002:ffff:f5f8::1 > 2001:0db8:100::1: icmp6: echo request \end_layout \begin_layout Code ¬ (len 64, hlim 64) (DF) (ttl 64, id 0, len 124) \end_layout \begin_layout Code 5.6.7.8 > 1.2.3.4: 2001:0db8:100::1 > 2002:ffff:f5f8::1: icmp6: echo reply (len \end_layout \begin_layout Code ¬ 64, hlim 61) (ttl 23, id 29919, len 124) \end_layout \begin_layout Section IPv6 kompatible Programme \end_layout \begin_layout Standard Aktuelle Distributionen beinhalten bereits die gängigsten IPv6 kompatiblen Client- und Server-Programme. Weitere Infos gibt es unter \begin_inset CommandInset href LatexCommand href name "IPv6+Linux-Status-Distribution" target "http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-distributions.html" \end_inset . Falls ein Programm hier noch nicht gelistet sein sollte, können Sie unter \begin_inset CommandInset href LatexCommand href name "Current Status of IPv6 Support for Networking Applications" target "http://www.deepspace6.net/docs/ipv6_status_page_apps.html" \end_inset 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. \end_layout \begin_layout Section IPv6 kompatible Client-Programme (Auswahl) \end_layout \begin_layout Standard Um die folgend abgebildeten Tests durchzuführen, benötigen Sie ein funktionieren des IPv6 System. Bei einigen Beispielen werden Adressen angezeigt, die nur bei einer verfügbaren 6bone Verbindung erreichbar sind. \end_layout \begin_layout Standard \lang english Note: wenn Namen anstatt dedizierter IPv4/IPv6 Adressen benutzt werden, dann kann dieser zu einer Liste von IPv4 und IPv6 Adressen aufgelöst werden. Einige Kommandozeilenwerkzeuge unterstützen explizite Benutzung des gewünschten Protokolls. Üblicherweis haben solche Werkzeuge Optionen wie \begin_inset Quotes sld \end_inset -4 \begin_inset Quotes srd \end_inset für IPv4 und \begin_inset Quotes sld \end_inset -6 \begin_inset Quotes srd \end_inset für IPv6. \end_layout \begin_layout Subsection DNS-Überprüfung der IPv6 Adress-Auflösung \end_layout \begin_layout Standard 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: \end_layout \begin_layout Code # host -t AAAA www.join.uni-muenster.de \end_layout \begin_layout Standard Die Ausgabe des Tests sollte etwa wie folgt sein: \end_layout \begin_layout Code www.join.uni-muenster.de. is an alias for tolot.join.uni-muenster.de. \end_layout \begin_layout Code tolot.join.uni-muenster.de. has AAAA address \end_layout \begin_layout Code ¬ 2001:638:500:101:2e0:81ff:fe24:37c6 \end_layout \begin_layout Subsection IPv6 kompatible Telnet Client-Programme \end_layout \begin_layout Standard IPv6 kompatible Clients sind verfügbar. Ein einfacher Test sieht wie folgt aus: \end_layout \begin_layout Code $ telnet 3ffe:400:100::1 80 \end_layout \begin_layout Code Trying 3ffe:400:100::1... \end_layout \begin_layout Code Connected to 3ffe:400:100::1. \end_layout \begin_layout Code Escape character is '^]'. \end_layout \begin_layout Code HEAD / HTTP/1.0 \end_layout \begin_layout Code \end_layout \begin_layout Code HTTP/1.1 200 OK \end_layout \begin_layout Code Date: Sun, 16 Dec 2001 16:07:21 \end_layout \begin_layout Code GMT Server: Apache/2.0.28 (Unix) \end_layout \begin_layout Code Last-Modified: Wed, 01 Aug 2001 21:34:42 GMT \end_layout \begin_layout Code ETag: "3f02-a4d-b1b3e080" \end_layout \begin_layout Code Accept-Ranges: bytes \end_layout \begin_layout Code Content-Length: 2637 \end_layout \begin_layout Code Connection: close \end_layout \begin_layout Code Content-Type: text/html; charset=ISO-8859-1 \end_layout \begin_layout Code \end_layout \begin_layout Code Connection closed by foreign host. \end_layout \begin_layout Standard Wird ein Text wie \begin_inset Quotes sld \end_inset cannot resolve hostname \begin_inset Quotes srd \end_inset ausgegeben, dann unterstützt der Telnet Client keine IPv6 Adressen. \end_layout \begin_layout Subsection IPv6 kompatible ssh Client-Programme \end_layout \begin_layout Subsubsection openssh \end_layout \begin_layout Standard Aktuelle openssh-Versionen sind IPv6 kompatibel. Abhängig von der Konfiguration vor der Kompilierung gibt es zwei unterschiedlic he Verhaltensweisen: \end_layout \begin_layout Itemize --without-ipv4-default: Der Client versucht zuerst eine IPv6-Verbindung. Misslingt dies, wird eine IPv4-Verbindung aufgebaut \end_layout \begin_layout Itemize --with-ipv4-default: standardmäßig wird eine IPv4-Verbindung aufgebaut. Eine IPv6-Verbindung muss, wie unten im Beispiel zu sehen ist, erzwungen werden: \end_layout \begin_layout Code $ ssh -6 ::1 \end_layout \begin_layout Code user@::1's password: ****** \end_layout \begin_layout Code [user@ipv6host user]$ \end_layout \begin_layout Standard Falls ihr ssh Client-Programm die Option \begin_inset Quotes sld \end_inset -6 \begin_inset Quotes srd \end_inset nicht kennt, dann ist das Programm nicht IPv6 fähig. Dies ist bei den meisten ssh Paketen der Version 1 der Fall. \end_layout \begin_layout Subsubsection ssh.com \end_layout \begin_layout Standard 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. \end_layout \begin_layout Subsection IPv6 kompatible Web-Browser \end_layout \begin_layout Standard Einen aktuellen Statusüberblick zum Thema IPv6 kompatible Web-Browser ist unter \lang english \begin_inset CommandInset href LatexCommand href name "Current Status of IPv6 Support for Networking Applications - HTTP" target "http://www.deepspace6.net/docs/ipv6_status_page_apps.html#http" \end_inset \lang ngerman verfügbar. \end_layout \begin_layout Standard Die meisten Browser haben zurzeit noch ungelöste Probleme \end_layout \begin_layout Enumerate 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). \end_layout \begin_layout Enumerate 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). \end_layout \begin_layout Standard Ältere Browser-Versionen verstehen ebenfalls keine URL mit IPv6 Adressen wie z.B. \lang english \begin_inset CommandInset href LatexCommand href name "http://[2001:4dd0:f838:a006::6]/" target "http://[2001:4dd0:f838:a006::6]/" \end_inset , IPv6-Addresse von \begin_inset CommandInset href LatexCommand href name "http://www.ipv6.bieringer.de/" target "http://www.ipv6.bieringer.de/" \end_inset \lang ngerman (die angegebene URL funktioniert nur mit einem IPv6 kompatiblen Browser!). \end_layout \begin_layout Standard Ein kleiner Test ist diese URL mit einem gegebenen Browser und ohne Proxy zu verwenden. \end_layout \begin_layout Subsubsection URLs zum testen \end_layout \begin_layout Standard Ein guter Ausgangspunkt zum Betrachten von Webseiten mit IPv6 ist \begin_inset CommandInset href LatexCommand href name "http://www.kame.net/" target "http://www.kame.net/" \end_inset . Ist die Schildkröte animiert, dann ist Verbindung mittels IPv6 Verbindung zustande gekommen, andererseits bleibt die Schildkröte statisch. \end_layout \begin_layout Standard Andere Test-Server sind z.B. \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "What Is My IPv6" target "http://www.whatismyipv6.com/" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "ip.bieringer.de" target "http://ip.bieringer.de/" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6 Test" target "http://ipv6-test.com/" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "test-ipv6.com" target "http://test-ipv6.com/" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "The ICSI Netalyzr" target "http://netalyzr.icsi.berkeley.edu/" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Speedtest Comcast" target "http://speedtest.comcast.net/" \end_inset , \begin_inset CommandInset href LatexCommand href name "IPv6 Speedtest Comcast" target "http://ipv6.speedtest.comcast.net/" \end_inset \end_layout \begin_layout Section IPv6 kompatible Server \end_layout \begin_layout Standard In diesem Teil des HOWTOs wird stärker auf Client-spezifische Belange eingegange n. Folglich sei zu IPv6 kompatiblen Servern wie sshd, httpd, telnetd usw. auf diese Stelle verwiesen: \begin_inset CommandInset ref LatexCommand ref name "Hints for IPv6-enabled daemons" reference "chapter-hints-daemons" \end_inset . \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "faq-ipv6-ready-system-check" \end_inset FAQ (IPv6 Systemcheck) \end_layout \begin_layout Subsection Anwendung diverser Tools \end_layout \begin_layout Subsubsection Q: ping6 zu einer link-lokalen Adresse funktioniert nicht \end_layout \begin_layout Standard Fehlermeldung: " \emph on connect: Invalid argument \emph default " \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard Lösung: Spezifizieren Sie den Link, z.B.: \begin_inset Quotes sld \end_inset ping6 \series bold -I eth0 \series default fe80::2e0:18ff:fe90:9205 \begin_inset Quotes srd \end_inset . Siehe auch \begin_inset CommandInset ref LatexCommand ref name "program ping6 usage" reference "program-ping6" \end_inset . \end_layout \begin_layout Subsubsection Q: ping6 oder traceroute6 funktioniert nicht als normaler Benutzer \end_layout \begin_layout Standard Fehlermeldung: \begin_inset Quotes sld \end_inset \emph on icmp socket: Operation not permitted \emph default \begin_inset Quotes srd \end_inset \end_layout \begin_layout Standard Diese Tools erzeugen spezielle ICMPv6 Pakete und versenden diese unter Verwendun g von raw sockets im Kernel. Raw sockets können aber nur vom Benutzer \begin_inset Quotes sld \end_inset root \begin_inset Quotes srd \end_inset verwendet werden. Normale Benutzer bekommen aus diesem Grund diese Fehlermeldung. \begin_inset Newline newline \end_inset \end_layout \begin_layout Standard Lösung: Wenn wirklich alle Benutzer auf diese Tools zugreifen sollen, können Sie dies mit setzen des \begin_inset Quotes sld \end_inset suid \begin_inset Quotes srd \end_inset bits mittels \begin_inset Quotes sld \end_inset chmod u+s / path/to/program \begin_inset Quotes srd \end_inset erreichen (siehe auch \begin_inset CommandInset ref LatexCommand ref name "program ping6 usage" reference "program-ping6" \end_inset ). Falls nicht alle Benutzer das Programm benötigen, können Sie die Gruppenzugehör igkeit des Programms ändern, z.B. Gruppe \begin_inset Quotes sld \end_inset wheel \begin_inset Quotes srd \end_inset . Fügen Sie alle Benutzer zu dieser Gruppe hinzu und entfernen Sie das execution bit für andere Benutzer mittels \begin_inset Quotes sld \end_inset chmod o-rwx /path/to/program \begin_inset Quotes srd \end_inset . Alternativ können Sie auch \begin_inset Quotes sld \end_inset sudo \begin_inset Quotes srd \end_inset dazu verwenden, um Ihren Sicherheitsbestimmungen Rechnung zu tragen. \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-configuration-interface" \end_inset Interface-Konfiguration \end_layout \begin_layout Section Unterschiedliche Netzwerk-Geräte \end_layout \begin_layout Standard Ein Knoten besitzt mehrere Netzwerk-Devices, die in Klassen zusammengefasst werden können: \end_layout \begin_layout Itemize Physikalische Devices wie eth0, tr0 \end_layout \begin_layout Itemize Virtuelle Devices wie ppp0, tun0, tap0, sit0, isdn0, ippp0 \end_layout \begin_layout Subsection Physikalische Devices \end_layout \begin_layout Standard Physikalische Interfaces wie Ethernet oder Token-Ring bedürfen keiner speziellen Handhabung. \end_layout \begin_layout Subsection Virtuelle Devices \end_layout \begin_layout Standard Virtuelle Interfaces hingegen benötigen immer eine spezielle Konfiguration. \end_layout \begin_layout Subsubsection IPv6-in-IPv4 Tunnel Interfaces \end_layout \begin_layout Standard Diese Interfaces werden \series bold sitx \series default genannt. Der Name sit ist eine Abkürzung für \series bold S \series default imple \series bold I \series default nternet \series bold T \series default ransition. 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. \end_layout \begin_layout Standard \series bold sit0 \series default hat eine spezielle Bedeutung: dieses Interface kann nicht für fest zugeordnete Tunnel verwendet werden. \end_layout \begin_layout Subsubsection PPP Interfaces \end_layout \begin_layout Standard PPP Interfaces beziehen ihre IPv6 Funktionalität von einem IPv6 kompatiblen PPP Daemon. \end_layout \begin_layout Subsubsection ISDN HDLC Interfaces \end_layout \begin_layout Standard Für HDLC mit \series bold IP \series default encapsulation ist die IPv6 Funktionalität bereits im Kernel integriert. \end_layout \begin_layout Subsubsection ISDN PPP Interfaces \end_layout \begin_layout Standard 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. \end_layout \begin_layout Subsubsection SLIP + PLIP \end_layout \begin_layout Standard Wie bereits erwähnt, unterstützen diese Interfaces keinen IPv6 Transport (senden ist ok, das abfertigen ankommender Pakete funktioniert jedoch nicht). \end_layout \begin_layout Subsubsection Ether-tap Device \end_layout \begin_layout Standard Ether-tap Devices sind IPv6 kompatibel und als stateless konfiguriert. Für den Gebrauch muss das Modul \begin_inset Quotes sld \end_inset ethertap \begin_inset Quotes srd \end_inset geladen werden. \end_layout \begin_layout Subsubsection tun Device \end_layout \begin_layout Standard Nicht von mir getestet... \end_layout \begin_layout Subsubsection ATM \end_layout \begin_layout Standard 01/2002: ATM wird vom Standard-Kernel nicht, jedoch aber durch die USAGI-Erweite rungen unterstützt. \end_layout \begin_layout Subsubsection Sonstige \end_layout \begin_layout Standard Wurde ein Interface vergessen...? \end_layout \begin_layout Section Interfaces ein/aus-schalten \end_layout \begin_layout Standard Es gibt zwei Methoden, ein Interface ein- oder auszuschalten. \end_layout \begin_layout Subsection Verwendung von "ip" \end_layout \begin_layout Standard Gebrauch: \end_layout \begin_layout Code # ip link set dev up \end_layout \begin_layout Code # ip link set dev down \end_layout \begin_layout Standard Beispiel: \end_layout \begin_layout Code \end_layout \begin_layout Code # ip link set dev eth0 up \end_layout \begin_layout Code # ip link set dev eth0 down \end_layout \begin_layout Subsection Verwendung von "ifconfig" \end_layout \begin_layout Standard \align left Gebrauch: \end_layout \begin_layout Code # /sbin/ifconfig up \end_layout \begin_layout Code # /sbin/ifconfig down \end_layout \begin_layout Standard Beispiel: \end_layout \begin_layout Code # /sbin/ifconfig eth0 up \end_layout \begin_layout Code # /sbin/ifconfig eth0 down \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-configuration-address" \end_inset IPv6 Adressen konfigurieren \end_layout \begin_layout Standard \align left Es gibt verschiedene Methoden zum konfigurieren einer IPv6 Adresse eines Interfaces. Sie können "ifconfig" oder "ip" dazu einsetzen. \end_layout \begin_layout Section Bestehende IPv6 Adressen anzeigen \end_layout \begin_layout Standard \align left Zuerst sollten sie überprüfen, ob und welche IPv6 Adressen bereits konfiguriert sind (etwa durch automatischer stateless Konfiguration). \end_layout \begin_layout Standard \lang english Achtung: Adressen beginnend mit \begin_inset Quotes sld \end_inset fec0 \begin_inset Quotes srd \end_inset sind obsolet, hier aber noch der Vollständigheit wegen gezeigt! \end_layout \begin_layout Subsection Verwendung von "ip" \end_layout \begin_layout Standard Anwendung: \end_layout \begin_layout Code # /sbin/ip -6 addr show dev \end_layout \begin_layout Standard Beispiel für einen statisch konfigurierten Host: \end_layout \begin_layout Code # /sbin/ip -6 addr show dev eth0 \end_layout \begin_layout Code 2: eth0: \end_layout \begin_layout Standard Hier sehen Sie verschiedene IP Adressen mit unterschiedlichen Gültigkeitsbereich en (die Ausgabe wurde mit grep gefiltert) \end_layout \begin_layout Code # /sbin/ifconfig eth0 |grep "inet6 addr:" \end_layout \begin_layout Code inet6 addr: fe80::210:a4ff:fee3:9566/10 Scope:Link \end_layout \begin_layout Code inet6 addr: 2001:0db8:0:f101::1/64 Scope:Global \end_layout \begin_layout Code inet6 addr: fec0:0:0:f101::1/64 Scope:Site \end_layout \begin_layout Section Hinzufügen einer IPv6 Adresse \end_layout \begin_layout Standard Die Vorgehensweise beim hinzufügen einer IPv6 Adresse ist vergleichbar mit dem "IP ALIAS"-Mechanismus bei IPv4 adressierten Interfaces. \end_layout \begin_layout Subsection Verwendung von "ip" \end_layout \begin_layout Standard Anwendung: \end_layout \begin_layout Code # /sbin/ip -6 addr add / dev \end_layout \begin_layout Standard Beispiel: \end_layout \begin_layout Code # /sbin/ip -6 addr add 2001:0db8:0:f101::1/64 dev eth0 \end_layout \begin_layout Subsection Verwendung von "ifconfig" \end_layout \begin_layout Standard \align left Anwendung: \end_layout \begin_layout Code # /sbin/ifconfig inet6 add / \end_layout \begin_layout Standard Beispiel: \end_layout \begin_layout Code # /sbin/ifconfig eth0 inet6 add 2001:0db8:0:f101::1/64 \end_layout \begin_layout Section IPv6 Adressen entfernen \end_layout \begin_layout Standard \align left 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. \end_layout \begin_layout Subsection Verwendung von "ip" \end_layout \begin_layout Standard Anwendung: \end_layout \begin_layout Code # /sbin/ip -6 addr del / dev \end_layout \begin_layout Standard Beispiel: \end_layout \begin_layout Code # /sbin/ip -6 addr del 2001:0db8:0:f101::1/64 dev eth0 \end_layout \begin_layout Subsection Verwendung von "ifconfig" \end_layout \begin_layout Standard \align left Anwendung: \end_layout \begin_layout Code # /sbin/ifconfig inet6 del / \end_layout \begin_layout Standard Beispiel: \end_layout \begin_layout Code # /sbin/ifconfig eth0 inet6 del 2001:0db8:0:f101::1/64 \end_layout \begin_layout Section \lang english Automatische IPv6-Adress-Konfiguration \end_layout \begin_layout Standard \lang english 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 \begin_inset CommandInset ref LatexCommand ref reference "hints-daemons-radvd" \end_inset ). \end_layout \begin_layout Section \lang english Aktivieren der Privacy Extension \end_layout \begin_layout Standard \lang english Privacy Extension wie beschrieben in \begin_inset CommandInset href LatexCommand href name "RFC 4941 / Privacy Extensions for Stateless Address Autoconfiguration in IPv6" target "http://www.faqs.org/rfcs/rfc4941.html" \end_inset (Nachfolger von \begin_inset CommandInset href LatexCommand href name "RFC 3041" target "http://www.faqs.org/rfcs/rfc3041.html" \end_inset ) 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. \end_layout \begin_layout Subsection \lang english Aktivieren von Privacy Extension mit Hilfe von sysctl \end_layout \begin_layout Subsection* \lang english Temporäre Aktivierung \end_layout \begin_layout Standard \lang english Einschalten der Privacy Extension für z.B. Interface \begin_inset Quotes sld \end_inset eth0 \begin_inset Quotes srd \end_inset und zudem Präferieren dieser Adresse: \end_layout \begin_layout Code # sysctl -w net.ipv6.conf.eth0.use_tempaddr=2 \end_layout \begin_layout Standard \lang english Zur Aktivierung ist der Restart des Interfaces notwendig \end_layout \begin_layout Code # ip link set dev eth0 down \end_layout \begin_layout Code # ip link set dev eth0 up \end_layout \begin_layout Standard \lang english Nach Empfang eines Router Advertisement sollte das Interface eine entsprechende Adresse sich selbst konfiguriert haben \end_layout \begin_layout Code # ip -6 addr show dev eth0 \end_layout \begin_layout Code 2: eth0: mtu 1500 qlen 1000 \end_layout \begin_layout Code inet6 2001:db8:0:1:8992:3c03:d6e2:ed72/64 scope global secondary dynamic <- pseudo-random IID \end_layout \begin_layout Code valid_lft 604711sec preferred_lft 86311sec \end_layout \begin_layout Code inet6 2001:db8:0:1::224:21ff:fe01:2345/64 scope global <- IID based on MAC \end_layout \begin_layout Code valid_lft 604711sec preferred_lft 86311sec \end_layout \begin_layout Code ... \end_layout \begin_layout Subsection* \lang english Permanente Aktivierung \end_layout \begin_layout Standard Für \lang english eine permanente Aktivierung muss entweder ein spezieller Initscript-Wert pro Interface gesetzt sein oder ein entsprechender Wert in /etc/sysctl.conf definiert werden: \end_layout \begin_layout Code net.ipv6.conf.eth0.use_tempaddr=2 \end_layout \begin_layout Standard \lang english 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: \end_layout \begin_layout Code net.ipv6.conf.all.use_tempaddr=2 \end_layout \begin_layout Code net.ipv6.conf.default.use_tempaddr=2 \end_layout \begin_layout Standard \lang english 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. \end_layout \begin_layout Code # sysctl -p \end_layout \begin_layout Subsection \lang english Aktivieren von Privacy Extension mit Hilfe des NetworkManager \end_layout \begin_layout Standard \lang english 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. \end_layout \begin_layout Standard \lang english Beispiele basieren auf Version 0.9.9.1-5.git20140319.fc21 \end_layout \begin_layout Standard \lang english Prüfen existierender Interfaces mit: \end_layout \begin_layout Code # nmcli connection \end_layout \begin_layout Code NAME UUID TYPE DEVICE \end_layout \begin_layout Code ens4v1 d0fc2b2e-5fa0-4675-96b5-b723ca5c46db 802-3-ethernet ens4v1 \end_layout \begin_layout Standard \lang english Menge von IPv6-Adressen mit Privacy Extension: \end_layout \begin_layout Code # ip -o addr show dev ens4v1 | grep temporary | wc -l \end_layout \begin_layout Code 0 \end_layout \begin_layout Standard \lang english Aktuelle Einstellung der IPv6 Privacy Extension für ein Interface: \end_layout \begin_layout Code # nmcli connection show ens4v1 |grep ip6-privacy \end_layout \begin_layout Code ipv6.ip6-privacy: -1 (unknown) \end_layout \begin_layout Standard \lang english Aktivieren der IPv6 Privacy Extension und Restart des Interfaces; \end_layout \begin_layout Code # nmcli connection modify ens4v1 ipv6.ip6-privacy 2 \end_layout \begin_layout Code # nmcli connection down ens4v1; nmcli connection up ens4v1 \end_layout \begin_layout Standard \lang english Neuer Wert der IPv6 Privacy Extension prüfen: \end_layout \begin_layout Code # nmcli connection show ens4v1 |grep ip6-privacy \end_layout \begin_layout Code ipv6.ip6-privacy: 2 (active, prefer temporary IP) \end_layout \begin_layout Standard \lang english Nun sollten auch IPv6 Privacy Extension Adressen automatisch konfiguriert sein \end_layout \begin_layout Code # ip -o addr show dev ens4v1 | grep temporary | wc -l \end_layout \begin_layout Code 2 \end_layout \begin_layout Subsection \lang english Test zur Benutzung von Privacy Extension IPv6-Adressen \end_layout \begin_layout Standard \lang english 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 \begin_inset CommandInset href LatexCommand href name "http://ip.bieringer.de/" target "http://ip.bieringer.de/" \end_inset durchgeführt werden. Wenn EUI64_SCOPE als Ausgabe \begin_inset Quotes sld \end_inset iid-privacy \begin_inset Quotes srd \end_inset zeigt, dann funktioniert alles richtig. \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-configuration-route" \end_inset Konfiguration normaler IPv6-Routen \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard \lang english Achtung: Adressen beginnend mit \begin_inset Quotes sld \end_inset fec0 \begin_inset Quotes srd \end_inset sind obsolet, hier aber noch der Vollständigheit wegen gezeigt! \end_layout \begin_layout Section Bestehende IPv6-Routen anzeigen \end_layout \begin_layout Standard \align left Zuerst sollten sie überprüfen, ob und welche IPv6 Adressen bereits konfiguriert sind (etwa durch automatischer Konfiguration). \end_layout \begin_layout Subsection Verwendung von "ip" \end_layout \begin_layout Standard Anwendung: \end_layout \begin_layout Code # /sbin/ip -6 route show [dev ] \end_layout \begin_layout Standard \align left Beispiel: \end_layout \begin_layout Code # /sbin/ip -6 route show dev eth0 \end_layout \begin_layout Code 2001:0db8:0:f101::/64 proto kernel metric 256 mtu 1500 advmss 1440 \end_layout \begin_layout Code fe80::/10 proto kernel metric 256 mtu 1500 advmss 1440 \end_layout \begin_layout Code ff00::/8 proto kernel metric 256 mtu 1500 advmss 1440 \end_layout \begin_layout Code default proto kernel metric 256 mtu 1500 advmss 1440 \end_layout \begin_layout Subsection Verwendung von "route" \end_layout \begin_layout Standard \align left Anwendung: \end_layout \begin_layout Code # /sbin/route -A inet6 \end_layout \begin_layout Standard \align left Sie sehen hier mehrere IPv6 Routen mit unterschiedlichen Adressen eines einzelnen Interfaces (bei der Ausgabe wurde das Interface eth0 herausgefiltert). \end_layout \begin_layout Code # /sbin/route -A inet6 |grep -w "eth0" \end_layout \begin_layout Code 2001:0db8:0:f101 ::/64 :: UA 256 0 0 eth0 <- Interface route for global \end_layout \begin_layout Code ¬ address \end_layout \begin_layout Code fe80::/10 :: UA 256 0 0 eth0 <- Interface route for link-local \end_layout \begin_layout Code ¬ address \end_layout \begin_layout Code ff00::/8 :: UA 256 0 0 eth0 <- Interface route for all multicast \end_layout \begin_layout Code ¬ addresses \end_layout \begin_layout Code ::/0 :: UDA 256 0 0 eth0 <- Automatic default route \end_layout \begin_layout Section Eine IPv6-Route über ein Gateway hinzufügen \end_layout \begin_layout Standard \align left Eine Route wird meistens benötigt, um mit IPv6 die Außenwelt über einen IPv6 fähigen Router und über Ihren Link zu erreichen. \end_layout \begin_layout Subsection Verwendung von "ip" \end_layout \begin_layout Standard Anwendung: \end_layout \begin_layout Code # /sbin/ip -6 route add / via \end_layout \begin_layout Code ¬ [dev ] \end_layout \begin_layout Standard Beispiel: \end_layout \begin_layout Code # /sbin/ip -6 route add default via 2001:0db8:0:f101::1 \end_layout \begin_layout Subsection Verwendung von "route" \end_layout \begin_layout Standard \align left Anwendung: \end_layout \begin_layout Code # /sbin/route -A inet6 add / gw \end_layout \begin_layout Code ¬ [dev ] \end_layout \begin_layout Standard Die optionale Angabe eines Devices wird dann benötigt, wenn die IPv6 Adresse des Gateways eine lokale Link-Adresse ist. \end_layout \begin_layout Standard Im folgenden Beispiel wird eine Route für alle Adressen (default) über das Gateway \family typewriter 2001:0db8:0:f101::1 \family default hinzugefügt. \end_layout \begin_layout Code # /sbin/route -A inet6 add default gw 2001:0db8:0:f101::1 \end_layout \begin_layout Section Eine IPv6-Route über ein Gateway entfernen \end_layout \begin_layout Standard \align left 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. \end_layout \begin_layout Subsection Verwendung von "ip" \end_layout \begin_layout Standard \align left Anwendung: \end_layout \begin_layout Code # /sbin/ip -6 route del / via \end_layout \begin_layout Code ¬ [dev ] \end_layout \begin_layout Standard Beispiel: \end_layout \begin_layout Code # /sbin/ip -6 route del default via 2001:0db8:0:f101::1 \end_layout \begin_layout Subsection Verwendung von "route" \end_layout \begin_layout Standard \align left Anwendung: \end_layout \begin_layout Code # /sbin/route -A inet6 del / gw [dev \end_layout \begin_layout Code ¬ ] \end_layout \begin_layout Standard Beispiel zum entfernen der im obigen Beispiel hinzugefügten Route: \end_layout \begin_layout Code # /sbin/route -A inet6 del default gw 2001:0db8:0:f101::1 \end_layout \begin_layout Section Eine IPv6-Route über ein Interface hinzufügen \end_layout \begin_layout Standard \align left Diese Funktion wird manchmal im Fall dedizierter Punkt-zu-Punkt Verbindungen verwendet, in der Regel aber eher selten benötigt. \end_layout \begin_layout Subsection Verwendung von "ip" \end_layout \begin_layout Standard \align left Anwendung: \end_layout \begin_layout Code # /sbin/ip -6 route add / dev \end_layout \begin_layout Code ¬ metric 1 \end_layout \begin_layout Standard Beispiel: \end_layout \begin_layout Code # /sbin/ip -6 route add default dev eth0 metric 1 \end_layout \begin_layout Standard Der Metrik-Wert \begin_inset Quotes sld \end_inset 1 \begin_inset Quotes srd \end_inset wird verwendet, um mit dem Metrik Wert von route kompatibel zu sein; der Standard-Metrik-Wert von \begin_inset Quotes sld \end_inset ip \begin_inset Quotes srd \end_inset ist \begin_inset Quotes sld \end_inset 1024 \begin_inset Quotes srd \end_inset . \end_layout \begin_layout Subsection Verwendung von "route" \end_layout \begin_layout Standard \align left Anwendung: \end_layout \begin_layout Code # /sbin/route -A inet6 add / dev \end_layout \begin_layout Standard Beispiel: \end_layout \begin_layout Code # /sbin/route -A inet6 add default dev eth0 \end_layout \begin_layout Section Eine IPv6-Route über ein Interface entfernen \end_layout \begin_layout Standard \align left Dies wird manuell nicht so oft benötigt, jedoch aber beim herunterfahren von Konfigurationsscripts benutzt. \end_layout \begin_layout Subsection Verwendung von "ip" \end_layout \begin_layout Standard Anwendung: \end_layout \begin_layout Code # /sbin/ip -6 route del / dev \end_layout \begin_layout Standard Beispiel: \end_layout \begin_layout Code # /sbin/ip -6 route del default dev eth0 \end_layout \begin_layout Subsection Verwendung von "route" \end_layout \begin_layout Standard \align left Anwendung: \end_layout \begin_layout Code # /sbin/route -A inet6 del / dev \end_layout \begin_layout Standard \align left Beispiel: \end_layout \begin_layout Code # /sbin/route -A inet6 del default dev eth0 \end_layout \begin_layout Section FAQ für IPv6-Routen \end_layout \begin_layout Subsection Unterstützung einer IPv6 Default-Route \end_layout \begin_layout Standard Ein Schwerpunkt bei IPv6 ist das hierarchische Routing. Aus diesem Grund werden in Routern nur wenige Routing-Einträge benötigt. \end_layout \begin_layout Standard Einige Punkte sind im aktuellen Kernel zu beachten: \end_layout \begin_layout Subsubsection Clients (kein Routing eines Paketes!) \end_layout \begin_layout Standard Ein client kann eine Default Route (z.B. \begin_inset Quotes sld \end_inset ::/0 \begin_inset Quotes srd \end_inset ) einrichten, diese aber auch durch automatische Konfiguration, z.B. mit radvd, erlernen: \end_layout \begin_layout Code # ip -6 route show | grep ^default \end_layout \begin_layout Code default via fe80::212:34ff:fe12:3450 dev eth0 proto kernel metric 1024 expires \end_layout \begin_layout Code ¬ 29sec mtu 1500 advmss 1440 \end_layout \begin_layout Subsubsection Router & Paketweiterleitung \end_layout \begin_layout Standard Ältere Linux Kernel ( zumindest <= 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). \end_layout \begin_layout Standard Falls ein entsprechender Kernel noch verwendet wird, kann \begin_inset Quotes sld \end_inset default routing \begin_inset Quotes srd \end_inset eingerichtet werden, wenn hierbei das einzig globale Adress-Präfix \begin_inset Quotes sld \end_inset 2000::/3 \begin_inset Quotes srd \end_inset verwendet wird. \end_layout \begin_layout Standard 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. \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-Neighbor-Discovery" \end_inset Neighbor Discovery \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard Der Kernel merkt sich erfolgreich gelernte \begin_inset Quotes sld \end_inset Nachbarn \begin_inset Quotes srd \end_inset (wie ARP in IPv4). Sie können die gelernten Einträge mit \begin_inset Quotes sld \end_inset ip \begin_inset Quotes srd \end_inset einsehen. \end_layout \begin_layout Section Netzwerkumgebung mit \begin_inset Quotes sld \end_inset ip \begin_inset Quotes srd \end_inset anzeigen \end_layout \begin_layout Standard Mit dem folgenden Befehl können Sie die gelernten oder konfigurierten IPv6 Nachbarn anzeigen: \end_layout \begin_layout Code # ip -6 neigh show [dev ] \end_layout \begin_layout Standard Das folgende Beispiel zeigt einen Nachbar, einen erreichbaren Router: \end_layout \begin_layout Code # ip -6 neigh show \end_layout \begin_layout Code fe80::201:23ff:fe45:6789 dev eth0 lladdr 00:01:23:45:67:89 router nud reachable \end_layout \begin_layout Section Tabelle der Netzwerkumgebung mit \begin_inset Quotes sld \end_inset ip \begin_inset Quotes srd \end_inset editieren \end_layout \begin_layout Subsection Eintrag manuell hinzufügen \end_layout \begin_layout Standard Mit folgendem Befehl können Sie einen Eintrag manuell hinzufügen: \end_layout \begin_layout Code # ip -6 neigh add lladdr dev \end_layout \begin_layout Standard Beispiel: \end_layout \begin_layout Code # ip -6 neigh add fec0::1 lladdr 02:01:02:03:04:05 dev eth0 \end_layout \begin_layout Subsection Eintrag manuell entfernen \end_layout \begin_layout Standard Sie können einen Eintrag auch löschen: \end_layout \begin_layout Code # ip -6 neigh del lladdr dev \end_layout \begin_layout Standard Beispiel: \end_layout \begin_layout Code # ip -6 neigh del fec0::1 lladdr 02:01:02:03:04:05 dev eth0 \end_layout \begin_layout Subsection Erweiterte Einstellungen \end_layout \begin_layout Standard Das Tool \begin_inset Quotes sld \end_inset ip \begin_inset Quotes srd \end_inset ist weniger ausführlich dokumentiert, dennoch ist es sehr mächtig. Sehen Sie online mit \begin_inset Quotes sld \end_inset help \begin_inset Quotes srd \end_inset für weitere Details: \end_layout \begin_layout Code # ip -6 neigh help \end_layout \begin_layout Code Usage: ip neigh { add | del | change | replace } { ADDR [ lladdr LLADDR ] \end_layout \begin_layout Code [ nud { permanent | noarp | stale | reachable } ] \end_layout \begin_layout Code | proxy ADDR } [ dev DEV ] \end_layout \begin_layout Code ip neigh {show|flush} [ to PREFIX ] [ dev DEV ] [ nud STATE ] \end_layout \begin_layout Standard 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. \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-configuring-ipv6-in-ipv4-tunnels" \end_inset Konfiguration eines IPv6-in-IPv4 Tunnels \end_layout \begin_layout Standard \align left 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. \end_layout \begin_layout Standard Es gibt unterschiedliche Tunnel-Mechanismen sowie einige Möglichkeiten zum Einrichten eines Tunnels. \end_layout \begin_layout Section Tunnelarten \end_layout \begin_layout Standard Es steht Ihnen mehr als eine Möglichkeit zur Verfügung, IPv6 Pakete über ausschließliche IPv4 Links zu tunneln. \end_layout \begin_layout Subsection Statische Punkt-zu-Punkt Tunnel \end_layout \begin_layout Standard 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: \lang english \begin_inset CommandInset href LatexCommand href name "RFC 4213 / Basic Transition Mechanisms for IPv6 Hosts and Routers" target "http://www.faqs.org/rfcs/rfc4213.html" \end_inset \lang ngerman . Anforderungen: \end_layout \begin_layout Itemize Die IPv4 Adresse des lokalen Tunnel-Endpunktes muss statisch sein, global eindeutig und vom entfernten Tunnel-Endpunkt aus erreichbar sein. \begin_inset Separator latexpar \end_inset \end_layout \begin_deeper \begin_layout Itemize \lang english Wenn keine statische IPv4 Addresse verfügbar ist, muß der Tunnel-Provider die Authentifizerung der dynamischen IPv4 Addresse unterstützen, wie z.B. \begin_inset CommandInset href LatexCommand href name "SixXS / AICCU" target "http://www.sixxs.net/" \end_inset oder \begin_inset CommandInset href LatexCommand href name "gogo6" target "http://gogo6.com/" \end_inset . \end_layout \end_deeper \begin_layout Itemize Sie müssen ein globales IPv6 Präfix zugewiesen bekommen haben. \begin_inset Separator latexpar \end_inset \end_layout \begin_deeper \begin_layout Itemize \lang english Es ist auch möglich, daß zusätzliche IPv6 Netzwerke über diesen Tunnel geroutet werden. \end_layout \end_deeper \begin_layout Itemize 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). \end_layout \begin_layout Standard Statische Tunnelprovider: \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "Hurricane Electric" target "http://he.com/" \end_inset \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "SixXS" target "http://www.sixxs.net/" \end_inset \end_layout \begin_layout Subsection Automatische Tunnel \end_layout \begin_layout Standard 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 \lang english - dieser Mechanismus sollte nicht mehr unterstützt werden, weil er sehr unsicher ist. \end_layout \begin_layout Subsection \begin_inset CommandInset label LatexCommand label name "tunneling-6to4" \end_inset 6to4 Tunnel \end_layout \begin_layout Standard 6to4 Tunnel ( \begin_inset CommandInset href LatexCommand href name "RFC 3056 / Connection of IPv6 Domains via IPv4 Clouds" target "http://www.faqs.org/rfcs/rfc3056.html" \end_inset ) 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-Tu nnel unterteilt. Ferner zeigt eine spezielle IPv6 Adresse an, dass der Knoten einen 6to4 Tunnel für die Verbindung zum weltweiten IPv6 Netzwerk verwendet. \end_layout \begin_layout Subsubsection Erstellen eines 6to4 Präfixes \end_layout \begin_layout Standard Die 6to4 Adresse wird wie folgt definiert (Schema ist dem \begin_inset CommandInset href LatexCommand href name "RFC 3056 / Connection of IPv6 Domains via IPv4 Clouds" target "http://www.faqs.org/rfcs/rfc3056.html" \end_inset entnommen): \end_layout \begin_layout Code | 3+13 | 32 | 16 | 64 bits | \end_layout \begin_layout Code +---+------+-----------+--------+--------------------------------+ \end_layout \begin_layout Code | FP+TLA | V4ADDR | SLA ID | Interface ID | \end_layout \begin_layout Code | 0x2002 | | | | \end_layout \begin_layout Code +---+------+-----------+--------+--------------------------------+ \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard Für Gateways wird dieser Präfix normalerweise mit dem SLA \begin_inset Quotes sld \end_inset 0000 \begin_inset Quotes srd \end_inset definiert und dem 6to4 Tunnel-Interface das Suffix \begin_inset Quotes sld \end_inset ::1 \begin_inset Quotes srd \end_inset (kann aber auch ein beliebiger mit local-scope sein) zugewiesen. Zu bemerken ist, dass Microsoft Windows als Suffix auch immer die V4ADDR einsetzt. \end_layout \begin_layout Subsubsection 6to4 Tunnel zum Upstream \end_layout \begin_layout Standard Der Knoten muss die Kenntnis darüber haben, an welchen entfernten Tunnel-Endpunk t die in IPv4 Paketen eingeschlossenen IPv6 Pakete gesendet werden sollen. In den \begin_inset Quotes sld \end_inset Anfängen \begin_inset Quotes srd \end_inset der 6to4 Tunnel-Anwendung wurden dedizierte Upstream akzeptierende Router definiert. Liste der Router siehe: \begin_inset CommandInset href LatexCommand href name "NSayer's 6to4 information" target "http://www.kfu.com/~nsayer/6to4/" \end_inset . \end_layout \begin_layout Standard 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 \begin_inset CommandInset href LatexCommand href name "RFC 3068 / An Anycast Prefix for 6to4 Relay Routers" target "http://www.faqs.org/rfcs/rfc3068.html" \end_inset für weitere Details. \end_layout \begin_layout Subsubsection 6to4 Tunnel zum Downstream \end_layout \begin_layout Standard Der Downstream (6bone -> Ihr 6to4 fähiger Node) ist nicht wirklich fix, er kann von jenem Host variieren, an dem ursprünglich die Pakete gesendet wurden. Es gibt zwei Möglichkeiten: \end_layout \begin_layout Itemize Der entfernte Host benutzt 6to4 und sendet die Pakete direkt an den lokalen Knoten zurück (siehe unten). \end_layout \begin_layout Itemize Der entfernte Host sendet die Pakete zurück an das weltweite IPv6 Netzwerk, und abhängig vom dynamischen Routing, erstellt dann ein Relay-Router eines ISPs, der 2002::/16 via BGP kundgibt, automatisch zum lokalen Knoten einen Tunnel. \end_layout \begin_layout Subsubsection Möglicher 6to4 Verkehr \end_layout \begin_layout Itemize Vom 6to4 zum 6to4: der Tunnel entsteht normalerweise direkt zwischen den beiden 6to4 fähigen Hosts. \end_layout \begin_layout Itemize Vom 6to4 zum non-6to4: Der Datenstrom wird mittels Upstream-Tunnel versendet. \end_layout \begin_layout Itemize Vom non-6to4 zum 6to4: Der Datenstrom wird mittels Downstream-Tunnel versendet. \end_layout \begin_layout Standard Achtung, durch das mögliche asymmetrische Routing können Probleme mit defekten 6to4-Relays schwer zu diagnostizieren sein. \end_layout \begin_layout Subsection \lang english UDP gekapselte IPv6 Tunnels \end_layout \begin_layout Standard \lang english 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. \end_layout \begin_layout Subsubsection \lang english Teredo Tunnel \end_layout \begin_layout Standard \lang english \begin_inset CommandInset href LatexCommand href name "RFC 4380 / Teredo: Tunneling IPv6 over UDP through Network Address Translations" target "http://www.faqs.org/rfcs/rfc4380.html" \end_inset beschreibt das Tunneln von IPv6 Pakete über IPv4 UDP Pakete (Bubbles), siehe auch \begin_inset CommandInset href LatexCommand href name "Wikipedia / Teredo" target "http://de.wikipedia.org/wiki/Teredo" \end_inset . Üblicherweise benutzt es 3544/udp. Der Client für Linux heißt \begin_inset CommandInset href LatexCommand href name "miredo" target "http://www.remlab.net/miredo/" \end_inset und ist benutzbar ohne große Konfiguration. Über diese Tunnelmethode kann nur ein einzelner Client an das globale IPv6-Netz werk angeschlossen werden. \end_layout \begin_layout Subsubsection \lang english AYIYA Tunnel \end_layout \begin_layout Standard \lang english Tunnel provider \begin_inset CommandInset href LatexCommand href name "SixXS" target "http://www.sixxs.net/" \end_inset bietet auch einen IPv6-in-UDP-in-IPv4 (5072/udp) Tunnel an, zur Nutzung muss der Modus AYIYA aktiviert werden. \end_layout \begin_layout Subsubsection \lang english gogo6 Tunnel \end_layout \begin_layout Standard \lang english Tunnel provider \begin_inset CommandInset href LatexCommand href name "gogo6" target "http://gogo6.com/" \end_inset bietet auch einen IPv6-in-UDP-in-IPv4 (3653/udp) Tunnel an, zur Nutzung muss der Modus v6udpv4 aktiviert werden. \end_layout \begin_layout Section Bestehende Tunnel anzeigen \end_layout \begin_layout Subsection Verwendung von "ip" \end_layout \begin_layout Standard Anwendung: \end_layout \begin_layout Code # /sbin/ip -6 tunnel show [] \end_layout \begin_layout Standard Beispiel: \end_layout \begin_layout Code # /sbin/ip -6 tunnel show \end_layout \begin_layout Code sit0: ipv6/ip remote any local any ttl 64 nopmtudisc \end_layout \begin_layout Code sit1: ipv6/ip remote 195.226.187.50 local any ttl 64 \end_layout \begin_layout Subsection Verwendung von "route" \end_layout \begin_layout Standard Anwendung: \end_layout \begin_layout Code # /sbin/route -A inet6 \end_layout \begin_layout Standard Beispiel (Ausgabe wurde derart gefiltert, dass nur Tunnels über das virtuelle Interface sit0 angezeigt werden): \end_layout \begin_layout Code # /sbin/route -A inet6 | grep " \backslash Wsit0 \backslash W*$" \end_layout \begin_layout Code ::/96 :: U 256 2 0 sit0 \end_layout \begin_layout Code 2002::/16 :: UA 256 0 0 sit0 \end_layout \begin_layout Code 2000::/3 ::193.113.58.75 UG 1 0 0 sit0 \end_layout \begin_layout Code fe80::/10 :: UA 256 0 0 sit0 \end_layout \begin_layout Code ff00::/8 :: UA 256 0 0 sit0 \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "conf-ipv6-in-ipv4-point-to-point-tunnels" \end_inset Einrichtung eines Punkt-zu-Punkt Tunnels \end_layout \begin_layout Standard Es gibt drei Methoden ein Punkt-zu-Punkt Tunnel hinzuzufügen bzw. zu entfernen. \end_layout \begin_layout Standard Eine gute Informationsquelle zum Thema Tunnel-Einrichtung mit \begin_inset Quotes sld \end_inset ip \begin_inset Quotes srd \end_inset ist folgender Artikel: \begin_inset CommandInset href LatexCommand href name "Configuring tunnels with iproute2 (article)" target "http://www.deepspace6.net/docs/iproute2tunnel-en.html" \end_inset \lang english ( \begin_inset CommandInset href LatexCommand href name "Spiegel" target "http://mirrors.bieringer.de/www.deepspace6.net/docs/iproute2tunnel-en.html" \end_inset ) \lang ngerman . \end_layout \begin_layout Subsection Einen Punkt-zu-Punkt Tunnel hinzufügen \end_layout \begin_layout Subsubsection Verwendung von "ip" \end_layout \begin_layout Standard Bei einer kleinen Anzahl von Tunnels ist die Verwendung von \begin_inset Quotes sld \end_inset ip \begin_inset Quotes srd \end_inset zurzeit die Standardmethode. \end_layout \begin_layout Standard Beispiel für das Erstellen eines Tunnel-Devices (das Device wird aber hiermit nicht aktiviert; ebenso muss ein TTL Wert spezifiziert werden, da der Standardw ert 0 ist): \end_layout \begin_layout Code # /sbin/ip tunnel add mode sit ttl remote \end_layout \begin_layout Code ¬ local \end_layout \begin_layout Standard Anwendung (drei allgemeine Beispiele): \end_layout \begin_layout Code # /sbin/ip tunnel add sit1 mode sit ttl remote \end_layout \begin_layout Code ¬ local \end_layout \begin_layout Code # /sbin/ip link set dev sit1 up \end_layout \begin_layout Code # /sbin/ip -6 route add dev sit1 metric 1 \end_layout \begin_layout Code \end_layout \begin_layout Code # /sbin/ip tunnel add sit2 mode sit ttl \end_layout \begin_layout Code ¬ local \end_layout \begin_layout Code # /sbin/ip link set dev sit2 up \end_layout \begin_layout Code # /sbin/ip -6 route add dev sit2 metric 1 \end_layout \begin_layout Code \end_layout \begin_layout Code # /sbin/ip tunnel add sit3 mode sit ttl \end_layout \begin_layout Code ¬ local \end_layout \begin_layout Code # /sbin/ip link set dev sit3 up \end_layout \begin_layout Code # /sbin/ip -6 route add dev sit3 metric 1 \end_layout \begin_layout Subsubsection Verwendung von "ifconfig" und "route" (nicht empfehlenswert) \end_layout \begin_layout Standard \align left Diese Methode zum Hinzufügen eines Tunnels wird nicht empfohlen, da Ungereimthei ten 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. \end_layout \begin_layout Standard Anwendung (drei allgemeine Beispiele): \end_layout \begin_layout Code # /sbin/ifconfig sit0 up \end_layout \begin_layout Code \end_layout \begin_layout Code # /sbin/ifconfig sit0 tunnel \end_layout \begin_layout Code # /sbin/ifconfig sit1 up \end_layout \begin_layout Code # /sbin/route -A inet6 add dev sit1 \end_layout \begin_layout Code \end_layout \begin_layout Code # /sbin/ifconfig sit0 tunnel \end_layout \begin_layout Code # /sbin/ifconfig sit2 up \end_layout \begin_layout Code # /sbin/route -A inet6 add dev sit2 \end_layout \begin_layout Code \end_layout \begin_layout Code # /sbin/ifconfig sit0 tunnel \end_layout \begin_layout Code # /sbin/ifconfig sit3 up \end_layout \begin_layout Code # /sbin/route -A inet6 add dev sit3 \end_layout \begin_layout Standard WICHTIG: NICHT VERWENDEN! Mit diesem Setup wird von überall aus dem Internet das "automatische Tunneln" vorbehaltlos aktiviert. Das ist ein unnötiges Risiko. \end_layout \begin_layout Subsubsection Verwendung allein von "route" \end_layout \begin_layout Standard \align left 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). \end_layout \begin_layout Standard Anwendung (drei allgemeine Beispiele): \end_layout \begin_layout Code # /sbin/ifconfig sit0 up \end_layout \begin_layout Code \end_layout \begin_layout Code # /sbin/route -A inet6 add gw \end_layout \begin_layout Code ¬ :: dev sit0 \end_layout \begin_layout Code # /sbin/route -A inet6 add gw \end_layout \begin_layout Code ¬ :: dev sit0 \end_layout \begin_layout Code # /sbin/route -A inet6 add gw \end_layout \begin_layout Code ¬ :: dev sit0 \end_layout \begin_layout Standard WICHTIG: NICHT VERWENDEN! Mit diesem Setup wird von überall aus dem Internet das "automatische Tunneln" vorbehaltlos aktiviert. Das ist ein unnötiges Risiko. \end_layout \begin_layout Subsection Punkt-zu-Punkt Tunnel entfernen \end_layout \begin_layout Standard \align left Diese Funktion wird selten manuell durchgeführt. Skripte verwenden diese Funktion zum sauberen deaktivieren bzw. beim Neustart einer IPv6 Konfiguration. \end_layout \begin_layout Subsubsection Verwendung von "ip" \end_layout \begin_layout Standard Entfernen eines Tunnel-Devices: \end_layout \begin_layout Code # /sbin/ip tunnel del \end_layout \begin_layout Standard Anwendung (drei allgemeine Beispiele): \end_layout \begin_layout Code # /sbin/ip -6 route del dev sit1 \end_layout \begin_layout Code # /sbin/ip link set sit1 down \end_layout \begin_layout Code # /sbin/ip tunnel del sit1 \end_layout \begin_layout Code \end_layout \begin_layout Code # /sbin/ip -6 route del dev sit2 \end_layout \begin_layout Code # /sbin/ip link set sit2 down \end_layout \begin_layout Code # /sbin/ip tunnel del sit2 \end_layout \begin_layout Code \end_layout \begin_layout Code # /sbin/ip -6 route del dev sit3 \end_layout \begin_layout Code # /sbin/ip link set sit3 down \end_layout \begin_layout Code # /sbin/ip tunnel del sit3 \end_layout \begin_layout Subsubsection Verwendung von "ifconfig" und "route" (nicht empfehlenswert, da unbequem) \end_layout \begin_layout Standard \align left 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... \end_layout \begin_layout Standard Anwendung (drei allgemeine Beispiele): \end_layout \begin_layout Code # /sbin/route -A inet6 del dev sit3 \end_layout \begin_layout Code # /sbin/ifconfig sit3 down \end_layout \begin_layout Code \end_layout \begin_layout Code # /sbin/route -A inet6 del dev sit2 \end_layout \begin_layout Code # /sbin/ifconfig sit2 down \end_layout \begin_layout Code \end_layout \begin_layout Code # /sbin/route -A inet6 add dev sit1 \end_layout \begin_layout Code # /sbin/ifconfig sit1 down \end_layout \begin_layout Code \end_layout \begin_layout Code # /sbin/ifconfig sit0 down \end_layout \begin_layout Code \end_layout \begin_layout Subsubsection Verwendung von "route" \end_layout \begin_layout Standard Die Vorgehensweise ist vergleichbar mit dem löschen einer normalen IPv6 Route. \end_layout \begin_layout Standard Anwendung (drei allgemeine Beispiele): \end_layout \begin_layout Code # /sbin/route -A inet6 del gw \end_layout \begin_layout Code ¬ :: dev sit0 \end_layout \begin_layout Code # /sbin/route -A inet6 del gw \end_layout \begin_layout Code ¬ :: dev sit0 \end_layout \begin_layout Code # /sbin/route -A inet6 del gw \end_layout \begin_layout Code ¬ :: dev sit0 \end_layout \begin_layout Code \end_layout \begin_layout Code # /sbin/ifconfig sit0 down \end_layout \begin_layout Subsection Nummerierte Punkt-zu-Punkt Tunnel \end_layout \begin_layout Standard 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. \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "configuring-ipv6to4-tunnels" \end_inset Einrichtung von 6to4 Tunnel \end_layout \begin_layout Standard Beachten sie Bitte, dass 6to4 Tunnel im Standard-Kernel der Serie 2.2.x (siehe \begin_inset CommandInset ref LatexCommand ref name "systemcheck/kernel" reference "systemcheck-kernel" \end_inset ) 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. \end_layout \begin_layout Subsection 6to4 Tunnel hinzufügen \end_layout \begin_layout Standard 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): \end_layout \begin_layout Standard Angenommen, Ihre IPv4 Adresse ist: \end_layout \begin_layout Code 1.2.3.4 \end_layout \begin_layout Standard Dann ist das daraus resultierende 6to4 Präfix: \end_layout \begin_layout Code 2002:0102:0304:: \end_layout \begin_layout Standard Lokalen 6to4 Gateways sollte immer (ist aber kein Muss, ein beliebiger local-sco pe Suffix kann benutzt werden) das Suffix \begin_inset Quotes sld \end_inset ::1 \begin_inset Quotes srd \end_inset zugewiesen werden. Daraus resultierend ergibt sich Ihre lokale 6to4 Adresse: \end_layout \begin_layout Code 2002:0102:0304::1 \end_layout \begin_layout Standard Zum automatischen Erstellen der Adresse können Sie folgenden Befehl nutzen: \end_layout \begin_layout Code ipv4="1.2.3.4"; printf "2002:%02x%02x:%02x%02x::1" `echo $ipv4 | tr "." " "` \end_layout \begin_layout Standard Es gibt nun zwei Möglichkeiten einen 6to4 Tunnel einzurichten. \end_layout \begin_layout Subsubsection Verwendung von "ip" und einem dedizierten Tunnel-Device \end_layout \begin_layout Standard Die empfohlene Vorgehensweise (der Wert TTL muss angegeben werden, da der Standardwert 0 ist): \end_layout \begin_layout Standard Erstellen eines neues Tunnel-Device: \end_layout \begin_layout Code # /sbin/ip tunnel add tun6to4 mode sit ttl remote any local \end_layout \begin_layout Code ¬ \end_layout \begin_layout Standard Interface aktivieren: \end_layout \begin_layout Code # /sbin/ip link set dev tun6to4 up \end_layout \begin_layout Standard Eine lokale 6to4 Adresse am Interface hinzufügen (Hinweis: Präfix-Länge 16 ist wichtig!) \end_layout \begin_layout Code # /sbin/ip -6 addr add /16 dev tun6to4 \end_layout \begin_layout Standard Hinzufügen der (Standard-) Route zum globalen IPv6 Netz unter Verwendung der all-6to4-routers IPv4 anycast Adresse: \end_layout \begin_layout Code # /sbin/ip -6 route add default via ::192.88.99.1 dev tun6to4 metric 1 \end_layout \begin_layout Standard \lang english Manche Versionen von \begin_inset Quotes sld \end_inset ip \begin_inset Quotes srd \end_inset (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: \end_layout \begin_layout Code # /sbin/ip -6 route add default via 2002:c058:6301::1 dev tun6to4 metric 1 \end_layout \begin_layout Subsubsection Verwendung von "ifconfig" und "route" sowie einem generischen Tunnel-Device "sit0" (nicht empfehlenswert) \end_layout \begin_layout Standard Diese Vorgehensweise wird nicht empfohlen, da bei Verwendung des allgemeinen Tunnel Device sit0 keine Filter-Spezifizierung pro Device ermöglicht wird. \end_layout \begin_layout Standard Das allgemeine Tunnel Interface sit0 aktivieren: \end_layout \begin_layout Code # /sbin/ifconfig sit0 up \end_layout \begin_layout Standard Dem Interface eine lokale 6to4 Adresse hinzufügen: \end_layout \begin_layout Code # /sbin/ifconfig sit0 add /16 \end_layout \begin_layout Standard Hinzufügen der (Standard-) Route zum globalen IPv6 Netz unter Verwendung der all-6to4-routers IPv4 anycast Adresse: \end_layout \begin_layout Code # /sbin/route -A inet6 add default gw ::192.88.99.1 dev sit0 \end_layout \begin_layout Subsection 6to4 Tunnel entfernen \end_layout \begin_layout Subsubsection Verwendung von "ip" und einem dedizierten Tunnel-Device \end_layout \begin_layout Standard Entfernen aller Routen über dieses bestimmten Tunnel Devices: \end_layout \begin_layout Code # /sbin/ip -6 route flush dev tun6to4 \end_layout \begin_layout Standard Interface deaktivieren: \end_layout \begin_layout Code # /sbin/ip link set dev tun6to4 down \end_layout \begin_layout Standard Ein erstelltes Tunnel Device entfernen: \end_layout \begin_layout Code # /sbin/ip tunnel del tun6to4 \end_layout \begin_layout Subsubsection Verwendung von "ifconfig" und "route" sowie einem generischen Tunnel-Device "sit0" (nicht empfehlenswert) \end_layout \begin_layout Standard Entfernen der (Standard-) Route über ein 6to4 Tunnel Device: \end_layout \begin_layout Code # /sbin/route -A inet6 del default gw ::192.88.99.1 dev sit0 \end_layout \begin_layout Standard Eine 6to4 Adresse des Interfaces entfernen: \end_layout \begin_layout Code # /sbin/ifconfig sit0 del /16 \end_layout \begin_layout Standard Ein allgemeines Tunnel Device deaktivieren (aber Achtung, eventuell ist das Interface noch in Verwendung...) \end_layout \begin_layout Code # /sbin/ifconfig sit0 down \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-configuring-ipv4-in-ipv6-tunnels" \end_inset Konfiguration eines IPv4-in-IPv6 Tunnels \end_layout \begin_layout Standard \lang english \begin_inset CommandInset href LatexCommand href name "RFC 2473 / Generic Packet Tunneling in IPv6 Specification" target "http://www.faqs.org/rfcs/rfc2473.html" \end_inset spezifiziert den Mechanismus, um unterschiedliche Pakettypen (einschließlich IPv4) über IPv6 zu tunneln. \end_layout \begin_layout Standard \lang english ANMERKUNG: Unterstützung für IPv4-in-IPv6 Tunnel ist erst seit Kernel Version 2.6.22 verfügbar. \end_layout \begin_layout Section \lang english Anzeigen von existierenden Tunnels \end_layout \begin_layout Standard \lang english Anwendung: \end_layout \begin_layout Code # /sbin/ip -6 tunnel show [] \end_layout \begin_layout Standard \lang english Beispiel: \end_layout \begin_layout Code # /sbin/ip -6 tunnel show mode any \end_layout \begin_layout Code ip6tnl0: ipv6/ipv6 remote :: local :: encaplimit 0 hoplimit 0 tclass 0x00 flowlabel 0x00000 (flowinfo 0x00000000) \end_layout \begin_layout Code 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) \end_layout \begin_layout Standard \lang english ANMERKUNG: wenn "mode any" nicht angegeben wird, werde nur IPv6-in-IPv6 Tunnels angezeigt. \end_layout \begin_layout Section \lang english Konfiguration eines Punkt-zu-Punkt Tunnels \end_layout \begin_layout Standard \lang english Anwendung für die Erzeugung einer 4over6 Tunnel-Schnittstelle (welche danach aber noch nicht aktiv ist) \end_layout \begin_layout Code # /sbin/ip tunnel add mode ip4ip6 remote local \end_layout \begin_layout Standard \lang english Anwendung (allgemeines Beispiel für drei Tunnels): \end_layout \begin_layout Code # /sbin/ip -6 tunnel add ip6tnl1 mode ip4ip6 remote local \end_layout \begin_layout Code # /sbin/ip link set dev ip6tnl1 up \end_layout \begin_layout Code # /sbin/ip -6 route add dev ip6tnl1 metric 1 \end_layout \begin_layout Code \end_layout \begin_layout Code # /sbin/ip -6 tunnel add ip6tnl2 mode ip4ip6 remote local \end_layout \begin_layout Code # /sbin/ip link set dev ip6tnl2 up \end_layout \begin_layout Code # /sbin/ip -6 route add dev ip6tnl2 metric 1 \end_layout \begin_layout Code \end_layout \begin_layout Code # /sbin/ip -6 tunnel add ip6tnl3 mode ip4ip6 remote local \end_layout \begin_layout Code # /sbin/ip link set dev ip6tnl3 up \end_layout \begin_layout Code # /sbin/ip -6 route add dev ip6tnl3 metric 1 \end_layout \begin_layout Section \lang english Löschen von Punkt-zu-Punkt-Tunnels \end_layout \begin_layout Standard \lang english Anwendung für das Löschen einer Tunnel-Schnittstelle: \end_layout \begin_layout Code # /sbin/ip -6 tunnel del \end_layout \begin_layout Standard \lang english Anwendung (allgemeines Beispiel für drei Tunnels): \end_layout \begin_layout Code # /sbin/ip -6 route del dev ip6tnl1 \end_layout \begin_layout Code # /sbin/ip link set ip6tnl1 down \end_layout \begin_layout Code # /sbin/ip -6 tunnel del ip6tnl1 \end_layout \begin_layout Code \end_layout \begin_layout Code # /sbin/ip -6 route del dev ip6tnl2 \end_layout \begin_layout Code # /sbin/ip link set ip6tnl2 down \end_layout \begin_layout Code # /sbin/ip -6 tunnel del ip6tnl2 \end_layout \begin_layout Code \end_layout \begin_layout Code # /sbin/ip -6 route del dev ip6tnl3 \end_layout \begin_layout Code # /sbin/ip link set ip6tnl3 down \end_layout \begin_layout Code # /sbin/ip -6 tunnel del ip6tnl3 \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-kernel-settings" \end_inset Kernel-Einstellungen im /proc-Dateisystem \end_layout \begin_layout Standard \begin_inset CommandInset label LatexCommand label name "proc-filesystem" \end_inset Anmerkung: Dieses Kapitel basiert großteils auf der Datei \begin_inset Quotes sld \end_inset ip-sysctl.txt \begin_inset Quotes srd \end_inset , welche in den aktuellen Kernel-Quellen im Verzeichnis \begin_inset Quotes sld \end_inset Documentation/networking \begin_inset Quotes srd \end_inset 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 & Paste in dieses Dokument übernommen wurden. \end_layout \begin_layout Section Zugriff auf das /proc-Dateisystem \end_layout \begin_layout Subsection Verwendung von "cat" und "echo" \end_layout \begin_layout Standard Mit \begin_inset Quotes sld \end_inset cat \begin_inset Quotes srd \end_inset und \begin_inset Quotes sld \end_inset echo \begin_inset Quotes srd \end_inset können Sie am einfachsten das /proc Dateisystem einsehen. Hierfür gibt es aber einige Voraussetzungen, die erfüllt sein müssen: \end_layout \begin_layout Itemize Das /proc-Dateisystem muss im Kernel aktiviert sein. Hierfür muss die folgende Einstellung beim kompilieren des Kernels vorgenommen werden: \end_layout \begin_layout Code CONFIG_PROC_FS=y \end_layout \begin_layout Itemize Das /proc-Dateisystem muss zuerst gemountet sein. Dies kann wie folgt getestet werden: \end_layout \begin_layout Code # mount | grep "type proc" \end_layout \begin_layout Code none on /proc type proc (rw) \end_layout \begin_layout Itemize Sie benötigen Lese- und manchmal auch Schreib-Zugriff (normalerweise nur als Root-Benutzer) auf das /proc-Dateisystem. \end_layout \begin_layout Standard Normalerweise sind, mit Ausnahme in /proc/sys/*, alle Einträge ausschließlich mit Leserechten ausgestattet. Die Einträge werden zum Zweck der Informationsgewinnung verwendet. \end_layout \begin_layout Subsubsection Wert anzeigen \end_layout \begin_layout Standard Den Inhalt eines Eintrags können sie mit \begin_inset Quotes sld \end_inset cat \begin_inset Quotes srd \end_inset anzeigen: \end_layout \begin_layout Code # cat /proc/sys/net/ipv6/conf/all/forwarding \end_layout \begin_layout Code 0 \end_layout \begin_layout Subsubsection Wert einstellen \end_layout \begin_layout Standard Mit \begin_inset Quotes sld \end_inset echo \begin_inset Quotes srd \end_inset können sie einen neuen Wert zuweisen (nur wenn der Eintrag beschreibbar ist): \end_layout \begin_layout Code # echo "1" >/proc/sys/net/ipv6/conf/all/forwarding \end_layout \begin_layout Subsection Verwendung von "sysctl" \end_layout \begin_layout Standard Die Verwendung des Programms \begin_inset Quotes sld \end_inset sysctl \begin_inset Quotes srd \end_inset 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! \end_layout \begin_layout Standard Das Programm \begin_inset Quotes sld \end_inset sysctl \begin_inset Quotes srd \end_inset ist (auf Red Hat Linux Systemen) im Paket \begin_inset Quotes sld \end_inset procps \begin_inset Quotes srd \end_inset enthalten. \end_layout \begin_layout Itemize Das sysctl-Interface muss im Kernel aktiviert sein. Hierfür muss die folgende Einstellung beim kompilieren des Kernels vorgenommen werden: \end_layout \begin_layout Code CONFIG_SYSCTL=y \end_layout \begin_layout Subsubsection Wert anzeigen \end_layout \begin_layout Standard Der Wert eines Eintrags kann nun angezeigt werden: \end_layout \begin_layout Code # sysctl net.ipv6.conf.all.forwarding \end_layout \begin_layout Code net.ipv6.conf.all.forwarding = 0 \end_layout \begin_layout Subsubsection Wert einstellen \end_layout \begin_layout Standard Ein neuer Wert kann wie folgt zugewiesen werden (wenn der Eintrag beschreibbar ist): \end_layout \begin_layout Code # sysctl -w net.ipv6.conf.all.forwarding=1 \end_layout \begin_layout Code net.ipv6.conf.all.forwarding = 1 \end_layout \begin_layout Standard Anmerkung: Verwenden Sie beim setzen eines Wertes keine Leerzeichen vor oder nach dem \begin_inset Quotes sld \end_inset = \begin_inset Quotes srd \end_inset . Sollten Sie mehrere Werte in einer Zeile angeben, müssen sie diese mit Anführungszeichen umgeben: \end_layout \begin_layout Code # sysctl -w net.ipv4.ip_local_port_range="32768 61000" \end_layout \begin_layout Code net.ipv4.ip_local_port_range = 32768 61000 \end_layout \begin_layout Subsubsection Sonstiges \end_layout \begin_layout Standard Anmerkung: Es gibt sysctl-Versionen im Umlauf, die anstelle des Punktes \begin_inset Quotes sld \end_inset . \begin_inset Quotes srd \end_inset einen slash \begin_inset Quotes sld \end_inset / \begin_inset Quotes srd \end_inset ausgeben. \end_layout \begin_layout Standard Für weitere Details siehe die manpage von sysctl. \end_layout \begin_layout Standard Hinweise: Um schnell einen Überblick über die Einstellungen zu bekommen, verwenden Sie einfach die Option \begin_inset Quotes sld \end_inset -a \begin_inset Quotes srd \end_inset (anzeigen aller Einträge) sowie das Tool \begin_inset Quotes sld \end_inset grep \begin_inset Quotes srd \end_inset . \end_layout \begin_layout Subsection Werte im /proc-Dateisystem \end_layout \begin_layout Standard Es gibt im /proc-Dateisystem unterschiedliche Formate: \end_layout \begin_layout Itemize BOOLEAN: einfach eine \begin_inset Quotes sld \end_inset 0 \begin_inset Quotes srd \end_inset (falsch) oder eine \begin_inset Quotes sld \end_inset 1 \begin_inset Quotes srd \end_inset (wahr) \end_layout \begin_layout Itemize INTEGER: Wert ist eine Ganzzahl (kann auch eine unsigned int sein) \end_layout \begin_layout Itemize 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. \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "proc-sys-net-ipv6" \end_inset Einträge in /proc/sys/net/ipv6/ \end_layout \begin_layout Subsection conf/default/* \end_layout \begin_layout Standard Ändern der Interface-spezifischen Einstellungen. \end_layout \begin_layout Subsection conf/all/* \end_layout \begin_layout Standard Ändern aller Interface-spezifischen Einstellungen. \end_layout \begin_layout Standard Ausnahme: \begin_inset Quotes sld \end_inset conf/all/forwarding \begin_inset Quotes srd \end_inset hat hier eine andere Bedeutung: \end_layout \begin_layout Subsubsection conf/all/forwarding \end_layout \begin_layout Itemize Typ: BOOLEAN \end_layout \begin_layout Standard Hiermit wird die globale IPv6 Weiterleitung zwischen allen Interfaces aktiviert. \end_layout \begin_layout Standard 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 \begin_inset CommandInset ref LatexCommand ref name "Firewalling/Netfilter6" reference "firewalling-netfilter6" \end_inset 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). \end_layout \begin_layout Standard Hiermit werden die Host/Router Einstellungen 'forwarding' aller Interfaces eingestellt (auch globales Forwarding genannt). Für weitere Details Siehe unten. \end_layout \begin_layout Standard Ist der Wert gleich 0, dann ist IPv6 forwarding deaktiviert. Pakete verlassen in diesem Fall niemals ein anderes Interface (weder physikalis che noch logische wie z.B. Tunnel). \end_layout \begin_layout Subsection conf/interface/* \end_layout \begin_layout Standard Spezielle Einstellungen per Interface ändern. \end_layout \begin_layout Standard Das funktionale Verhalten einzelner Einstellungen ist davon abhängig, ob lokales forwarding aktiviert ist oder nicht. \end_layout \begin_layout Subsubsection accept_ra \end_layout \begin_layout Itemize Typ: BOOLEAN \end_layout \begin_layout Itemize Standardeinstellung: aktiviert, wenn lokales forwarding deaktiviert ist. Deaktiviert, wenn lokales forwarding aktiviert ist. \end_layout \begin_layout Standard Router Advertisements werden akzeptiert; das Interface wird mit Status 'received data' automatisch konfiguriert. \end_layout \begin_layout Subsubsection accept_redirects \end_layout \begin_layout Itemize Typ: BOOLEAN \end_layout \begin_layout Itemize Standardeinstellung: aktiviert, wenn lokales forwarding deaktiviert ist. Deaktiviert, wenn lokales forwarding aktiviert ist. \end_layout \begin_layout Standard Akzeptiert von IPv6 Router gesendete Redirects. \end_layout \begin_layout Subsubsection autoconf \end_layout \begin_layout Itemize \lang english Typ: BOOLEAN \end_layout \begin_layout Itemize \lang english Funktionale Standardeinstellung: aktiviert, wenn accept_ra_pinfo aktiv ist. Deaktiviert, wenn accept_ra_pinfo deaktiviert ist. \end_layout \begin_layout Standard \lang english Autokonfiguriert Adressen unter Benutzung der Prefix-Information eines Router-Ad vertisements. \end_layout \begin_layout Subsubsection dad_transmits \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 1 \end_layout \begin_layout Standard Die Anzahl der gesendeten Proben zum entdecken von Adress-Duplikaten. \end_layout \begin_layout Subsubsection forwarding \end_layout \begin_layout Itemize Typ: BOOLEAN \end_layout \begin_layout Itemize Standardwert: FALSCH, wenn globale forwarding deaktiviert ist (Standard), ansonst WAHR \end_layout \begin_layout Standard Konfigurieren von Interface-spezifischem Host/Router-Verhalten. \end_layout \begin_layout Standard Anmerkung: Es wird die gleiche Konfiguration für alle Interfaces empfohlen; Gemischte Host/Router-Szenarios sind eher unüblich. \end_layout \begin_layout Itemize Wert FALSCH: Per Standard wird von einem Host-Verhalten ausgegangen. Das bedeutet: \end_layout \begin_layout Enumerate Der Schalter IsRouter ist bei Router Advertisements nicht aktiviert. \end_layout \begin_layout Enumerate Router-Anfragen werden bei Bedarf gesendet. \end_layout \begin_layout Enumerate Wenn accept_ra WAHR ist (Standard), dann werden Router Advertisements akzeptiert (und starte die automatische Konfiguration). \end_layout \begin_layout Enumerate Wenn accept_redirects WAHR ist (Standard), dann akzeptiere Redirects. \end_layout \begin_layout Itemize Wert WAHR: Ist lokales forwarding eingeschaltet, dann wird von einem Router-Verh alten ausgegangen. Das bedeutet genau das Gegenteil zu oben: \end_layout \begin_layout Enumerate Der Schalter IsRouter ist bei Router Advertisements aktiviert. \end_layout \begin_layout Enumerate Router-Anfragen werden nicht gesendet. \end_layout \begin_layout Enumerate Router Advertisements werden ignoriert. \end_layout \begin_layout Enumerate Redirects werden ignoriert. \end_layout \begin_layout Subsubsection hop_limit \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 64 \end_layout \begin_layout Standard Der Standardwert für das Hop-Limit wird hiermit eingestellt. \end_layout \begin_layout Subsubsection mtu \end_layout \begin_layout Itemize Type: INTEGER \end_layout \begin_layout Itemize Standardwert: 1280 (Minimumwert in IPv6) \end_layout \begin_layout Standard Der Standardwert für die Maximum Transfer Unit wird hiermit eingestellt. \end_layout \begin_layout Subsubsection router_solicitation_delay \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 1 \end_layout \begin_layout Standard Die Anzahl der nach der Aktivierung eines Interfaces zu wartenden Sekunden bevor Router-Anfragen gesendet werden. \end_layout \begin_layout Subsubsection router_solicitation_interval \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 4 \end_layout \begin_layout Standard Die Anzahl der Sekunden zwischen Router-Anfragen. \end_layout \begin_layout Subsubsection router_solicitations \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 3 \end_layout \begin_layout Standard Die Anzahl der Router-Anfragen, bevor angenommen wird, dass keine Router verfügbar sind. \end_layout \begin_layout Subsection neigh/default/* \end_layout \begin_layout Standard Standardeinstellungen der Neighbor-Erkennung und einige spezielle globale Intervall- sowie Threshold-Werte ändern: \end_layout \begin_layout Subsubsection gc_thresh1 \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 128 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection gc_thresh2 \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 512 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection gc_thresh3 \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 1024 \end_layout \begin_layout Standard Parameter zum Einstellen der Größe der Neighbour-Tabelle. \end_layout \begin_layout Standard 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 \begin_inset CommandInset href LatexCommand href name "Zebra (routing daemon)" target "http://www.zebra.org/" \end_inset Folgendes angezeigt wird: \end_layout \begin_layout Code ZEBRA: netlink-listen error: No buffer space available, type=RTM_NEWROUTE(24), \end_layout \begin_layout Code ¬ seq=426, pid=0 \end_layout \begin_layout Subsubsection gc_interval \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 30 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsection neigh/interface/* \end_layout \begin_layout Standard Per Interface ändern spezieller Einstellungen zur Neighbor-Erkennung. \end_layout \begin_layout Subsubsection anycast_delay \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 100 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection gc_stale_time \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 60 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection proxy_qlen \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 64 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection unres_qlen \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 3 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection app_solicit \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 0 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection locktime \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 0 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection retrans_time \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 100 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection base_reachable_time \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 30 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection mcast_solicit \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 3 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection ucast_solicit \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 3 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection delay_first_probe_time \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 5 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection proxy_delay \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 80 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsection route/* \end_layout \begin_layout Standard Globale Routing-Einstellungen ändern. \end_layout \begin_layout Subsubsection flush \end_layout \begin_layout Standard In neueren Kernel-Versionen wurde diese Option entfernt - mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection gc_interval \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 30 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection gc_thresh \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 1024 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection mtu_expires \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 600 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection gc_elasticity \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 0 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection gc_min_interval \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 5 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection gc_timeout \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 60 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection min_adv_mss \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 12 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsubsection max_size \end_layout \begin_layout Itemize Typ: INTEGER \end_layout \begin_layout Itemize Standardwert: 4096 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "proc-sys-net-ipv4" \end_inset IPv6 relevante Einträge in /proc/sys/net/ipv4/ \end_layout \begin_layout Standard Zurzeit werden einige Schalter auch bei IPv6 eingesetzt (Dies bleibt so, bis IPv4 zur Gänze in ein unabhängiges Kernel-Modul umgewandelt wurde). \end_layout \begin_layout Subsection ip_* \end_layout \begin_layout Subsubsection ip_local_port_range \end_layout \begin_layout Standard Diese Kontrolleinstellung wird ebenfalls bei IPv6 verwendet. \end_layout \begin_layout Subsection tcp_* \end_layout \begin_layout Standard Diese Kontrolleinstellungen werden ebenfalls bei IPv6 verwendet. \end_layout \begin_layout Subsection icmp_* \end_layout \begin_layout Standard 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. \end_layout \begin_layout Subsection Sonstige Einträge \end_layout \begin_layout Standard Keine bekannt, bzw. von IPv6 vermutlich ungenutzt. \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "proc-net" \end_inset IPv6 relevante Einträge in /proc/net/ \end_layout \begin_layout Standard In /proc/net gibt es einige Einträge die ausschließlich Lese-Rechte besitzen. Mit \begin_inset Quotes sld \end_inset sysctl \begin_inset Quotes srd \end_inset können Sie hier keine Informationen bekommen, verwenden Sie anstelle dessen z.B. \begin_inset Quotes sld \end_inset cat \begin_inset Quotes srd \end_inset . \end_layout \begin_layout Subsection if_inet6 \end_layout \begin_layout Itemize Typ: Eine Zeile pro Adresse mit jeweils mehreren Werten \end_layout \begin_layout Standard 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 \begin_inset Quotes sld \end_inset net/ipv6/addrconf.c \begin_inset Quotes srd \end_inset für Details). \end_layout \begin_layout Code # cat /proc/net/if_inet6 \end_layout \begin_layout Code 00000000000000000000000000000001 01 80 10 80 lo \end_layout \begin_layout Code +------------------------------+ ++ ++ ++ ++ ++ \end_layout \begin_layout Code | | | | | | \end_layout \begin_layout Code 1 2 3 4 5 6 \end_layout \begin_layout Enumerate IPv6 Adresse mit 32 hexadezimalen Zeichen ohne Doppelpunkte als Trennzeichen \end_layout \begin_layout Enumerate Netlink Device Nummer (Interface Index) im hexadezimalen Format (siehe auch \begin_inset Quotes sld \end_inset ip addr \begin_inset Quotes srd \end_inset ) \end_layout \begin_layout Enumerate Präfix-Länge in hexadezimaler Notation \end_layout \begin_layout Enumerate Wert des Gültigkeitsbereichs (s.a. Kernel Quellen \begin_inset Quotes sld \end_inset include/net/ipv6.h \begin_inset Quotes srd \end_inset und \begin_inset Quotes sld \end_inset net/ipv6/addrconf.c \begin_inset Quotes srd \end_inset ) \end_layout \begin_layout Enumerate Interface flags (s.a. \begin_inset Quotes sld \end_inset include/linux/rtnetlink.h \begin_inset Quotes srd \end_inset und \begin_inset Quotes sld \end_inset net/ipv6/addrconf.c \begin_inset Quotes srd \end_inset ) \end_layout \begin_layout Enumerate Devicename \end_layout \begin_layout Subsection ipv6_route \end_layout \begin_layout Itemize Typ: Eine Zeile pro Route mit jeweils mehreren Werten \end_layout \begin_layout Standard 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 \begin_inset Quotes sld \end_inset net/ipv6/route.c \begin_inset Quotes srd \end_inset für Details). \end_layout \begin_layout Code # cat /proc/net/ipv6_route \end_layout \begin_layout Code 00000000000000000000000000000000 00 00000000000000000000000000000000 00 \end_layout \begin_layout Code +------------------------------+ ++ +------------------------------+ ++ \end_layout \begin_layout Code | | | | \end_layout \begin_layout Code 1 2 3 4 \end_layout \begin_layout Code \end_layout \begin_layout Code ¬ 00000000000000000000000000000000 ffffffff 00000001 00000001 00200200 lo \end_layout \begin_layout Code ¬ +------------------------------+ +------+ +------+ +------+ +------+ ++ \end_layout \begin_layout Code ¬ | | | | | | \end_layout \begin_layout Code ¬ 5 6 7 8 9 10 \end_layout \begin_layout Enumerate IPv6 Zielnetzwerk mit 32 hexadezimalen Zeichen ohne Doppelpunkte als Trennzeiche n \end_layout \begin_layout Enumerate IPv6 Ziel-Präfix-Länge in hexadezimaler Notation \end_layout \begin_layout Enumerate IPv6 Ursprungsnetzwerk mit 32 hexadezimalen Zeichen ohne Doppelpunkte als Trennzeichen \end_layout \begin_layout Enumerate IPv6 Ursprungs-Präfix-Länge in hexadezimaler Notation \end_layout \begin_layout Enumerate IPv6 next Hop mit 32 hexadezimalen Zeichen ohne Doppelpunkte als Trennzeichen \end_layout \begin_layout Enumerate Metrik in hexadezimaler Schreibweise \end_layout \begin_layout Enumerate Reference Counter \end_layout \begin_layout Enumerate Use Counter \end_layout \begin_layout Enumerate Flags \end_layout \begin_layout Enumerate Devicename \end_layout \begin_layout Subsection sockstat6 \end_layout \begin_layout Itemize Typ: Eine Zeile pro Protokoll mit Beschreibung und Wert \end_layout \begin_layout Standard Statistiken über verwendete IPv6 Sockets. Beispiel: \end_layout \begin_layout Code # cat /proc/net/sockstat6 \end_layout \begin_layout Code TCP6: inuse 7 \end_layout \begin_layout Code UDP6: inuse 2 \end_layout \begin_layout Code RAW6: inuse 1 \end_layout \begin_layout Code FRAG6: inuse 0 memory 0 \end_layout \begin_layout Subsection tcp6 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsection udp6 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsection igmp6 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsection raw6 \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsection ip6_flowlabel \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsection rt6_stats \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Subsection snmp6 \end_layout \begin_layout Itemize Typ: Eine Zeile pro SNMP Beschreibung und Wert \end_layout \begin_layout Standard SNMP Statistiken; diese können mittels snmp server und entsprechender MIB Tabelle mit einer Network Management Software gewonnen werden. \end_layout \begin_layout Subsection ip6_tables_names \end_layout \begin_layout Standard Verfügbare netfilter6 Tabellen \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "netlink" \end_inset Netlink-Interface zum Kernel \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen... der Autor hat hiermit keine Erfahrung... \end_layout \begin_layout Chapter \lang english \begin_inset CommandInset label LatexCommand label name "resolver" \end_inset Adress-Auflösung \end_layout \begin_layout Standard \begin_inset VSpace defskip \end_inset \end_layout \begin_layout Standard \lang english Zusätzliche Informationen sind hier zu finden \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "Linux & IPv6: getaddrinfo and search domains - Research" target "http://www.bieringer.de/linux/IPv6/getaddrinfo/" \end_inset \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "RFC 3484 on Linux" target "http://people.redhat.com/drepper/linux-rfc3484.html" \end_inset \end_layout \begin_layout Itemize \lang english Karl Auer's Blog: \begin_inset CommandInset href LatexCommand href name "Controlling IPv6 source address selection" target "http://biplane.com.au/blog/?p=30" \end_inset , \begin_inset CommandInset href LatexCommand href name "IPv6 Source Address Selection - what, why, how" target "http://biplane.com.au/blog/?p=22" \end_inset \end_layout \begin_layout Itemize \lang english Into6: \begin_inset CommandInset href LatexCommand href name "/etc/gai.conf - it ain't what you think it is" target "http://into6.com.au/?p=288" \end_inset \end_layout \begin_layout Section* \lang english Address-Auflösung & Ziel-Adressen-Auswahl \end_layout \begin_layout Standard \lang english 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 \emph on getaddrinfo \emph default benutzt. Im Fall, dass mehr als eine IPv6-Adresse zurückgegeben wird, soll nach \begin_inset CommandInset href LatexCommand href name "RFC 3484 / Default Address Selection for Internet Protocol version 6" target "http://www.faqs.org/rfcs/rfc3484.html" \end_inset eine Sortierung angewandt werden, die optional auch konfiguriert werden kann. \end_layout \begin_layout Standard \lang english Die \begin_inset Quotes sld \end_inset Magie \begin_inset Quotes srd \end_inset 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 \begin_inset Quotes sld \end_inset man gai.conf \begin_inset Quotes srd \end_inset zu sehen. \end_layout \begin_layout Standard \lang english Für die Kontrolle der Sortierung via benutzerdefinierter Konfiguration ist für Tests folgendes notwendig: \end_layout \begin_layout Itemize \lang english Ein Hostname im DNS, der mehr als eine IPv6-Adresse zurückgibt, z.B. \end_layout \begin_layout Code $ dig +short aaaa st1.bieringer.de \end_layout \begin_layout Code 2001:4dd0:ff00:834::2 \end_layout \begin_layout Code 2a01:238:423d:8800:85b3:9e6b:3019:8909 \end_layout \begin_layout Itemize \lang english Lookup via DNS (mit /etc/hosts klappt es nicht) \end_layout \begin_layout Itemize \lang english /etc/gai.conf mit einer passenden Konfiguration, e.g. \end_layout \begin_layout Code precedence ::1/128 50 # default \end_layout \begin_layout Code precedence ::/0 40 # default \end_layout \begin_layout Code precedence 2002::/16 30 # default \end_layout \begin_layout Code precedence ::/96 20 # default \end_layout \begin_layout Code precedence ::ffff:0:0/96 10 # default \end_layout \begin_layout Code precedence 2001:4dd0:ff00:834::/64 80 # dst-A \end_layout \begin_layout Code precedence 2a01:238:423d:8800::/64 90 # dst-B \end_layout \begin_layout Itemize \lang english Für Tests kann dann ein Telnet-Client benutzt werden: \end_layout \begin_layout Code $ telnet st1.bieringer.de \end_layout \begin_layout Code Trying 2a01:238:423d:8800:85b3:9e6b:3019:8909... (dst-B) \end_layout \begin_layout Code ... \end_layout \begin_layout Code Trying 2001:4dd0:ff00:834::2... (dst-A) \end_layout \begin_layout Code ... \end_layout \begin_layout Itemize \lang english Wenn nun die precedence geändert wird in der Konfiguration: \end_layout \begin_layout Code precedence 2001:4dd0:ff00:834::/64 90 # dst-A ex 80 \end_layout \begin_layout Code precedence 2a01:238:423d:8800::/64 80 # dst-B ex 90 \end_layout \begin_layout Itemize \lang english Dann ändert sich die Reihenfolge entsprechend \end_layout \begin_layout Code $ telnet st1.bieringer.de \end_layout \begin_layout Code Trying 2001:4dd0:ff00:834::2... (dst-A) \end_layout \begin_layout Code ... \end_layout \begin_layout Code Trying 2a01:238:423d:8800:85b3:9e6b:3019:8909... (dst-B) \end_layout \begin_layout Code ... \end_layout \begin_layout Section* \lang english Quell-Addressen-Auswahl \end_layout \begin_layout Standard \lang english 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. \end_layout \begin_layout Subsection* \lang english Quell-Adressen-Auswahl mit \begin_inset Quotes sld \end_inset ip addrlabel \begin_inset Quotes srd \end_inset \end_layout \begin_layout Standard \lang english Mit einer Erweiterung der internen \begin_inset Quotes sld \end_inset ip addrlabel \begin_inset Quotes srd \end_inset Tabelle kann eine Quell-Adresse zu einer Ziel-Adresse gebunden werden. Bindung wird hier durch die Angabe des gleichen Labels (einer Nummer) konfiguri ert. \end_layout \begin_layout Itemize \lang english Standard von \begin_inset Quotes sld \end_inset ip addrlabel \begin_inset Quotes srd \end_inset (hier von CentOS 6): \end_layout \begin_layout Code # ip addrlabel \end_layout \begin_layout Code prefix ::1/128 label 0 \end_layout \begin_layout Code prefix ::/96 label 3 \end_layout \begin_layout Code prefix ::ffff:0.0.0.0/96 label 4 \end_layout \begin_layout Code prefix 2001::/32 label 6 \end_layout \begin_layout Code prefix 2001:10::/28 label 7 \end_layout \begin_layout Code prefix 2002::/16 label 2 \end_layout \begin_layout Code prefix fc00::/7 label 5 \end_layout \begin_layout Code prefix ::/0 label 1 \end_layout \begin_layout Itemize \lang english Das System ist multihomed (hier an einem Interface), der Router verteilt 2 Präfixe mit Hilfe von radvd: \end_layout \begin_layout Code # ip -6 addr show dev eth1 | grep -w inet6 |grep -w global \end_layout \begin_layout Code inet6 2001:6f8:12d8:2:5054:ff:fefb:6582/64 scope global dynamic (src-A) \end_layout \begin_layout Code inet6 2001:6f8:900:8cbc:5054:ff:fefb:6582/64 scope global dynamic (src-B) \end_layout \begin_layout Itemize \lang english Eine Verbindung zum Server zeigt nun: \end_layout \begin_layout Code $ telnet st1.bieringer.de \end_layout \begin_layout Code Trying 2001:4dd0:ff00:834::2... (dst-A) \end_layout \begin_layout Code ... \end_layout \begin_layout Code Trying 2a01:238:423d:8800:85b3:9e6b:3019:8909... (dst-B) \end_layout \begin_layout Code ... \end_layout \begin_layout Itemize \lang english Ein tcpdump mit filter \begin_inset Quotes sld \end_inset tcp and dst port 23 \begin_inset Quotes srd \end_inset zeigt nur die Benutzung der oberen lokalen Quell-IPv6-Adresse \end_layout \begin_layout Code IP6 2001:6f8:12d8:2:5054:ff:fefb:6582.37762 > 2001:4dd0:ff00:834::2.telnet: (src-A -> dst-A) \end_layout \begin_layout Code IP6 2001:6f8:12d8:2:5054:ff:fefb:6582.45754 > 2a01:238:423d:8800:85b3:9e6b:3019:8 909.telnet: (src-A -> dst-B) \end_layout \begin_layout Itemize \lang english Wenn nun Quelle und Ziel mit Hilfe von \begin_inset Quotes sld \end_inset ip addrlabel \begin_inset Quotes srd \end_inset zusammengebunden werden: \end_layout \begin_layout Code # ip addrlabel add prefix 2001:6f8:12d8:2::/64 label 200 \end_layout \begin_layout Code # ip addrlabel add prefix 2001:6f8:900:8cbc::/64 label 300 \end_layout \begin_layout Code # ip addrlabel add prefix 2001:4dd0:ff00:834::/64 label 200 \end_layout \begin_layout Code # ip addrlabel add prefix 2a01:238:423d:8800::/64 label 300 \end_layout \begin_layout Itemize \lang english Was in folgender \begin_inset Quotes sld \end_inset ip addrlabel \begin_inset Quotes srd \end_inset resultiert: \end_layout \begin_layout Code # ip addrlabel \end_layout \begin_layout Code prefix ::1/128 label 0 \end_layout \begin_layout Code prefix ::/96 label 3 \end_layout \begin_layout Code prefix ::ffff:0.0.0.0/96 label 4 \end_layout \begin_layout Code prefix 2a01:238:423d:8800::/64 label 300 # dst-B \end_layout \begin_layout Code prefix 2001:4dd0:ff00:834::/64 label 200 # dst-A \end_layout \begin_layout Code prefix 2001:6f8:900:8cbc::/64 label 300 # src-B \end_layout \begin_layout Code prefix 2001:6f8:12d8:2::/64 label 200 # src-A \end_layout \begin_layout Code prefix 2001::/32 label 6 \end_layout \begin_layout Code prefix 2001:10::/28 label 7 \end_layout \begin_layout Code prefix 2002::/16 label 2 \end_layout \begin_layout Code prefix fc00::/7 label 5 \end_layout \begin_layout Code prefix ::/0 label 1 \end_layout \begin_layout Itemize \lang english Und dann nochmal eine Verbindung zum Server versucht wird \end_layout \begin_layout Code $ telnet st1.bieringer.de \end_layout \begin_layout Code Trying 2001:4dd0:ff00:834::2... (dst-A) \end_layout \begin_layout Code ... \end_layout \begin_layout Code Trying 2a01:238:423d:8800:85b3:9e6b:3019:8909... (dst-B) \end_layout \begin_layout Code ... \end_layout \begin_layout Itemize \lang english tcpdump mit filter \begin_inset Quotes sld \end_inset tcp and dst port 23 \begin_inset Quotes srd \end_inset zeigt nun die Benutzung beider Quell-IPv6-Adressen wie konfiguriert \end_layout \begin_layout Code IP6 2001:6f8:12d8:2:5054:ff:fefb:6582.37765 > 2001:4dd0:ff00:834::2.telnet: (src-A -> dst-A) \end_layout \begin_layout Code IP6 2001:6f8:900:8cbc:5054:ff:fefb:6582.39632 > 2a01:238:423d:8800:85b3:9e6b:3019 :8909.telnet: (src-B -> dst-B) \end_layout \begin_layout Standard Persistente Konfiguration von \begin_inset Quotes sld \end_inset ip addrtable \begin_inset Quotes srd \end_inset 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 \begin_inset Quotes sld \end_inset ip addrtable \begin_inset Quotes srd \end_inset umwandelt, gibt es hier: \lang english \begin_inset CommandInset href LatexCommand href name "/etc/gai.conf - it ain't what you think it is" target "http://into6.com.au/?p=288" \end_inset \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "network-debugging" \end_inset Netzwerk-Fehlersuche \end_layout \begin_layout Section Server Socket-Anbindung \end_layout \begin_layout Subsection Überprüfung der Server Socket-Anbindung mit \begin_inset Quotes sld \end_inset netstat \begin_inset Quotes srd \end_inset \end_layout \begin_layout Standard Es ist immer von Interesse welche Sockets eines Knotens gerade aktiv sind. Mit \begin_inset Quotes sld \end_inset netstat \begin_inset Quotes srd \end_inset können Sie die betreffenden Informationen abfragen: \end_layout \begin_layout Standard Verwendete Optionen: -nlptu \end_layout \begin_layout Standard Beispiel: \end_layout \begin_layout Code # netstat -nlptu \end_layout \begin_layout Code Active Internet connections (only servers) \end_layout \begin_layout Code Proto Recv-Q Send-Q Local Address Foreign Address State \end_layout \begin_layout Code ¬ PID/Program name \end_layout \begin_layout Code tcp 0 0 0.0.0.0:32768 0.0.0.0:* LISTEN \end_layout \begin_layout Code ¬ 1258/rpc.statd \end_layout \begin_layout Code tcp 0 0 0.0.0.0:32769 0.0.0.0:* LISTEN \end_layout \begin_layout Code ¬ 1502/rpc.mountd \end_layout \begin_layout Code tcp 0 0 0.0.0.0:515 0.0.0.0:* LISTEN \end_layout \begin_layout Code ¬ 22433/lpd Waiting \end_layout \begin_layout Code tcp 0 0 1.2.3.1:139 0.0.0.0:* LISTEN \end_layout \begin_layout Code ¬ 1746/smbd \end_layout \begin_layout Code tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN \end_layout \begin_layout Code ¬ 1230/portmap \end_layout \begin_layout Code tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN \end_layout \begin_layout Code ¬ 3551/X \end_layout \begin_layout Code tcp 0 0 1.2.3.1:8081 0.0.0.0:* LISTEN \end_layout \begin_layout Code ¬ 18735/junkbuster \end_layout \begin_layout Code tcp 0 0 1.2.3.1:3128 0.0.0.0:* LISTEN \end_layout \begin_layout Code ¬ 18822/(squid) \end_layout \begin_layout Code tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN \end_layout \begin_layout Code ¬ 30734/named \end_layout \begin_layout Code tcp 0 0 ::ffff:1.2.3.1:993 :::* LISTEN \end_layout \begin_layout Code ¬ 6742/xinetd-ipv6 \end_layout \begin_layout Code tcp 0 0 :::13 :::* LISTEN \end_layout \begin_layout Code ¬ 6742/xinetd-ipv6 \end_layout \begin_layout Code tcp 0 0 ::ffff:1.2.3.1:143 :::* LISTEN \end_layout \begin_layout Code ¬ 6742/xinetd-ipv6 \end_layout \begin_layout Code tcp 0 0 :::53 :::* LISTEN \end_layout \begin_layout Code ¬ 30734/named \end_layout \begin_layout Code tcp 0 0 :::22 :::* LISTEN \end_layout \begin_layout Code ¬ 1410/sshd \end_layout \begin_layout Code tcp 0 0 :::6010 :::* LISTEN \end_layout \begin_layout Code ¬ 13237/sshd \end_layout \begin_layout Code udp 0 0 0.0.0.0:32768 0.0.0.0:* \end_layout \begin_layout Code ¬ 1258/rpc.statd \end_layout \begin_layout Code udp 0 0 0.0.0.0:2049 0.0.0.0:* \end_layout \begin_layout Code ¬ - \end_layout \begin_layout Code udp 0 0 0.0.0.0:32770 0.0.0.0:* \end_layout \begin_layout Code ¬ 1502/rpc.mountd \end_layout \begin_layout Code udp 0 0 0.0.0.0:32771 0.0.0.0:* \end_layout \begin_layout Code ¬ - \end_layout \begin_layout Code udp 0 0 1.2.3.1:137 0.0.0.0:* \end_layout \begin_layout Code ¬ 1751/nmbd \end_layout \begin_layout Code udp 0 0 0.0.0.0:137 0.0.0.0:* \end_layout \begin_layout Code ¬ 1751/nmbd \end_layout \begin_layout Code udp 0 0 1.2.3.1:138 0.0.0.0:* \end_layout \begin_layout Code ¬ 1751/nmbd \end_layout \begin_layout Code udp 0 0 0.0.0.0:138 0.0.0.0:* \end_layout \begin_layout Code ¬ 1751/nmbd \end_layout \begin_layout Code udp 0 0 0.0.0.0:33044 0.0.0.0:* \end_layout \begin_layout Code ¬ 30734/named \end_layout \begin_layout Code udp 0 0 1.2.3.1:53 0.0.0.0:* \end_layout \begin_layout Code ¬ 30734/named \end_layout \begin_layout Code udp 0 0 127.0.0.1:53 0.0.0.0:* \end_layout \begin_layout Code ¬ 30734/named \end_layout \begin_layout Code udp 0 0 0.0.0.0:67 0.0.0.0:* \end_layout \begin_layout Code ¬ 1530/dhcpd \end_layout \begin_layout Code udp 0 0 0.0.0.0:67 0.0.0.0:* \end_layout \begin_layout Code ¬ 1530/dhcpd \end_layout \begin_layout Code udp 0 0 0.0.0.0:32858 0.0.0.0:* \end_layout \begin_layout Code ¬ 18822/(squid) \end_layout \begin_layout Code udp 0 0 0.0.0.0:4827 0.0.0.0:* \end_layout \begin_layout Code ¬ 18822/(squid) \end_layout \begin_layout Code udp 0 0 0.0.0.0:111 0.0.0.0:* \end_layout \begin_layout Code ¬ 1230/portmap \end_layout \begin_layout Code udp 0 0 :::53 :::* \end_layout \begin_layout Code ¬ 30734/named \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "examples-tcpdump" \end_inset tcpdump-Beispiele \end_layout \begin_layout Standard Hier folgen einige Beispiele von (mit tcpdump) aufgezeichneten Paketen, die hoffentlich bei Ihrer Fehlersuche nützlich sein können. \end_layout \begin_layout Standard ... mehr Beispiele in den nächsten Versionen... \end_layout \begin_layout Subsection Router-Erkennung \end_layout \begin_layout Subsubsection Router Advertisement \end_layout \begin_layout Code 15:43:49.484751 fe80::212:34ff:fe12:3450 > ff02::1: icmp6: router \end_layout \begin_layout Code ¬ advertisement(chlim=64, router_ltime=30, reachable_time=0, \end_layout \begin_layout Code ¬ retrans_time=0)(prefix info: AR valid_ltime=30, preffered_ltime=20, \end_layout \begin_layout Code ¬ prefix=2002:0102:0304:1::/64)(prefix info: LAR valid_ltime=2592000, \end_layout \begin_layout Code ¬ preffered_ltime=604800, prefix=2001:0db8:0:1::/64)(src lladdr: \end_layout \begin_layout Code ¬ 0:12:34:12:34:50) (len 88, hlim 255) \end_layout \begin_layout Standard Der Router mit der link-lokalen Adresse \begin_inset Quotes sld \end_inset fe80::212:34ff:fe12:3450 \begin_inset Quotes srd \end_inset sendet eine Ankündigung mit zwei Präfixes \begin_inset Quotes sld \end_inset 2002:0102:0304:1::/64 \begin_inset Quotes srd \end_inset (Lebensdauer 30s) und \begin_inset Quotes sld \end_inset 2001:0db8:0:1::/64 \begin_inset Quotes srd \end_inset (Lebensdauer 2592000s) sowie der eigenen Schicht 2 MAC Adresse \begin_inset Quotes sld \end_inset 0:12:34:12:34:50 \begin_inset Quotes srd \end_inset an die all-node-on-link Multicast Adresse \begin_inset Quotes sld \end_inset ff02::1 \begin_inset Quotes srd \end_inset . \end_layout \begin_layout Subsubsection Router Anfrage \end_layout \begin_layout Code 15:44:21.152646 fe80::212:34ff:fe12:3456 > ff02::2: icmp6: router solicitation \end_layout \begin_layout Code ¬ (src lladdr: 0:12:34:12:34:56) (len 16, hlim 255) \end_layout \begin_layout Standard Der Knoten mit der link-lokalen Adresse \begin_inset Quotes sld \end_inset fe80:212:34ff:fe12:3456 \begin_inset Quotes srd \end_inset und der Schicht 2 MAC Adresse \begin_inset Quotes sld \end_inset 0:12:34:12:34:56 \begin_inset Quotes srd \end_inset sucht nach einem Router und sendet hierfür diese Anfrage an die all-router-on-l ink Multicast Adresse \begin_inset Quotes sld \end_inset ff02::2 \begin_inset Quotes srd \end_inset . \end_layout \begin_layout Subsection Neighbor-Erkennung \end_layout \begin_layout Subsubsection Neighbor discovery solicitation zur Entdeckung doppelter Adressen \end_layout \begin_layout Standard Folgende Pakete werden vom Knoten mit der Schicht 2 MAC Adresse \begin_inset Quotes sld \end_inset 0:12:34:12:34:56 \begin_inset Quotes srd \end_inset 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. \end_layout \begin_layout Itemize Der Knoten will seine link-lokale Adresse \begin_inset Quotes sld \end_inset fe80:212:34ff:fe12:3456 \begin_inset Quotes srd \end_inset konfigurieren und überprüft auf Duplikate \end_layout \begin_layout Code 15:44:17.712338 :: > ff02::1:ff12:3456: icmp6: neighbor sol: who has \end_layout \begin_layout Code ¬ fe80::212:34ff:fe12:3456(src lladdr: 0:12:34:12:34:56) (len 32, hlim 255) \end_layout \begin_layout Itemize Der Knoten will seine globale Adresse \begin_inset Quotes sld \end_inset 2002:0102:0304:1:212:34ff:fe12:3456 \begin_inset Quotes srd \end_inset konfigurieren (nach Empfang eines Advertisements wie weiter oben abgebildet) und überprüft auf Duplikate \end_layout \begin_layout Code 15:44:21.905596 :: > ff02::1:ff12:3456: icmp6: neighbor sol: who has \end_layout \begin_layout Code ¬ 2002:0102:0304:1:212:34ff:fe12:3456(src lladdr: 0:12:34:12:34:56) (len 32, \end_layout \begin_layout Code ¬ hlim 255) \end_layout \begin_layout Itemize Der Knoten will seine globale Adresse \begin_inset Quotes sld \end_inset 2001:0db8:0:1:212:34ff:fe12:3456 \begin_inset Quotes srd \end_inset konfigurieren (nach Empfang eines Advertisements wie weiter oben abgebildet) und überprüft auf Duplikate \end_layout \begin_layout Code 15:44:22.304028 :: > ff02::1:ff12:3456: icmp6: neighbor sol: who has \end_layout \begin_layout Code ¬ 2001:0db8:0:1:212:34ff:fe12:3456(src lladdr: 0:12:34:12:34:56) (len 32, hlim \end_layout \begin_layout Code ¬ 255) \end_layout \begin_layout Subsubsection Neighbor discovery solicitation zur Host oder Gateway-Suche \end_layout \begin_layout Itemize Der Knoten möchte Pakete an die Adresse \begin_inset Quotes sld \end_inset 2001:0db8:0:1::10 \begin_inset Quotes srd \end_inset senden, hat hierfür aber keine Schicht 2 MAC Adresse und sendet aus diesem Grund zuerst eine Anfrage \end_layout \begin_layout Code 13:07:47.664538 2002:0102:0304:1:2e0:18ff:fe90:9205 > ff02::1:ff00:10: icmp6: \end_layout \begin_layout Code ¬ neighbor sol: who has 2001:0db8:0:1::10(src lladdr: 0:e0:18:90:92:5) (len 32, \end_layout \begin_layout Code ¬ hlim 255) \end_layout \begin_layout Itemize Der Knoten sucht nun nach der Adresse \begin_inset Quotes sld \end_inset fe80::10 \begin_inset Quotes srd \end_inset \end_layout \begin_layout Code 13:11:20.870070 fe80::2e0:18ff:fe90:9205 > ff02::1:ff00:10: icmp6: neighbor \end_layout \begin_layout Code ¬ sol: who has fe80::10(src lladdr: 0:e0:18:90:92:5) (len 32, hlim 255) \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-support-persistent-configuration" \end_inset Unterstützung einer ständigen IPv6-Konfiguration in Linux Distributionen \end_layout \begin_layout Standard Einige Linux-Distributionen unterstützen bereits eine permanente IPv6 Konfigurat ion. Hierbei werden sowohl bestehende oder als auch neue Konfiguration- und Skriptdateien verwendet sowie tlw. IPv4 Skripte abgeändert. \end_layout \begin_layout Section Red Hat Linux und \begin_inset Quotes sld \end_inset Klone \begin_inset Quotes srd \end_inset \end_layout \begin_layout Standard Seitdem der Autor begann das \begin_inset CommandInset href LatexCommand href name "IPv6 & Linux - HowTo" target "http://www.bieringer.de/linux/IPv6/" \end_inset 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: \lang english \begin_inset CommandInset href LatexCommand href name "initscripts-ipv6 homepage" target "http://www.deepspace6.net/projects/initscripts-ipv6.html" \end_inset ( \begin_inset CommandInset href LatexCommand href name "Spiegel" target "http://mirrors.bieringer.de/www.deepspace6.net/projects/initscripts-ipv6.html" \end_inset ) \lang ngerman . 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. \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard 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 ( \begin_inset Quotes sld \end_inset ifconfig \begin_inset Quotes srd \end_inset vermisst \begin_inset Quotes sld \end_inset inet6 \begin_inset Quotes srd \end_inset vor \begin_inset Quotes sld \end_inset add \begin_inset Quotes srd \end_inset ). \end_layout \begin_layout Subsection Test der IPv6-Unterstützung bei Netzwerk-Konfigurations-Scripts \end_layout \begin_layout Standard 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: \end_layout \begin_layout Code /etc/sysconfig/network-scripts/network-functions-ipv6 \end_layout \begin_layout Standard Automatischer Test: \end_layout \begin_layout Code # test -f /etc/sysconfig/network-scripts/network-functions-ipv6 && echo "Main \end_layout \begin_layout Code ¬ IPv6 script library exists" \end_layout \begin_layout Standard 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): \end_layout \begin_layout Code # source /etc/sysconfig/network-scripts/network-functions-ipv6 && \end_layout \begin_layout Code ¬ getversion_ipv6_functions \end_layout \begin_layout Code 20011124 \end_layout \begin_layout Standard Im obigen Beispiel ist die Versionsnummer \series bold 20011124 \series default . Um zu sehen, was sich inzwischen geändert hat, können Sie hier die neuesten Informationen nachlesen: \lang english \begin_inset CommandInset href LatexCommand href name "initscripts-ipv6 homepage" target "http://www.deepspace6.net/projects/initscripts-ipv6.html" \end_inset ( \begin_inset CommandInset href LatexCommand href name "Spiegel" target "http://mirrors.bieringer.de/www.deepspace6.net/projects/initscripts-ipv6.html" \end_inset ) \lang ngerman . Sie finden hier auch ein Change-Log. \end_layout \begin_layout Subsection Kurze Anleitung zum aktivieren von IPv6 bei RHL 7.1, 7.2, 7.3, ... \end_layout \begin_layout Itemize Überprüfen Sie, ob das IPv6 Modul auf Ihrem System bereits geladen ist: \end_layout \begin_layout Code # modprobe -c | grep net-pf-10 \end_layout \begin_layout Code alias net-pf-10 off \end_layout \begin_layout Itemize Ist das Ergebnis \begin_inset Quotes sld \end_inset off \begin_inset Quotes srd \end_inset , dann aktivieren Sie IPv6 durch hinzufügen folgender Zeile in /etc/sysconfig/ne twork \end_layout \begin_layout Code NETWORKING_IPV6=yes \end_layout \begin_layout Itemize Rebooten bzw. starten Sie das Netzwerk neu mit dem Befehl \end_layout \begin_layout Code # service network restart \end_layout \begin_layout Itemize Nun sollte das IPv6 Modul geladen sein \end_layout \begin_layout Code # modprobe -c | grep ipv6 \end_layout \begin_layout Code alias net-pf-10 ipv6 \end_layout \begin_layout Standard 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. \end_layout \begin_layout Section SuSE Linux \end_layout \begin_layout Standard Seit neueren 7.x Versionen gibt es eine wirklich rudimentäre Unterstützung für IPv6, siehe /etc/rc.config für Details. \end_layout \begin_layout Standard 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. \begin_inset Newline newline \end_inset In Version 8.x wurde das Konfigurations-Setup bei SuSE komplett abgeändert. \end_layout \begin_layout Subsection \lang english SuSE Linux 7.3 \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "How to setup 6to4 IPv6 with SuSE 7.3" target "http://www.feyrer.de/IPv6/SuSE73-IPv6+6to4-setup.html" \end_inset \end_layout \begin_layout Subsection \lang english SuSE Linux 8.0 \end_layout \begin_layout Subsubsection \lang english IPv6-Adress-Konfiguration \end_layout \begin_layout Standard \lang english Editiere Datei /etc/sysconfig/network/ifcfg- und setze folgende Variable entsprechend \end_layout \begin_layout Code IP6ADDR="/" \end_layout \begin_layout Subsubsection \lang english Zusätzliche information \end_layout \begin_layout Standard \lang english Siehe Datei /usr/share/doc/packages/sysconfig/README \end_layout \begin_layout Subsection \lang english SuSE Linux 8.1 \end_layout \begin_layout Subsubsection \lang english IPv6-Adress-Konfiguration \end_layout \begin_layout Standard \lang english Editiere Datei /etc/sysconfig/network/ifcfg- und setze folgende Variable entsprechend \end_layout \begin_layout Code IPADDR="/" \end_layout \begin_layout Subsubsection \lang english Zusätzliche information \end_layout \begin_layout Standard \lang english Siehe Datei /usr/share/doc/packages/sysconfig/Network \end_layout \begin_layout Section \lang english \begin_inset CommandInset label LatexCommand label name "Configuration-Debian-Linux" \end_inset \lang ngerman Debian Linux \end_layout \begin_layout Standard \lang english Folgende Information wurde von Stephane Bortzmeyer beigesteuert. \end_layout \begin_layout Enumerate \lang english Ü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). \end_layout \begin_layout Enumerate \lang english Konfiguriere die Schnittstelle (hier im Beispiel: eth0). Editiere /etc/network/interfaces : \end_layout \begin_layout Code iface eth0 inet6 static \end_layout \begin_layout Code pre-up modprobe ipv6 \end_layout \begin_layout Code address 2001:0db8:1234:5::1:1 \end_layout \begin_layout Code # To suppress completely autoconfiguration: \end_layout \begin_layout Code # up echo 0 > /proc/sys/net/ipv6/conf/all/autoconf \end_layout \begin_layout Code netmask 64 \end_layout \begin_layout Code # The router is autoconfigured and has no fixed address. \end_layout \begin_layout Code # It is magically \end_layout \begin_layout Code # found. (/proc/sys/net/ipv6/conf/all/accept_ra). Otherwise: \end_layout \begin_layout Code #gateway 2001:0db8:1234:5::1 \end_layout \begin_layout Standard \lang english Danach rebooten oder folgendes Kommando ausführen \end_layout \begin_layout Code # ifup --force eth0 \end_layout \begin_layout Standard \lang english Danach sollte die statische IPv6-Adresse konfiguriert sein. \end_layout \begin_layout Subsection Weiterführende Informationen \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6 with Debian Linux" target "http://ipv6.debian.net/" \end_inset \end_layout \begin_layout Itemize Jean-Marc V. Liotier's \lang english \begin_inset CommandInset href LatexCommand href name "HOWTO for Freenet6 & Debian Users" target "http://www.ruwenzori.net/ipv6/Jims_LAN_IPv6_global_connectivity_howto.html" \end_inset \lang ngerman (am 24.12.2002 in der \begin_inset CommandInset ref LatexCommand ref name "mailinglist" reference "information-maillists" \end_inset users@ipv6.org angekündigt) \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-autoconfiguration" \end_inset Automatische Konfiguration \end_layout \begin_layout Section Stateless Auto-Konfiguration (out-of-the-box) \end_layout \begin_layout Standard Wird unterstützt und kann bei der zugewiesenen link-lokalen Adressen beobachtet werden, sobald ein IPv6 fähiges Interface aktiv ist. \end_layout \begin_layout Standard \lang english Beispiel: \end_layout \begin_layout Code # ip -6 addr show dev eth0 scope link \end_layout \begin_layout Code 2: eth0: mtu 1500 qlen1000 \end_layout \begin_layout Code inet6 fe80::211:d8ff:fe6b:f0f5/64 scope link \end_layout \begin_layout Code valid_lft forever preferred_lft forever \end_layout \begin_layout Section Stateless Auto-Konfiguration unter Verwendung des Router Advertisement Daemon (radvd) \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. Siehe unten im Abschnitt \begin_inset CommandInset ref LatexCommand ref name "radvd daemon autoconfiguration" reference "hints-daemons-radvd" \end_inset . \end_layout \begin_layout Section Dynamic Host Configuration Protocol v6 (DHCPv6) \end_layout \begin_layout Standard \lang english Nach einer langen Zeit der Diskussion wurde \begin_inset CommandInset href LatexCommand href name "RFC 3315 / Dynamic Host Configuration Protocol for IPv6 (DHCPv6)" target "http://www.faqs.org/rfcs/rfc3315.html" \end_inset verabschiedet. Momentan (10/2005) existieren 2 Implementierungen: \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "Dibbler" target "http://klub.com.pl/dhcpv6/" \end_inset von Tomasz Mrugalski ( \begin_inset CommandInset ref LatexCommand ref name "Tipps zur Konfiguration" reference "hints-daemons-dibbler" \end_inset ) \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "dhcpv6" target "https://fedorahosted.org/dhcpv6/" \end_inset ( \begin_inset CommandInset ref LatexCommand ref name "Tipps zur Konfiguration" reference "hints-daemons-dhcpv6" \end_inset ) \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "ISC DHCP" target "http://www.isc.org/software/dhcp" \end_inset ( \begin_inset CommandInset ref LatexCommand ref name "Tipps zur Konfiguration" reference "hints-daemons-isc-dhcp" \end_inset ) \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-mobility" \end_inset Mobilität \end_layout \begin_layout Section Allgemeines \end_layout \begin_layout Subsection \lang english Mobilität eines Knotens (Node Mobility) \end_layout \begin_layout Standard \lang english Die Unterstützung für IPv6-Mobilität in Linux kann durch die Installation der MIPL2-Implementierung aktviert werden, welche hier zu finden ist: \begin_inset CommandInset href LatexCommand href name "http://www.mobile-ipv6.org/" target "http://www.mobile-ipv6.org/" \end_inset \end_layout \begin_layout Standard \lang english 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. \end_layout \begin_layout Standard \lang english Installation und Setup sind im \begin_inset CommandInset href LatexCommand href name "Linux Mobile IPv6 HOWTO" target "http://tldp.org/HOWTO/Mobile-IPv6-HOWTO/" \end_inset beschrieben. \end_layout \begin_layout Subsection \lang english Netzwerk-Mobililtät \end_layout \begin_layout Standard \lang english 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: \begin_inset CommandInset href LatexCommand href name "http://www.mobile-ipv6.org/" target "http://www.mobile-ipv6.org/" \end_inset . \end_layout \begin_layout Standard \lang english Folgendes HOWTO Dokument beschreibt Setup und Konfiguration: \begin_inset CommandInset href LatexCommand href name "http://www.nautilus6.org/doc/nepl-howto/" target "http://www.nautilus6.org/doc/nepl-howto/" \end_inset . \end_layout \begin_layout Subsection \lang english Links \end_layout \begin_layout Itemize \lang english Mobile IPv6 for Linux (MIPL) project: \begin_inset CommandInset href LatexCommand href name "http://www.mobile-ipv6.org/" target "http://www.mobile-ipv6.org/" \end_inset \end_layout \begin_layout Itemize \lang english Nautilus6 working group: \begin_inset CommandInset href LatexCommand href name "http://nautilus6.org/" target "http://nautilus6.org/" \end_inset \end_layout \begin_layout Itemize \lang english Fast Handovers for Mobile IPv6 for Linux project: \begin_inset CommandInset href LatexCommand href name "http://www.fmipv6.org/" target "http://www.fmipv6.org/" \end_inset \end_layout \begin_layout Itemize \lang english USAGI-patched Mobile IPv6 for Linux (UMIP): \begin_inset CommandInset href LatexCommand href name "http://umip.linux-ipv6.org/" target "http://umip.linux-ipv6.org/" \end_inset \end_layout \begin_layout Itemize \lang english Deploying IPsec/IKE-protected MIPv6 under Linux: \begin_inset CommandInset href LatexCommand href name "http://natisbad.org/MIPv6/" target "http://natisbad.org/MIPv6/" \end_inset \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "RFC 3775 / Mobility Support in IPv6" target "http://www.faqs.org/rfcs/rfc3775.html" \end_inset \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "RFC 3776 / Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents" target "http://www.faqs.org/rfcs/rfc3776.html" \end_inset \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "RFC 3963 / Network Mobility (NEMO)" target "http://www.faqs.org/rfcs/rfc3963.html" \end_inset \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "RFC 4068 / Fast Handovers for Mobile IPv6" target "http://www.faqs.org/rfcs/rfc4068.html" \end_inset \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "RFC 4423 / Host Identity Protocol (HIP) Architecture" target "http://www.faqs.org/rfcs/rfc4423.html" \end_inset \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "RFC 5201 / Host Identity Protocol" target "http://www.faqs.org/rfcs/rfc5201.html" \end_inset \end_layout \begin_layout Itemize \lang english HIP Implementierungen: \begin_inset CommandInset href LatexCommand href name "http://infrahip.hiit.fi/" target "http://infrahip.hiit.fi/" \end_inset , \begin_inset CommandInset href LatexCommand href name "http://hip4inter.net/" target "http://hip4inter.net/" \end_inset , \begin_inset CommandInset href LatexCommand href name "http://www.openhip.org/" target "http://www.openhip.org/" \end_inset \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-firewalling-security" \end_inset Firewall-Funktionalität \end_layout \begin_layout Standard 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 ( \begin_inset CommandInset href LatexCommand href name "RFC 1918 / Address Allocation for Private Internets" target "http://www.faqs.org/rfcs/rfc1918.html" \end_inset bzw. \begin_inset CommandInset href LatexCommand href name "Google search for Microsoft + APIPA" target "http://www.google.com/search?q=apipa+microsoft" \end_inset ) - globale Adressen verwendet und jeder mit IPv6-Anbindung kann alle internen Knoten, bei denen IPv6 aktiv ist, erreichen. \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "firewalling-netfilter6" \end_inset Firewall-Funktionalität mit netfilter6 \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard Achtung: Es gibt keine Garantie, dass die beschriebenen Regeln und Beispiele ihr System auch wirklich schützen können! \end_layout \begin_layout Standard Beobachten Sie nach der Installation ihr Regelset, siehe Abschnitt \begin_inset CommandInset ref LatexCommand ref reference "IPv6-security-auditing" \end_inset . \end_layout \begin_layout Standard \lang english Kernels ab Version 2.6.20 (Februar 2007) unterstützen den IPv6-Verbindungsstatus (connection tracking) vollständig. \end_layout \begin_layout Standard \lang english Kernels ab Version 3.9.0 (April 2013) unterstützen NAT für IPv6 in Verbindung mit ip6tables >= 1.4.18 \end_layout \begin_layout Standard \lang english Kernels ab Version 3.13 (April 2014) unterstützen ein neues Framework namens: nftables \end_layout \begin_layout Subsection Weitere Informationen \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Netfilter project" target "http://www.netfilter.org/" \end_inset \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "maillist archive of netfilter users" target "https://lists.netfilter.org/mailman/listinfo/netfilter" \end_inset \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "maillist archive of netfilter developers" target "https://lists.netfilter.org/mailman/listinfo/netfilter-devel" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Unofficial status informations" target "http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-kernel.html#netfilter6 " \end_inset \end_layout \begin_layout Section Vorbereitung \end_layout \begin_layout Standard \lang english 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. \end_layout \begin_layout Subsection Quellen besorgen \end_layout \begin_layout Standard Besorgen Sie sich den aktuellsten Kernel: \begin_inset CommandInset href LatexCommand href name "http://www.kernel.org/" target "http://www.kernel.org/" \end_inset \end_layout \begin_layout Standard Besorgen Sie sich das aktuellste iptables Paket: \end_layout \begin_layout Itemize Source tarball (für Kernel Patches): \begin_inset CommandInset href LatexCommand href name "http://www.netfilter.org/" target "http://www.netfilter.org/" \end_inset \end_layout \begin_layout Subsection Quellen entpacken \end_layout \begin_layout Standard Wechseln Sie in das Source-Verzeichnis: \end_layout \begin_layout Code # cd /path/to/src \end_layout \begin_layout Standard Entpacken sie die Kernel-Quellen und vergeben diesen einen neuen Namen \end_layout \begin_layout Code # tar z|jxf kernel-version.tar.gz|bz2 \end_layout \begin_layout Code # mv linux linux-version-iptables-version+IPv6 \end_layout \begin_layout Standard Entpacken Sie die iptables Quellen \end_layout \begin_layout Code # tar z|jxf iptables-version.tar.gz|bz2 \end_layout \begin_layout Subsection Neueste iptables/IPv6-relevante Patches den Kernel-Quellen hinzufügen \end_layout \begin_layout Standard Wechseln Sie in das iptables Verzeichnis \end_layout \begin_layout Code # cd iptables-version \end_layout \begin_layout Standard Fügen Sie relevante Patches hinzu \end_layout \begin_layout Code # make pending-patches KERNEL_DIR=/path/to/src/linux-version-iptables-version/ \end_layout \begin_layout Standard Fügen Sie zusätzliche IPv6 relevante IPv6 Patches hinzu (die nach wie vor nicht im Standard-Kernel enthalten sind) \end_layout \begin_layout Code # make patch-o-matic KERNEL_DIR=/path/to/src/linux-version-iptables-version/ \end_layout \begin_layout Standard Sagen Sie zu folgenden Optionen (iptables-1.2.2) Ja: \end_layout \begin_layout Itemize ah-esp.patch \end_layout \begin_layout Itemize masq-dynaddr.patch (nur benötigt bei Systemen mit dynamischer IP-Zuweisung am WAN mittels PPP oder PPPoE) \end_layout \begin_layout Itemize ipv6-agr.patch.ipv6 \end_layout \begin_layout Itemize ipv6-ports.patch.ipv6 \end_layout \begin_layout Itemize LOG.patch.ipv6 \end_layout \begin_layout Itemize REJECT.patch.ipv6 \end_layout \begin_layout Standard Überprüfen Sie die Erweiterungen \end_layout \begin_layout Code # make print-extensions \end_layout \begin_layout Code Extensions found: IPv6:owner IPv6:limit IPv6:mac IPv6:multiport \end_layout \begin_layout Subsection Konfiguration, kompilieren und Installation eines neues Kernels \end_layout \begin_layout Standard Wechseln Sie zu den Kernel-Quellen \end_layout \begin_layout Code # cd /path/to/src/linux-version-iptables-version/ \end_layout \begin_layout Standard Editieren Sie das Makefile \end_layout \begin_layout Code - EXTRAVERSION = \end_layout \begin_layout Code + EXTRAVERSION = -iptables-version+IPv6-try \end_layout \begin_layout Standard Starten Sie configure und aktivieren Sie IPv6 relevante Optionen \end_layout \begin_layout Code Code maturity level options \end_layout \begin_layout Code Prompt for development and/or incomplete code/drivers : yes \end_layout \begin_layout Code Networking options \end_layout \begin_layout Code Network packet filtering: yes \end_layout \begin_layout Code The IPv6 protocol: module \end_layout \begin_layout Code IPv6: Netfilter Configuration \end_layout \begin_layout Code IP6 tables support: module \end_layout \begin_layout Code All new options like following: \end_layout \begin_layout Code limit match support: module \end_layout \begin_layout Code MAC address match support: module \end_layout \begin_layout Code Multiple port match support: module \end_layout \begin_layout Code Owner match support: module \end_layout \begin_layout Code netfilter MARK match support: module \end_layout \begin_layout Code Aggregated address check: module \end_layout \begin_layout Code Packet filtering: module \end_layout \begin_layout Code REJECT target support: module \end_layout \begin_layout Code LOG target support: module \end_layout \begin_layout Code Packet mangling: module \end_layout \begin_layout Code MARK target support: module \end_layout \begin_layout Standard Konfigurieren Sie bei Bedarf Sonstiges abseits von IPv6. \end_layout \begin_layout Standard Kompilieren und Installation: siehe Kapitel Kernel sowie andere HOWTOs. \end_layout \begin_layout Subsection iptables neu kompilieren und installieren \end_layout \begin_layout Standard Stellen Sie sicher, dass obige Kernel-Sourceverzeichnisstruktur unter /usr/src/l inux liegt \end_layout \begin_layout Standard Benennen sie das ältere Verzeichnis um \end_layout \begin_layout Code # mv /usr/src/linux /usr/src/linux.old \end_layout \begin_layout Standard Erstellen Sie einen neuen symbolischen Link \end_layout \begin_layout Code # ln -s /path/to/src/linux-version-iptables-version /usr/src/linux \end_layout \begin_layout Standard Erstellen Sie ein neues SRPMS \end_layout \begin_layout Code # rpm --rebuild /path/to/SRPMS/iptables-version-release.src.rpm \end_layout \begin_layout Standard Installieren Sie das neue iptables Paket (iptables + iptables-ipv6) \end_layout \begin_layout Itemize Bei RH 7.1 Systemen ist normalerweise eine ältere Version hiervon bereits installiert, verwenden Sie daher die Option \begin_inset Quotes sld \end_inset Freshen \begin_inset Quotes srd \end_inset : \end_layout \begin_layout Code # rpm -Fhv /path/to/RPMS/cpu/iptables*-version-release.cpu.rpm \end_layout \begin_layout Itemize Ist keine ältere Version installiert, benutzen Sie die Option \begin_inset Quotes sld \end_inset install \begin_inset Quotes srd \end_inset : \end_layout \begin_layout Code # rpm -ihv /path/to/RPMS/cpu/iptables*-version-release.cpu.rpm \end_layout \begin_layout Itemize 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 \begin_inset Quotes sld \end_inset nodeps \begin_inset Quotes srd \end_inset : \end_layout \begin_layout Code # rpm -ihv --nodeps /path/to/RPMS/cpu/iptables*-version-release.cpu.rpm \end_layout \begin_layout Standard Damit iptables die Libraries finden kann, ist es eventuell notwendig, einen symbolischen Link für die iptables Libraries zu erstellen: \end_layout \begin_layout Code # ln -s /lib/iptables/ /usr/lib/iptables \end_layout \begin_layout Section Verwendung \end_layout \begin_layout Subsection Unterstützung im Kernel \end_layout \begin_layout Standard Laden Sie das Modul (falls dies im Kernel so kompiliert wurde): \end_layout \begin_layout Code # modprobe ip6_tables \end_layout \begin_layout Standard Überprüfen der IPv6-Unterstützung: \end_layout \begin_layout Code # [ ! -f /proc/net/ip6_tables_names ] && echo "Current kernel doesn't support \end_layout \begin_layout Code ¬ 'ip6tables' firewalling (IPv6)!" \end_layout \begin_layout Subsection Die Benützung von iptables lernen \end_layout \begin_layout Subsubsection Auflistung aller netfilter Einträge \end_layout \begin_layout Itemize Kurze Auflistung: \end_layout \begin_layout Code # ip6tables -L \end_layout \begin_layout Itemize Erweiterte Auflistung: \end_layout \begin_layout Code # ip6tables -n -v --line-numbers -L \end_layout \begin_layout Subsubsection Auflistung angegebener Filter \end_layout \begin_layout Code # ip6tables -n -v --line-numbers -L INPUT \end_layout \begin_layout Subsubsection Hinzufügen einer Log-Regel zum Input-Filter mit Optionen \end_layout \begin_layout Code # ip6tables --table filter --append INPUT -j LOG --log-prefix "INPUT:" \end_layout \begin_layout Code ¬ --log-level 7 \end_layout \begin_layout Subsubsection Hinzufügen einer Drop-Regel zum Input-Filter \end_layout \begin_layout Code # ip6tables --table filter --append INPUT -j DROP \end_layout \begin_layout Subsubsection Löschen einer Regel mit Hilfe der Regelnummer \end_layout \begin_layout Code # ip6tables --table filter --delete INPUT 1 \end_layout \begin_layout Subsubsection \lang english Aktiviere die Auswertung des Verbindungsstatus (connection tracking) \end_layout \begin_layout Standard \lang english Seit Kernel-Version 2.6.20 ist die Auswertung des IPv6-Verbindungsstatus gut unterstützt. Die bis dahin statuslosen Filterregeln sollten ersetzt werden.. \end_layout \begin_layout Code # ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT \end_layout \begin_layout Subsubsection ICMPv6 erlauben \end_layout \begin_layout Standard Bei älteren Kernelversionen (unpatched kernel 2.4.5 und iptables-1.2.2) kann keine nähere Spezifizierung des ICMPv6-Typs vorgenommen werden: \end_layout \begin_layout Itemize Eingehender ICMPv6 Verkehr durch Tunnel erlauben \end_layout \begin_layout Code # ip6tables -A INPUT -i sit+ -p icmpv6 -j ACCEPT \end_layout \begin_layout Itemize Ausgehenden ICMPv6 Verkehr durch Tunnel erlauben \end_layout \begin_layout Code # ip6tables -A OUTPUT -o sit+ -p icmpv6 -j ACCEPT \end_layout \begin_layout Standard Neuere Kernel erlauben das Spezifizieren des ICMPv6-Typs: \end_layout \begin_layout Code # ip6tables -A INPUT -p icmpv6 --icmpv6-type echo-request -j ACCEPT \end_layout \begin_layout Subsubsection Rate-limiting \end_layout \begin_layout Standard 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 enthaltende n Patitionen entgegenzuwirken. Ein Beispiel für ein rate limited ICMPv6 sieht wie folgt aus: \end_layout \begin_layout Code # ip6tables -A INPUT --protocol icmpv6 --icmpv6-type echo-request \end_layout \begin_layout Code ¬ -j ACCEPT --match limit --limit 30/minute \end_layout \begin_layout Subsubsection Eingehende SSH-Verbindung erlauben \end_layout \begin_layout Standard Im folgenden Beispiel werden eingehende SSH-Verbindungen von einer speziellen IPv6 Adresse zugelassen: \end_layout \begin_layout Itemize Eingehende SSH Verbindungen werden von der Adresse 2001:0db8:100::1/128 erlaubt \end_layout \begin_layout Code # ip6tables -A INPUT -i sit+ -p tcp -s 2001:0db8:100::1/128 --sport 512:65535 \end_layout \begin_layout Code ¬ --dport 22 -j ACCEPT \end_layout \begin_layout Itemize Erlaube Antwortpakete \lang english ( \series bold nicht mehr notwendig, wenn der IPv6-Verbindungsstatus ausgewertet wird! \series default ) \end_layout \begin_layout Code # ip6tables -A OUTPUT -o sit+ -p tcp -d 2001:0db8:100::1/128 --dport 512:65535 \end_layout \begin_layout Code ¬ --sport 22 ! --syn -j ACCEPT \end_layout \begin_layout Subsubsection Getunnelten IPv6-in-IPv4 Datenverkehr erlauben \end_layout \begin_layout Standard Um getunnelte IPv6-in-IPv4 Pakete zu akzeptieren, müssen Sie in Ihrem IPv4 Firewall-Setup entsprechende Regeln einzufügen, z.B. \end_layout \begin_layout Itemize Akzeptiere eingehende IPv6-in-IPv4 Daten am interface ppp0 \end_layout \begin_layout Code # iptables -A INPUT -i ppp0 -p ipv6 -j ACCEPT \end_layout \begin_layout Itemize Akzeptiere ausgehende IPv6-in-IPv4 Daten am interface ppp0 \end_layout \begin_layout Code # iptables -A OUTPUT -o ppp0 -p ipv6 -j ACCEPT \end_layout \begin_layout Standard Haben Sie nur einen statischen Tunnel, dann können sie die IPv4 Adresse auch dediziert angeben: \end_layout \begin_layout Itemize Akzeptiere eingehende IPv6-in-IPv4 Daten vom Tunnel-Endpunkt 192.0.2.2 am interface ppp0 \end_layout \begin_layout Code # iptables -A INPUT -i ppp0 -p ipv6 -s 192.0.2.2 -j ACCEPT \end_layout \begin_layout Itemize Akzeptiere ausgehende IPv6-in-IPv4 Daten vom Tunnel-Endpunkt 192.0.2.2 am interface ppp0 \end_layout \begin_layout Code # iptables -A OUTPUT -o ppp0 -p ipv6 -d 192.0.2.2 -j ACCEPT \end_layout \begin_layout Subsubsection Schutz gegen eingehende TCP-Verbindungs-Anfragen \end_layout \begin_layout Standard \series bold SEHR EMPFOHLEN! \series default 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" entspreche nd anpassen! \end_layout \begin_layout Itemize Blockiere eingehende TCP-Verbindungs-Anfragen zu diesem Host \end_layout \begin_layout Code # ip6tables -I INPUT -i sit+ -p tcp --syn -j DROP \end_layout \begin_layout Itemize Blockiere eingehende TCP-Verbindungs-Anfragen zu Hosts hinter diesem Router \end_layout \begin_layout Code # ip6tables -I FORWARD -i sit+ -p tcp --syn -j DROP \end_layout \begin_layout Standard 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. \end_layout \begin_layout Subsubsection Schutz gegen eingehende UDP-Verbindungs-Anfragen \end_layout \begin_layout Standard \series bold EBENFALLS SEHR EMPHOLEN! \series default Wie bereits im Kapitel Firewall erwähnt, ist es möglich die Ports bei ausgehend en 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): \end_layout \begin_layout Itemize Blockiere eingehende UDP-Pakete, die nicht Antworten ausgehender Anfragen dieses Host sein können \end_layout \begin_layout Code # ip6tables -I INPUT -i sit+ -p udp ! --dport 32768:60999 -j DROP \end_layout \begin_layout Itemize Blockiere eingehende UDP-Pakete, die nicht Antworten auf Anfragen von hinter diesem Router gelegenen Hosts sein können \end_layout \begin_layout Code # ip6tables -I FORWARD -i sit+ -p udp ! --dport 32768:60999 -j DROP \end_layout \begin_layout Subsection Anwendungsbeispiele \end_layout \begin_layout Subsubsection \lang english Einfaches Beispiel für Fedora \end_layout \begin_layout Standard \lang english Folgende Zeilen zeigen eine einfache Firewall-Konfiguration für Fedora 6 (ab Kernel-Version 2.6.20). Ausgehend von dem Origina (generiert durch \shape italic system-config-firewall \shape default ) 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. \end_layout \begin_layout Code Datei: /etc/sysconfig/ip6tables \end_layout \begin_layout Code \end_layout \begin_layout Code *filter :INPUT ACCEPT [0:0] \end_layout \begin_layout Code :FORWARD ACCEPT [0:0] \end_layout \begin_layout Code :OUTPUT ACCEPT [0:0] \end_layout \begin_layout Code :RH-Firewall-1-INPUT - [0:0] \end_layout \begin_layout Code -A INPUT -j RH-Firewall-1-INPUT \end_layout \begin_layout Code -A FORWARD -j RH-Firewall-1-INPUT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -i lo -j ACCEPT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -p icmpv6 -j ACCEPT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -p 50 -j ACCEPT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -p 51 -j ACCEPT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -p udp --dport 5353 -d ff02::fb -j ACCEPT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp6-adm-prohibited \end_layout \begin_layout Code COMMIT \end_layout \begin_layout Standard \lang english Zwecks der Vollständigkeit ist hier auch die entsprechende Konfiguration für IPv4 gezeigt: \end_layout \begin_layout Code Datei: /etc/sysconfig/iptables \end_layout \begin_layout Code \end_layout \begin_layout Code *filter :INPUT ACCEPT [0:0] \end_layout \begin_layout Code :FORWARD ACCEPT [0:0] \end_layout \begin_layout Code :OUTPUT ACCEPT [0:0] \end_layout \begin_layout Code :RH-Firewall-1-INPUT - [0:0] \end_layout \begin_layout Code -A INPUT -j RH-Firewall-1-INPUT \end_layout \begin_layout Code -A FORWARD -j RH-Firewall-1-INPUT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -i lo -j ACCEPT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -p 50 -j ACCEPT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -p 51 -j ACCEPT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT \end_layout \begin_layout Code -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited \end_layout \begin_layout Code COMMIT \end_layout \begin_layout Standard \lang english Benutzung: \end_layout \begin_layout Itemize \lang english Erzeugen/Modifizieren der Konfigurationsdateien \end_layout \begin_layout Itemize \lang english Aktivieren von IPv4 & IPv6 Firewalling \end_layout \begin_layout Code # service iptables start \end_layout \begin_layout Code # service ip6tables start \end_layout \begin_layout Itemize \lang english Aktivieren des automatischen Starts nach dem Reboot \end_layout \begin_layout Code # chkconfig iptables on \end_layout \begin_layout Code # chkconfig ip6tables on \end_layout \begin_layout Subsubsection Umfangreicheres Beispiel \end_layout \begin_layout Standard Folgende Zeilen zeigen ein umfangreicheres Setup. Happy netfilter6 Regelset erstellen... \end_layout \begin_layout Code # ip6tables -n -v -L \end_layout \begin_layout Code Chain INPUT (policy DROP 0 packets, 0 bytes) \end_layout \begin_layout Code pkts bytes target prot opt in out source destination \end_layout \begin_layout Code 0 0 extIN all sit+ * ::/0 ::/0 \end_layout \begin_layout Code 4 384 intIN all eth0 * ::/0 ::/0 \end_layout \begin_layout Code 0 0 ACCEPT all * * ::1/128 ::1/128 \end_layout \begin_layout Code 0 0 ACCEPT all lo * ::/0 ::/0 \end_layout \begin_layout Code 0 0 LOG all * * ::/0 ::/0 \end_layout \begin_layout Code ¬ LOG flags 0 level 7 prefix `INPUT-default:' \end_layout \begin_layout Code 0 0 DROP all * * ::/0 ::/0 \end_layout \begin_layout Code \end_layout \begin_layout Code Chain FORWARD (policy DROP 0 packets, 0 bytes) \end_layout \begin_layout Code pkts bytes target prot opt in out source destination \end_layout \begin_layout Code ¬ \end_layout \begin_layout Code 0 0 int2ext all eth0 sit+ ::/0 ::/0 \end_layout \begin_layout Code 0 0 ext2int all sit+ eth0 ::/0 ::/0 \end_layout \begin_layout Code 0 0 LOG all * * ::/0 ::/0 \end_layout \begin_layout Code ¬ LOG flags 0 level 7 prefix `FORWARD-default:' \end_layout \begin_layout Code 0 0 DROP all * * ::/0 ::/0 \end_layout \begin_layout Code \end_layout \begin_layout Code Chain OUTPUT (policy DROP 0 packets, 0 bytes) \end_layout \begin_layout Code pkts bytes target prot opt in out source destination \end_layout \begin_layout Code ¬ \end_layout \begin_layout Code 0 0 extOUT all * sit+ ::/0 ::/0 \end_layout \begin_layout Code 4 384 intOUT all * eth0 ::/0 ::/0 \end_layout \begin_layout Code 0 0 ACCEPT all * * ::1/128 ::1/128 \end_layout \begin_layout Code 0 0 ACCEPT all * lo ::/0 ::/0 \end_layout \begin_layout Code 0 0 LOG all * * ::/0 ::/0 \end_layout \begin_layout Code ¬ LOG flags 0 level 7 prefix `OUTPUT-default:' \end_layout \begin_layout Code 0 0 DROP all * * ::/0 ::/0 \end_layout \begin_layout Code \end_layout \begin_layout Code Chain ext2int (1 references) \end_layout \begin_layout Code pkts bytes target prot opt in out source destination \end_layout \begin_layout Code ¬ \end_layout \begin_layout Code 0 0 ACCEPT icmpv6 * * ::/0 ::/0 \end_layout \begin_layout Code 0 0 ACCEPT tcp * * ::/0 ::/0 \end_layout \begin_layout Code ¬ tcp spts:1:65535 dpts:1024:65535 flags:!0x16/0x02 \end_layout \begin_layout Code 0 0 LOG all * * ::/0 ::/0 \end_layout \begin_layout Code ¬ LOG flags 0 level 7 prefix `ext2int-default:' \end_layout \begin_layout Code 0 0 DROP tcp * * ::/0 ::/0 \end_layout \begin_layout Code 0 0 DROP udp * * ::/0 ::/0 \end_layout \begin_layout Code 0 0 DROP all * * ::/0 ::/0 \end_layout \begin_layout Code \end_layout \begin_layout Code Chain extIN (1 references) \end_layout \begin_layout Code pkts bytes target prot opt in out source destination \end_layout \begin_layout Code ¬ \end_layout \begin_layout Code 0 0 ACCEPT tcp * * 3ffe:400:100::1/128 ::/0 \end_layout \begin_layout Code ¬ tcp spts:512:65535 dpt:22 \end_layout \begin_layout Code 0 0 ACCEPT tcp * * 3ffe:400:100::2/128 ::/0 \end_layout \begin_layout Code ¬ tcp spts:512:65535 dpt:22 \end_layout \begin_layout Code 0 0 ACCEPT icmpv6 * * ::/0 ::/0 \end_layout \begin_layout Code 0 0 ACCEPT tcp * * ::/0 ::/0 \end_layout \begin_layout Code ¬ tcp spts:1:65535 dpts:1024:65535 flags:!0x16/0x02 \end_layout \begin_layout Code 0 0 ACCEPT udp * * ::/0 ::/0 \end_layout \begin_layout Code ¬ udp spts:1:65535 dpts:1024:65535 \end_layout \begin_layout Code 0 0 LOG all * * ::/0 ::/0 \end_layout \begin_layout Code ¬ limit: avg 5/min burst 5 LOG flags 0 level 7 prefix `extIN-default:' \end_layout \begin_layout Code 0 0 DROP all * * ::/0 ::/0 \end_layout \begin_layout Code \end_layout \begin_layout Code Chain extOUT (1 references) \end_layout \begin_layout Code pkts bytes target prot opt in out source destination \end_layout \begin_layout Code ¬ \end_layout \begin_layout Code 0 0 ACCEPT tcp * * ::/0 \end_layout \begin_layout Code ¬ 2001:0db8:100::1/128tcp spt:22 dpts:512:65535 flags:!0x16/0x02 \end_layout \begin_layout Code 0 0 ACCEPT tcp * * ::/0 \end_layout \begin_layout Code ¬ 2001:0db8:100::2/128tcp spt:22 dpts:512:65535 flags:!0x16/0x02 \end_layout \begin_layout Code 0 0 ACCEPT icmpv6 * * ::/0 ::/0 \end_layout \begin_layout Code 0 0 ACCEPT tcp * * ::/0 ::/0 \end_layout \begin_layout Code ¬ tcp spts:1024:65535 dpts:1:65535 \end_layout \begin_layout Code 0 0 ACCEPT udp * * ::/0 ::/0 \end_layout \begin_layout Code ¬ udp spts:1024:65535 dpts:1:65535 \end_layout \begin_layout Code 0 0 LOG all * * ::/0 ::/0 \end_layout \begin_layout Code ¬ LOG flags 0 level 7 prefix `extOUT-default:' \end_layout \begin_layout Code 0 0 DROP all * * ::/0 ::/0 \end_layout \begin_layout Code \end_layout \begin_layout Code Chain int2ext (1 references) \end_layout \begin_layout Code pkts bytes target prot opt in out source destination \end_layout \begin_layout Code ¬ \end_layout \begin_layout Code 0 0 ACCEPT icmpv6 * * ::/0 ::/0 \end_layout \begin_layout Code 0 0 ACCEPT tcp * * ::/0 ::/0 \end_layout \begin_layout Code ¬ tcp spts:1024:65535 dpts:1:65535 \end_layout \begin_layout Code 0 0 LOG all * * ::/0 ::/0 \end_layout \begin_layout Code ¬ LOG flags 0 level 7 prefix `int2ext:' \end_layout \begin_layout Code 0 0 DROP all * * ::/0 ::/0 \end_layout \begin_layout Code 0 0 LOG all * * ::/0 ::/0 \end_layout \begin_layout Code ¬ LOG flags 0 level 7 prefix `int2ext-default:' \end_layout \begin_layout Code 0 0 DROP tcp * * ::/0 ::/0 \end_layout \begin_layout Code 0 0 DROP udp * * ::/0 ::/0 \end_layout \begin_layout Code 0 0 DROP all * * ::/0 ::/0 \end_layout \begin_layout Code \end_layout \begin_layout Code Chain intIN (1 references) \end_layout \begin_layout Code pkts bytes target prot opt in out source destination \end_layout \begin_layout Code ¬ \end_layout \begin_layout Code 0 0 ACCEPT all * * ::/0 \end_layout \begin_layout Code ¬ fe80::/ffc0:: \end_layout \begin_layout Code 4 384 ACCEPT all * * ::/0 ff02::/16 \end_layout \begin_layout Code \end_layout \begin_layout Code Chain intOUT (1 references) \end_layout \begin_layout Code pkts bytes target prot opt in out source destination \end_layout \begin_layout Code ¬ \end_layout \begin_layout Code 0 0 ACCEPT all * * ::/0 \end_layout \begin_layout Code ¬ fe80::/ffc0:: \end_layout \begin_layout Code 4 384 ACCEPT all * * ::/0 ff02::/16 \end_layout \begin_layout Code 0 0 LOG all * * ::/0 ::/0 \end_layout \begin_layout Code ¬ LOG flags 0 level 7 prefix `intOUT-default:' \end_layout \begin_layout Code 0 0 DROP all * * ::/0 ::/0 \end_layout \begin_layout Section \lang english \begin_inset CommandInset label LatexCommand label name "nat-netfilter6" \end_inset Network Address Translation (NAT) mit netfilter6 \end_layout \begin_layout Standard \lang english Seit mindestens Linux Kernel-Version 3.9.0 und ip6tables ab 1.4.18 kann Network Address Translation (NAT) genutzt werden. \end_layout \begin_layout Subsection \lang english IPv6 Maskierung \end_layout \begin_layout Standard \lang english Wie bei IPv4 können Systeme hinter einem Router versteckt werden mit Hilfe von IPv6 Maskierung (hide/overlap NAT), z.B. \end_layout \begin_layout Code # ip6tables -t nat -A POSTROUTING -o sixxs -s fec0::/64 -j MASQUERADE \end_layout \begin_layout Subsection \lang english IPv6 Destination NAT \end_layout \begin_layout Standard \lang english Eine dedizierte öffentliche IPv6-Adresse kann zu einer internen IPv6-Adresse weitergeleitet werden, z.B. \end_layout \begin_layout Code # 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 \end_layout \begin_layout Subsection \lang english IPv6 Port Weiterleitung \end_layout \begin_layout Standard \lang english Ein dedizierter Port kann zu einem internen System weitergeleitet werden, z.B. \end_layout \begin_layout Code # ip6tables -t nat -A PREROUTING -i sixxs -p tcp --dport 8080 -j DNAT --to-desti nation [fec0::1234]:80 \end_layout \begin_layout Section \lang english Firewall-Setup mit nftables \end_layout \begin_layout Standard \lang english Mit nftables wurde die Unterstützung einer Tabelle names \begin_inset Quotes sld \end_inset inet \begin_inset Quotes srd \end_inset eingeführt in welcher Regeln für IPv4/IPv6 gleichzeitig gelten \end_layout \begin_layout Subsection \lang english Präparation zur Nutzung von nftables \end_layout \begin_layout Standard \lang english 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. \end_layout \begin_layout Subsection \lang english Basis-nftables Konfiguration \end_layout \begin_layout Standard \lang english Laden der Kernel-Module: \end_layout \begin_layout Code # modprobe nf_tables \end_layout \begin_layout Code # modprobe nf_tables_ipv4 \end_layout \begin_layout Code # modprobe nf_tables_ipv6 \end_layout \begin_layout Code # modprobe nf_tables_inet \end_layout \begin_layout Standard \lang english Löschen der Regeln in iptables and ip6tables um Interferenzen zu vermeiden: \end_layout \begin_layout Code # iptables -F \end_layout \begin_layout Code # ip6tables -F \end_layout \begin_layout Standard \lang english Erzeugen der Filter-Tabelle: \end_layout \begin_layout Code # nft add table inet filter \end_layout \begin_layout Standard \lang english Erzeugen einer input chain in der Filter-Tabelle: \end_layout \begin_layout Code # nft add chain inet filter input { type filter hook input priority 0 \backslash ; } \end_layout \begin_layout Subsection \lang english Einfache Filter-Policy mit nftables \end_layout \begin_layout Subsubsection \lang english Konfiguration \end_layout \begin_layout Standard \lang english Erlauben von Paketen, die zu existierenden Einträgen in der Connection-Tracking- Tabelle gehören \end_layout \begin_layout Code # nft add rule inet filter input ct state established,related counter accept \end_layout \begin_layout Standard \lang english Erlauben von IPv4 und IPv6 ICMP echo-request (aka ping) \end_layout \begin_layout Code # nft add rule inet filter input meta nfproto ipv4 icmp type { echo-request } counter accept \end_layout \begin_layout Code # nft add rule inet filter input meta nfproto ipv6 icmpv6 type echo-request counter accept \end_layout \begin_layout Standard \lang english Erlauben einiger wichtiger IPv6 ICMP Pakete, ohne Zähler, dafür mit Hop-Limit-Pr üfung (erhöht die Sicherheit) \end_layout \begin_layout Code # nft add rule inet filter input meta nfproto ipv6 \end_layout \begin_layout Code ¬ icmpv6 type { nd-neighbor-advert, nd-neighbor-solicit, nd-router-advert} ip6 hoplimit 1 accept \end_layout \begin_layout Code # nft add rule inet filter input meta nfproto ipv6 \end_layout \begin_layout Code ¬ icmpv6 type { nd-neighbor-advert, nd-neighbor-solicit, nd-router-advert} ip6 hoplimit 255 counter accept \end_layout \begin_layout Standard \lang english Erlauben von eingehenden SSH-Verbindungen für IPv4 und IPv6 \end_layout \begin_layout Code # nft add rule inet filter input tcp dport 22 ct state new tcp flags \backslash & \backslash (syn \backslash | ack \backslash ) == syn counter accept \end_layout \begin_layout Standard \lang english Reject/drop anderer Pakete \end_layout \begin_layout Code # nft add rule inet filter input tcp dport 0-65535 reject \end_layout \begin_layout Code # nft add rule inet filter input udp dport 0-65535 counter drop \end_layout \begin_layout Code # nft add rule inet filter input counter drop \end_layout \begin_layout Subsubsection \lang english Ergebnis \end_layout \begin_layout Standard \lang english Tabelle für IP unabhängigen Filter \end_layout \begin_layout Code table inet filter { \end_layout \begin_layout Code chain input { \end_layout \begin_layout Code type filter hook input priority 0; \end_layout \begin_layout Code ct state established,related counter packets 0 bytes 0 accept \end_layout \begin_layout Code ip protocol icmp icmp type { echo-request} counter packets 0 bytes 0 accept \end_layout \begin_layout Code ip6 nexthdr ipv6-icmp icmpv6 type echo-request counter packets 0 bytes 0 accept \end_layout \begin_layout Code ip6 nexthdr ipv6-icmp ip6 hoplimit 1 icmpv6 type { nd-neighbor-advert, nd-neighbor-solicit, nd-router-advert} accept \end_layout \begin_layout Code ip6 nexthdr ipv6-icmp ip6 hoplimit 255 icmpv6 type { nd-neighbor-advert, nd-neighbor-solicit, nd-router-advert} accept \end_layout \begin_layout Code tcp dport ssh ct state new tcp flags & (syn | ack) == syn counter packets 0 bytes 0 accept \end_layout \begin_layout Code tcp dport >= 0 tcp dport <= 65535 counter packets 0 bytes 0 reject \end_layout \begin_layout Code udp dport >= 0 udp dport <= 65535 counter packets 0 bytes 0 drop \end_layout \begin_layout Code log prefix counter packets 0 bytes 0 drop \end_layout \begin_layout Code } \end_layout \begin_layout Code } \end_layout \begin_layout Subsubsection \lang english Tipps für's Loggen \end_layout \begin_layout Standard \lang english Für Logging wird ein zusätzliches Kernelmodul benötigt: \end_layout \begin_layout Code # modprobe xt_LOG \end_layout \begin_layout Standard \lang english 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! \end_layout \begin_layout Standard \lang english 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 \begin_inset Quotes sld \end_inset # \begin_inset Quotes srd \end_inset am Anfang der Zeile und Neustart des logging-Daemons \end_layout \begin_layout Code #*.emerg :omusrmsg:* \end_layout \begin_layout Standard \lang english Regel von oben, welche SSH auf Port 22 erlaubt, nun mit Logging: \end_layout \begin_layout Code # nft add rule inet filter input tcp dport 22 ct state new tcp flags \backslash & \backslash (syn \backslash | ack \backslash ) == syn log prefix \backslash "inet/input/accept: \backslash " counter accept \end_layout \begin_layout Subsection \lang english Filter-Policy mit nftables unter Benutzung der Tablellen \begin_inset Quotes sld \end_inset ip \begin_inset Quotes srd \end_inset , \begin_inset Quotes sld \end_inset ip6 \begin_inset Quotes srd \end_inset und \begin_inset Quotes sld \end_inset inet \begin_inset Quotes srd \end_inset \end_layout \begin_layout Standard \lang english Wie oben schon beschrieben, wenn die Regeln in den einzelnen Tabellen konfigurie rt werden, muss gesichert sein, dass frühere \begin_inset Quotes sld \end_inset accepts \begin_inset Quotes srd \end_inset nicht aufgehoben werden. Eine einfache Lösung ist die Benutzung von Markierungen. Regeln, die Pakete erlauben, setzen die Marke mit \begin_inset Quotes sld \end_inset meta mark set xxxx \begin_inset Quotes srd \end_inset . Eine generische Regel erlaubt Pakete mit gesetzter Marke \begin_inset Quotes sld \end_inset mark xxxx \begin_inset Quotes srd \end_inset . Beispiel für ein resultierendes Filter-Regelwerk: \end_layout \begin_layout Code # for table in ip ip6 inet; do nft list table $table filter; done \end_layout \begin_layout Code table ip filter { \end_layout \begin_layout Code chain input { \end_layout \begin_layout Code type filter hook input priority 0; \end_layout \begin_layout Code ct state established,related counter packets 241 bytes 25193 accept \end_layout \begin_layout Code counter packets 2 bytes 120 mark 0x00000100 accept \end_layout \begin_layout Code icmp type { echo-request} counter packets 0 bytes 0 meta mark set 0x00000100 accept \end_layout \begin_layout Code } \end_layout \begin_layout Code } \end_layout \begin_layout Code table ip6 filter { \end_layout \begin_layout Code chain input { \end_layout \begin_layout Code type filter hook input priority 0; \end_layout \begin_layout Code ct state established,related counter packets 14 bytes 4077 accept \end_layout \begin_layout Code counter packets 4 bytes 408 mark 0x00000100 accept \end_layout \begin_layout Code icmpv6 type echo-request counter packets 1 bytes 104 meta mark set 0x00000100 \end_layout \begin_layout Code icmpv6 type { nd-neighbor-advert, nd-neighbor-solicit, nd-router-advert} counter packets 2 bytes 224 meta mark set 0x00000100 accept \end_layout \begin_layout Code } \end_layout \begin_layout Code } \end_layout \begin_layout Code table inet filter { \end_layout \begin_layout Code chain input { \end_layout \begin_layout Code type filter hook input priority 0; \end_layout \begin_layout Code ct state established,related counter packets 307 bytes 31974 accept \end_layout \begin_layout Code counter packets 6 bytes 528 mark 0x00000100 accept \end_layout \begin_layout Code tcp dport ssh ct state new tcp flags & (syn | ack) == syn log prefix "inet/input/accept: " meta mark set 0x00000100 counter packets 3 bytes 200 accept \end_layout \begin_layout Code log prefix "inet/input/reject: " counter packets 0 bytes 0 reject \end_layout \begin_layout Code } \end_layout \begin_layout Code } \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-security" \end_inset Sicherheit \end_layout \begin_layout Section Sicherheit des Knoten \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Section Zugangsbeschränkungen \end_layout \begin_layout Standard Viele Dienste setzen die tcp_wrapper Bibliothek für die Zugangskontrolle ein. Eine Beschreibung finden Sie unter \begin_inset CommandInset ref LatexCommand ref name "use of tcp_wrapper" reference "hints-daemons-tcpwrapper" \end_inset . \end_layout \begin_layout Standard Mehr Infos hierzu in späteren Versionen. \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "IPv6-security-auditing" \end_inset IPv6 Sicherheitsüberwachung \end_layout \begin_layout Standard Aktuell gibt es keine komfortablen Sicherheitstools mit denen man ein System über ein Netzwerk nach IPv6 relevanten Sicherheitslücken hin überprüfen kann. Weder \begin_inset CommandInset href LatexCommand href name "Nessus" target "http://www.nessus.org/" \end_inset noch irgendein kommerzieller Security Scanner ist zur Zeit dazu in der Lage, IPv6-Adressen scannen zu können. \end_layout \begin_layout Subsection Rechtsfragen \end_layout \begin_layout Standard 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! \begin_inset Newline newline \end_inset ÜBERPRÜFEN Sie die Ziel-IPv6-Adresse ZWEIMAL, bevor Sie einen Scan starten. \end_layout \begin_layout Subsection Sicherheitsüberwachung mit IPv6 fähigen netcat \end_layout \begin_layout Standard Mit dem IPv6 fähigen netcat (siehe \begin_inset CommandInset href LatexCommand href name "IPv6+Linux-status-apps/security-auditing" target "http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-apps.html#security-auditing" \end_inset 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: \end_layout \begin_layout Code # nc6 ::1 daytime \end_layout \begin_layout Code 13 JUL 2002 11:22:22 CEST \end_layout \begin_layout Subsection Sicherheitsüberwachung mit IPv6 fähigen NMap \end_layout \begin_layout Standard \begin_inset CommandInset href LatexCommand href name "NMap" target "http://www.insecure.org/nmap/" \end_inset , einer der weltweit besten Portscanner, unterstützt IPv6 seit der Version 3.10ALPHA1. Anwendungsbeispiel: \end_layout \begin_layout Code # nmap -6 -sT ::1 \end_layout \begin_layout Code Starting nmap V. 3.10ALPHA3 ( www.insecure.org/nmap/ ) \end_layout \begin_layout Code Interesting ports on localhost6 (::1): \end_layout \begin_layout Code (The 1600 ports scanned but not shown below are in state: closed) \end_layout \begin_layout Code Port State Service \end_layout \begin_layout Code 22/tcp open ssh \end_layout \begin_layout Code 53/tcp open domain \end_layout \begin_layout Code 515/tcp open printer \end_layout \begin_layout Code 2401/tcp open cvspserver \end_layout \begin_layout Code Nmap run completed -- 1 IP address (1 host up) scanned in 0.525 seconds \end_layout \begin_layout Subsection Sicherheitsüberprüfung IPv6 fähigen strobe \end_layout \begin_layout Standard Strobe ist (im Vergleich zu NMap) ein low budget Portscanner. Allerdings gibt es für Strobe einen IPv6 Patch (siehe \begin_inset CommandInset href LatexCommand href name "IPv6+Linux-status-apps/security-auditing" target "http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-apps.html#security-auditing" \end_inset für Details). Anwendungsbeispiel: \end_layout \begin_layout Code # ./strobe ::1 strobe 1.05 (c) 1995-1999 Julian Assange . \end_layout \begin_layout Code ::1 2401 unassigned unknown \end_layout \begin_layout Code ::1 22 ssh Secure Shell - RSA encrypted rsh \end_layout \begin_layout Code ::1 515 printer spooler (lpd) \end_layout \begin_layout Code ::1 6010 unassigned unknown \end_layout \begin_layout Code ::1 53 domain Domain Name Server \end_layout \begin_layout Standard Hinweis: strobe wird nicht wirklich weiterentwickelt, die abgebildete Versionsnu mmer ist zudem falsch. \end_layout \begin_layout Subsection \lang english Sicherheitsüberprüfung mit Online-Werkzeugen \end_layout \begin_layout Standard \lang english Es gibt einige IPv6-fähige Online-Werkzeuge, welche das Testen einer Firewall-Ko nfiguration bzgl. eingehenden Verbindungen unterstützen können: \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "Tim's Online IPv6 TCP/UDP Port Scanner" target "http://ipv6.chappell-family.com/ipv6tcptest/" \end_inset \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "SubnetOnline IPv6 Scanner" target "http://www.subnetonline.com/pages/ipv6-network-tools/online-ipv6-port-scanner.php" \end_inset \end_layout \begin_layout Subsection Überprüfungsergebnisse \end_layout \begin_layout Standard 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 \begin_inset CommandInset ref LatexCommand ref name "Firewalling/Netfilter6" reference "firewalling-netfilter6" \end_inset für Details). \end_layout \begin_layout Standard Hinweis: Detailliertere Informationen zum Thema IPv6 Sicherheit finden Sie unter folgenden Links: \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "IETF drafts - IPv6 Operations (v6ops)" target "http://www.ietf.org/ids.by.wg/v6ops.html" \end_inset \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "RFC 3964 / Security Considerations for 6to4" target "http://www.faqs.org/rfcs/rfc3964.html" \end_inset \end_layout \begin_layout Chapter \lang english \begin_inset CommandInset label LatexCommand label name "chapter-encryption-authentication" \end_inset Verschlüsselung und Authentifizierung \end_layout \begin_layout Standard \lang english 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). \end_layout \begin_layout Section \lang english Nutzungsarten von Verschlüsselung und Authentifizierung \end_layout \begin_layout Standard \lang english Zwei Arten von Verschlüsselung und Authentifzierung einer Verbindung sind möglich: \end_layout \begin_layout Subsection \lang english Transport-Modus \end_layout \begin_layout Standard \lang english 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). \end_layout \begin_layout Standard \lang english Bei Nutzung von AES-128 für Verschlüsselung und SHA1 für Authentifizierung reduziert dieser Modus die MTU um 42 Oktetts. \end_layout \begin_layout Subsection \lang english Tunnel-Modus \end_layout \begin_layout Standard \lang english 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 . \end_layout \begin_layout Standard \lang english Dieser Modus reduziert die MTU um weitere 40 Oktetts (bei IPv6), ausgehend von der MTU des Transport-Modus. \end_layout \begin_layout Section \lang english Unterstützung im Kernel (ESP und AH) \end_layout \begin_layout Subsection \lang english Unterstützung im vanilla Linux Kernel 2.4.x \end_layout \begin_layout Standard \lang english 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 \begin_inset CommandInset href LatexCommand href name "FreeS/WAN project" target "http://www.freeswan.org/" \end_inset nicht in die vanilla Quellen miteingebunden wurde. \end_layout \begin_layout Subsection \lang english Unterstützung im vanilla Linux kernel 2.6.x \end_layout \begin_layout Standard \lang english Aktuelle Versionen (zum Zeitpunkt des Schreibens 2.6.9 und neuer) unterstützt IPsec für IPv4 und IPv6. \end_layout \begin_layout Standard \lang english Die Implementierung wurde u.a. vom USAGI project unterstützt. \end_layout \begin_layout Section \lang english Automatischer Schlüssel-Austausch (IKE) \end_layout \begin_layout Standard \lang english IPsec benötigt einen Schlüsselaustausch mit einem \begin_inset Quotes sld \end_inset Geheimnis \begin_inset Quotes srd \end_inset . 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 \begin_inset Quotes sld \end_inset pre-shared secret \begin_inset Quotes srd \end_inset genannt) oder bei RSA-Schlüssel (z.B. aus X.509 Zertifikaten). \end_layout \begin_layout Standard \lang english Momentan stehen (für Linux) zwei verschiedene IKE-Daemons zur Verfügung, die aber sich ziemlich in Konfiguration und Benutzung unterscheiden. \end_layout \begin_layout Standard \lang english Ich präferiere \begin_inset Quotes sld \end_inset pluto \begin_inset Quotes srd \end_inset von der *S/WAN Implementierung, wei dieser eine überschaubare (und nur eine) Konfiguration. \end_layout \begin_layout Subsection \lang english IKE-Daemon \begin_inset Quotes sld \end_inset racoon \begin_inset Quotes srd \end_inset \end_layout \begin_layout Standard \lang english Der IKE-Daemon \begin_inset Quotes sld \end_inset racoon \begin_inset Quotes srd \end_inset ist vom KAME-Project und auf Linux portiert worden. Aktuelle Linux-Distributionen beinhalten diesen Daemon im Paket \begin_inset Quotes sld \end_inset ipsec-tools \begin_inset Quotes srd \end_inset . Zwei Programme sind für ein funktionierendes IPsec-Setup notwendig. Siehe dazu auch das \begin_inset CommandInset href LatexCommand href name "Linux Advanced Routing & Traffic Control HOWTO / IPSEC" target "http://lartc.org/howto/lartc.ipsec.html" \end_inset . \end_layout \begin_layout Subsubsection \lang english Manipulation der IPsec SA/SP Datenbank mit dem Werkzeug \begin_inset Quotes sld \end_inset setkey \begin_inset Quotes srd \end_inset \end_layout \begin_layout Standard \lang english \begin_inset Quotes sld \end_inset setkey \begin_inset Quotes srd \end_inset ist für die Definition der Security Policy (SP) im Kernel wichtig. \end_layout \begin_layout Standard \lang english Datei: /etc/racoon/setkey.sh \end_layout \begin_layout Itemize \lang english Beispiel für eine Ende-zu-Ende verschlüsselte Verbindung im Transport-Modus \end_layout \begin_layout Code #!/sbin/setkey -f \end_layout \begin_layout Code flush; \end_layout \begin_layout Code spdflush; \end_layout \begin_layout Code spdadd 2001:db8:1:1::1 2001:db8:2:2::2 any -P out ipsec esp/transport//require; \end_layout \begin_layout Code spdadd 2001:db8:2:2::2 2001:db8:1:1::1 any -P in ipsec esp/transport//require; \end_layout \begin_layout Code \end_layout \begin_layout Itemize \lang english Beispiel für eine Ende-zu-Ende verschlüsselte Verbindung im Tunnel-Modus \end_layout \begin_layout Code #!/sbin/setkey -f \end_layout \begin_layout Code flush; \end_layout \begin_layout Code spdflush; \end_layout \begin_layout Code spdadd 2001:db8:1:1::1 2001:db8:2:2::2 any -P out ipsec \end_layout \begin_layout Code ¬ esp/tunnel/2001:db8:1:1::1-2001:db8:2:2::2/require; \end_layout \begin_layout Code spdadd 2001:db8:2:2::2 2001:db8:1:1::1 any -P in ipsec \end_layout \begin_layout Code ¬ esp/tunnel/2001:db8:2:2::2-2001:db8:1:1::1/require; \end_layout \begin_layout Standard \lang english Beim anderen Partner ist \begin_inset Quotes sld \end_inset in \begin_inset Quotes srd \end_inset mit \begin_inset Quotes sld \end_inset out \begin_inset Quotes srd \end_inset zu vertauschen. \end_layout \begin_layout Subsubsection \lang english Konfiguration des IKE-Daemon \begin_inset Quotes sld \end_inset racoon \begin_inset Quotes srd \end_inset \end_layout \begin_layout Standard \lang english \begin_inset Quotes sld \end_inset racoon \begin_inset Quotes srd \end_inset benötigt eine Konfigurationsdatei zur Ausführung. Es beinhaltet zu der Security Policy entprechenden Einstellungen, welche vorher mit \begin_inset Quotes sld \end_inset setkey \begin_inset Quotes srd \end_inset definiert wurde. \end_layout \begin_layout Standard \lang english Datei: /etc/racoon/racoon.conf \end_layout \begin_layout Code # Racoon IKE daemon configuration file. \end_layout \begin_layout Code # See 'man racoon.conf' for a description of the format and entries. \end_layout \begin_layout Code path include "/etc/racoon"; \end_layout \begin_layout Code path pre_shared_key "/etc/racoon/psk.txt"; \end_layout \begin_layout Code \end_layout \begin_layout Code listen \end_layout \begin_layout Code { \end_layout \begin_layout Code isakmp 2001:db8:1:1::1; \end_layout \begin_layout Code } \end_layout \begin_layout Code \end_layout \begin_layout Code remote 2001:db8:2:2::2 \end_layout \begin_layout Code { \end_layout \begin_layout Code exchange_mode main; \end_layout \begin_layout Code lifetime time 24 hour; \end_layout \begin_layout Code proposal \end_layout \begin_layout Code { \end_layout \begin_layout Code encryption_algorithm 3des; \end_layout \begin_layout Code hash_algorithm md5; \end_layout \begin_layout Code authentication_method pre_shared_key; \end_layout \begin_layout Code dh_group 2; \end_layout \begin_layout Code } \end_layout \begin_layout Code } \end_layout \begin_layout Code \end_layout \begin_layout Code # gateway-to-gateway \end_layout \begin_layout Code sainfo address 2001:db8:1:1::1 any address 2001:db8:2:2::2 any \end_layout \begin_layout Code { \end_layout \begin_layout Code lifetime time 1 hour; \end_layout \begin_layout Code encryption_algorithm 3des; \end_layout \begin_layout Code authentication_algorithm hmac_md5; \end_layout \begin_layout Code compression_algorithm deflate; \end_layout \begin_layout Code } \end_layout \begin_layout Code \end_layout \begin_layout Code sainfo address 2001:db8:2:2::2 any address 2001:db8:1:1::1 any \end_layout \begin_layout Code { \end_layout \begin_layout Code lifetime time 1 hour; \end_layout \begin_layout Code encryption_algorithm 3des; \end_layout \begin_layout Code authentication_algorithm hmac_md5; \end_layout \begin_layout Code compression_algorithm deflate; \end_layout \begin_layout Code } \end_layout \begin_layout Standard \lang english Zudem muss das gemeinsame Geheimnis definiert werden: \end_layout \begin_layout Standard \lang english Datei: /etc/racoon/psk.txt \end_layout \begin_layout Code # file for pre-shared keys used for IKE authentication \end_layout \begin_layout Code # format is: 'identifier' 'key' \end_layout \begin_layout Code \end_layout \begin_layout Code 2001:db8:2:2::2 verysecret \end_layout \begin_layout Subsubsection \lang english IPsec mit IKE-Daemon \begin_inset Quotes sld \end_inset racoon \begin_inset Quotes srd \end_inset starten \end_layout \begin_layout Standard \lang english Zum Schluss muss der Daemon gestartet werden. Beim ersten Mal sollte Debug- & Vordergrund-Modus aktiviert werden. Das folgende Beispiel zeigt eine erfolgreiche Aushandlung von IKE-Phase 1 (ISAKMP-SA) und 2 (IPsec-SA): \end_layout \begin_layout Code # racoon -F -v -f /etc/racoon/racoon.conf \end_layout \begin_layout Code Foreground mode. \end_layout \begin_layout Code 2005-01-01 20:30:15: INFO: @(#)ipsec-tools 0.3.3 (http://ipsec-tools.sourceforge.net ) \end_layout \begin_layout Code 2005-01-01 20:30:15: INFO: @(#)This product linked \end_layout \begin_layout Code ¬ OpenSSL 0.9.7a Feb 19 2003 (http://www.openssl.org/) \end_layout \begin_layout Code 2005-01-01 20:30:15: INFO: 2001:db8:1:1::1[500] used as isakmp port (fd=7) \end_layout \begin_layout Code 2005-01-01 20:31:06: INFO: IPsec-SA request for 2001:db8:2:2::2 \end_layout \begin_layout Code ¬ queued due to no phase1 found. \end_layout \begin_layout Code 2005-01-01 20:31:06: INFO: initiate new phase 1 negotiation: \end_layout \begin_layout Code ¬ 2001:db8:1:1::1[500]<=>2001:db8:2:2::2[500] \end_layout \begin_layout Code 2005-01-01 20:31:06: INFO: begin Identity Protection mode. \end_layout \begin_layout Code 2005-01-01 20:31:09: INFO: ISAKMP-SA established \end_layout \begin_layout Code ¬ 2001:db8:1:1::1[500]-2001:db8:2:2::2[500] spi:da3d3693289c9698:ac039a402b2db40 1 \end_layout \begin_layout Code 2005-01-01 20:31:09: INFO: initiate new phase 2 negotiation: \end_layout \begin_layout Code ¬ 2001:6f8:900:94::2[0]<=>2001:db8:2:2::2[0] \end_layout \begin_layout Code 2005-01-01 20:31:10: INFO: IPsec-SA established: \end_layout \begin_layout Code ¬ ESP/Tunnel 2001:db8:2:2::2->2001:db8:1:1::1 spi=253935531(0xf22bfab) \end_layout \begin_layout Code 2005-01-01 20:31:10: INFO: IPsec-SA established: \end_layout \begin_layout Code ¬ ESP/Tunnel 2001:db8:1:1::1->2001:db8:2:2::2 spi=175002564(0xa6e53c4) \end_layout \begin_layout Standard \lang english Jede Richtung bekommt einen eigenen SPI (wie im IPsec-Standard definiert). Mit \begin_inset Quotes sld \end_inset tcpdump \begin_inset Quotes srd \end_inset kann an der entprechenden Schnittstelle dann das Ergebnis eines IPv6-pings gesehen werden: \end_layout \begin_layout Code 20:35:55.305707 2001:db8:1:1::1 > 2001:db8:2:2::2: ESP(spi=0x0a6e53c4,seq=0x3) \end_layout \begin_layout Code 20:35:55.537522 2001:db8:2:2::2 > 2001:db8:1:1::1: ESP(spi=0x0f22bfab,seq=0x3) \end_layout \begin_layout Standard \lang english Wie erwartet, werden die ausgehandelten SPIs angezeigt. \end_layout \begin_layout Standard \lang english Mit \begin_inset Quotes sld \end_inset setkey \begin_inset Quotes srd \end_inset werden die aktiven Parameter angezeigt: \end_layout \begin_layout Code # setkey -D \end_layout \begin_layout Code 2001:db8:1:1::1 2001:db8:2:2::2 \end_layout \begin_layout Code esp mode=tunnel spi=175002564(0x0a6e53c4) reqid=0(0x00000000) \end_layout \begin_layout Code E: 3des-cbc bd26bc45 aea0d249 ef9c6b89 7056080f 5d9fa49c 924e2edd \end_layout \begin_layout Code A: hmac-md5 60c2c505 517dd8b7 c9609128 a5efc2db \end_layout \begin_layout Code seq=0x00000000 replay=4 flags=0x00000000 state=mature \end_layout \begin_layout Code created: Jan 1 20:31:10 2005 current: Jan 1 20:40:47 2005 \end_layout \begin_layout Code diff: 577(s) hard: 3600(s) soft: 2880(s) \end_layout \begin_layout Code last: Jan 1 20:35:05 2005 hard: 0(s) soft: 0(s) \end_layout \begin_layout Code current: 540(bytes) hard: 0(bytes) soft: 0(bytes) \end_layout \begin_layout Code allocated: 3 hard: 0 soft: 0 \end_layout \begin_layout Code sadb_seq=1 pid=22358 refcnt=0 \end_layout \begin_layout Code 2001:db8:2:2::2 2001:db8:1:1::1 \end_layout \begin_layout Code esp mode=tunnel spi=253935531(0x0f22bfab) reqid=0(0x00000000) \end_layout \begin_layout Code E: 3des-cbc c1ddba65 83debd62 3f6683c1 20e747ac 933d203f 4777a7ce \end_layout \begin_layout Code A: hmac-md5 3f957db9 9adddc8c 44e5739d 3f53ca0e \end_layout \begin_layout Code seq=0x00000000 replay=4 flags=0x00000000 state=mature \end_layout \begin_layout Code created: Jan 1 20:31:10 2005 current: Jan 1 20:40:47 2005 \end_layout \begin_layout Code diff: 577(s) hard: 3600(s) soft: 2880(s) \end_layout \begin_layout Code last: Jan 1 20:35:05 2005 hard: 0(s) soft: 0(s) \end_layout \begin_layout Code current: 312(bytes) hard: 0(bytes) soft: 0(bytes) \end_layout \begin_layout Code allocated: 3 hard: 0 soft: 0 \end_layout \begin_layout Code sadb_seq=0 pid=22358 refcnt=0 \end_layout \begin_layout Subsection \lang english IKE-Daemon \begin_inset Quotes sld \end_inset pluto \begin_inset Quotes srd \end_inset \end_layout \begin_layout Standard \lang english Der IKE-Daemon \begin_inset Quotes sld \end_inset pluto \begin_inset Quotes srd \end_inset ist in den Paketen der *S/WAN-Projekte beinhaltet. Das *S/WAN-Projekt startete zu Anfags als \begin_inset CommandInset href LatexCommand href name "FreeS/WAN" target "http://www.freeswan.org/" \end_inset . Leider wurde die Weiterentwicklung von FreeS/WAN in 2004 eingestellt. Aufgrund der langsamen Entwicklungsgeschwindigkeit in der Vergangenheit entstanden zwei Spin-Offs: \begin_inset CommandInset href LatexCommand href name "strongSwan" target "http://www.strongswan.org/" \end_inset und \begin_inset CommandInset href LatexCommand href name "Openswan" target "http://www.openswan.org/" \end_inset . Heutzutage stehen installationsfertige Pakete bereit, u.a. von Openswan (in Fedora Core 3 beinhaltet). \end_layout \begin_layout Standard \lang english Ein großer Unterschied zu \begin_inset Quotes sld \end_inset racoon \begin_inset Quotes srd \end_inset ist, dass nur eine Konfigurationsdatei notwendig ist. Zudem steht ein initscript für automatisches Starten beim Booten zur Verfügung. \end_layout \begin_layout Subsubsection \lang english Konfiguration des IKE-Daemon \begin_inset Quotes sld \end_inset pluto \begin_inset Quotes srd \end_inset \end_layout \begin_layout Standard \lang english Die Konfiguration ist der zu IPv4 sehr ähnlich, nur eine wichtige Option ist notwendig. \end_layout \begin_layout Standard \lang english Datei: /etc/ipsec.conf \end_layout \begin_layout Code # /etc/ipsec.conf - Openswan IPsec configuration file \end_layout \begin_layout Code # \end_layout \begin_layout Code # Manual: ipsec.conf.5 \end_layout \begin_layout Code version 2.0 # conforms to second version of ipsec.conf specification \end_layout \begin_layout Code \end_layout \begin_layout Code # basic configuration \end_layout \begin_layout Code config setup \end_layout \begin_layout Code # Debug-logging controls: "none" for (almost) none, "all" for lots. \end_layout \begin_layout Code # klipsdebug=none \end_layout \begin_layout Code # plutodebug="control parsing" \end_layout \begin_layout Code \end_layout \begin_layout Code #Disable Opportunistic Encryption \end_layout \begin_layout Code include /etc/ipsec.d/examples/no_oe.conf \end_layout \begin_layout Code \end_layout \begin_layout Code conn ipv6-p1-p2 \end_layout \begin_layout Code connaddrfamily=ipv6 # Important for IPv6, but no longer needed since StrongSwan 4 \end_layout \begin_layout Code left=2001:db8:1:1::1 \end_layout \begin_layout Code right=2001:db8:2:2::2 \end_layout \begin_layout Code authby=secret \end_layout \begin_layout Code esp=aes128-sha1 \end_layout \begin_layout Code ike=aes128-sha-modp1024 \end_layout \begin_layout Code type=transport \end_layout \begin_layout Code #type=tunnel \end_layout \begin_layout Code compress=no \end_layout \begin_layout Code #compress=yes \end_layout \begin_layout Code auto=add \end_layout \begin_layout Code #auto=up \end_layout \begin_layout Code \end_layout \begin_layout Standard \lang english Zudem muss das gemeinsame Geheimnis definiert werden: \end_layout \begin_layout Standard \lang english Datei: /etc/ipsec.secrets \end_layout \begin_layout Code 2001:db8:1:1::1 2001:db8:2:2::2 : PSK "verysecret" \end_layout \begin_layout Subsubsection \lang english IPsec mit IKE daemon \begin_inset Quotes sld \end_inset pluto \begin_inset Quotes srd \end_inset starten \end_layout \begin_layout Standard \lang english 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: \end_layout \begin_layout Code # /etc/rc.d/init.d/ipsec start \end_layout \begin_layout Standard \lang english Danach kann die Verbindung auf einem Partner gestartet werden. Wenn im folgenden die Zeile \begin_inset Quotes sld \end_inset IPsec SA established \begin_inset Quotes srd \end_inset erscheint, hat die Aushandlung funktioniert. \end_layout \begin_layout Code # ipsec auto --up ipv6-peer1-peer2 \end_layout \begin_layout Code 104 "ipv6-p1-p2" #1: STATE_MAIN_I1: initiate \end_layout \begin_layout Code 106 "ipv6-p1-p2" #1: STATE_MAIN_I2: sent MI2, expecting MR2 \end_layout \begin_layout Code 108 "ipv6-p1-p2" #1: STATE_MAIN_I3: sent MI3, expecting MR3 \end_layout \begin_layout Code 004 "ipv6-p1-p2" #1: STATE_MAIN_I4: ISAKMP SA established \end_layout \begin_layout Code 112 "ipv6-p1-p2" #2: STATE_QUICK_I1: initiate \end_layout \begin_layout Code 004 "ipv6-p1-p2" #2: STATE_QUICK_I2: sent QI2, \end_layout \begin_layout Code ¬ IPsec SA established {ESP=>0xa98b7710 <0xa51e1f22} \end_layout \begin_layout Standard \lang english Weil *S/WAN und setkey/racoon die gleiche IPsec-Implementation im Linux kernel 2.6.x benutzen, zeigt \begin_inset Quotes sld \end_inset setkey \begin_inset Quotes srd \end_inset auch hier die aktiven Parameter: \end_layout \begin_layout Code # setkey -D \end_layout \begin_layout Code 2001:db8:1:1::1 2001:db8:2:2::2 \end_layout \begin_layout Code esp mode=transport spi=2844489488(0xa98b7710) reqid=16385(0x00004001) \end_layout \begin_layout Code E: aes-cbc 082ee274 2744bae5 7451da37 1162b483 \end_layout \begin_layout Code A: hmac-sha1 b7803753 757417da 477b1c1a 64070455 ab79082c \end_layout \begin_layout Code seq=0x00000000 replay=64 flags=0x00000000 state=mature \end_layout \begin_layout Code created: Jan 1 21:16:32 2005 current: Jan 1 21:22:20 2005 \end_layout \begin_layout Code diff: 348(s) hard: 0(s) soft: 0(s) \end_layout \begin_layout Code last: hard: 0(s) soft: 0(s) \end_layout \begin_layout Code current: 0(bytes) hard: 0(bytes) soft: 0(bytes) \end_layout \begin_layout Code allocated: 0 hard: 0 soft: 0 \end_layout \begin_layout Code sadb_seq=1 pid=23825 refcnt=0 \end_layout \begin_layout Code 2001:db8:2:2::2 2001:db8:1:1::1 \end_layout \begin_layout Code esp mode=transport spi=2770214690(0xa51e1f22) reqid=16385(0x00004001) \end_layout \begin_layout Code E: aes-cbc 6f59cc30 8d856056 65e07b76 552cac18 \end_layout \begin_layout Code A: hmac-sha1 c7c7d82b abfca8b1 5440021f e0c3b335 975b508b \end_layout \begin_layout Code seq=0x00000000 replay=64 flags=0x00000000 state=mature \end_layout \begin_layout Code created: Jan 1 21:16:31 2005 current: Jan 1 21:22:20 2005 \end_layout \begin_layout Code diff: 349(s) hard: 0(s) soft: 0(s) \end_layout \begin_layout Code last: hard: 0(s) soft: 0(s) \end_layout \begin_layout Code current: 0(bytes) hard: 0(bytes) soft: 0(bytes) \end_layout \begin_layout Code allocated: 0 hard: 0 soft: 0 \end_layout \begin_layout Code sadb_seq=0 pid=23825 refcnt=0 \end_layout \begin_layout Section \lang english Anmerkungen: \end_layout \begin_layout Standard \lang english Bei Linux Kernel 2.6.x kann der IPsec-Status und die Policy auch mit \begin_inset Quotes sld \end_inset ip \begin_inset Quotes srd \end_inset angezeigt werden: \end_layout \begin_layout Code # ip xfrm policy \end_layout \begin_layout Code ... \end_layout \begin_layout Code \end_layout \begin_layout Code # ip xfrm state \end_layout \begin_layout Code ... \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-qos" \end_inset Quality of Service (QoS) \end_layout \begin_layout Standard IPv6 unterstützt QoS durch die Anwendung von Flow Labels und Traffic Classes. \end_layout \begin_layout Standard Zusätzliche Infos: \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "RFC 3697 / IPv6 Flow Label Specification" target "http://www.faqs.org/rfcs/rfc3697.html" \end_inset \end_layout \begin_layout Section \lang english General \end_layout \begin_layout Standard \lang english 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. \end_layout \begin_layout Code ------------------->------- \end_layout \begin_layout Code Queue 1 \backslash \end_layout \begin_layout Code --->--- ---->--------->--------->------------------- \end_layout \begin_layout Code Dicke Leitung Queue 2 Queue 1 / Queue 2 / Queue 3 Dünne Leitung \end_layout \begin_layout Code --->---- ---->--------->--------->------------------- \end_layout \begin_layout Code Queue 3 / \end_layout \begin_layout Code ------------------->------- \end_layout \begin_layout Section \lang english Linux QoS mit \begin_inset Quotes sld \end_inset tc \begin_inset Quotes srd \end_inset \end_layout \begin_layout Standard \lang english Linux benutzt \begin_inset Quotes sld \end_inset tc \begin_inset Quotes srd \end_inset vom Paket \begin_inset Quotes sld \end_inset iproute2 \begin_inset Quotes srd \end_inset , um das Bandbreitenmanagement zu konfigurieren, allgemein beschrieben in \begin_inset CommandInset href LatexCommand href name "Linux Advanced Routing & Traffic Control HOWTO" target "http://lartc.org/" \end_inset . \end_layout \begin_layout Subsection \lang english Beispiel für eine Warteschlange mit konstanter Bitrate \end_layout \begin_layout Standard \lang english Mit dem \begin_inset Quotes sld \end_inset cbq \begin_inset Quotes srd \end_inset Planer können Röhren mit konstanter Bitrate definiert werden. \end_layout \begin_layout Subsubsection \lang english Root qdisc Definition \end_layout \begin_layout Standard \lang english Definition einer root qdisc mit einer Bandbreite von 1000 MBit/s an eth1 \end_layout \begin_layout Code # tc qdisc add dev eth1 root handle 1: cbq avpkt 1000 bandwidth 1000Mbit \end_layout \begin_layout Subsubsection \lang english QoS class Definition \end_layout \begin_layout Standard \lang english Definition einer Klasse 1:1 mit 1 MBit/s \end_layout \begin_layout Code # tc class add dev eth1 parent 1: classid 1:1 cbq rate 1Mbit allot 1500 bounded \end_layout \begin_layout Standard \lang english Definition einer Klasse 1:2 mit 50 MBit/s \end_layout \begin_layout Code # tc class add dev eth1 parent 1: classid 1:2 cbq rate 50Mbit allot 1500 bounded \end_layout \begin_layout Standard \lang english Definition einer Klasse 1:3 mit 10 MBit/s \end_layout \begin_layout Code # tc class add dev eth1 parent 1: classid 1:3 cbq rate 10Mbit allot 1500 bounded \end_layout \begin_layout Standard \lang english Definition einer Klasse 1:4 mit 200 kBit/s \end_layout \begin_layout Code # tc class add dev eth1 parent 1: classid 1:4 cbq rate 200kbit allot 1500 bounded \end_layout \begin_layout Subsubsection \lang english QoS filter Definition \end_layout \begin_layout Standard \lang english Definition eines Filters für IPv4 ( \emph on protocol ip \emph default ), TCP ( \emph on match ip protocol 6 0xff \emph default ) Zielport 5001 ( \emph on match ip dport 5001 0xffff \emph default ) unter Benutzung der Klasse 1:2 von oben \end_layout \begin_layout Code # tc filter add dev eth1 parent 1: protocol ip u32 match ip protocol 6 0xff match ip dport 5001 0xffff flowid 1:1 \end_layout \begin_layout Standard \lang english Definition eines Filters für IPv6 ( \emph on protocol ip \emph default ), TCP ( \emph on match ip6 protocol 6 0xff \emph default ) Zielport 5001 unter der Benutzung der Klasse 1:2 von oben \end_layout \begin_layout Code # tc filter add dev eth1 parent 1: protocol ipv6 u32 match ip6 protocol 6 0xff match ip6 dport 5001 0xffff flowid 1:2 \end_layout \begin_layout Standard \lang english Definition eines Filters für IPv6 für Pakete mit Flowlabel 12345 ( \emph on match ip6 flowlabel 0x12345 0x3ffff \emph default ) unter der Benutzung der Klasse 1:3 von oben \end_layout \begin_layout Code # tc filter add dev eth1 parent 1: protocol ipv6 u32 match ip6 flowlabel 12345 0x3ffff flowid 1:3 \end_layout \begin_layout Standard \lang english Definition eines Filters für IPv6 für Pakete mit der Linux iptables Markierung 32 ( \emph on handle 32 fw \emph default ) unter der Benutzung der Klasse 1:4 von oben \end_layout \begin_layout Code # tc filter add dev eth1 parent 1: protocol ipv6 handle 32 fw flowid 1:4 \end_layout \begin_layout Standard \lang english Die letzte Filterdefinition benötigt auch einen Eintrag in ip6tables um das Paket zu markieren \end_layout \begin_layout Code # ip6tables -A POSTROUTING -t mangle -p tcp --dport 5003 -j MARK --set-mark 32 \end_layout \begin_layout Subsubsection \lang english Testen der Filterdefinition mit iperf \end_layout \begin_layout Standard \lang english Starten auf Serverseite in separaten Konsolen: \end_layout \begin_layout Code # iperf -V -s -p 5001 \end_layout \begin_layout Code # iperf -V -s -p 5002 \end_layout \begin_layout Code # iperf -V -s -p 5003 \end_layout \begin_layout Standard \lang english Starten auf Clientseite und Vergleichen der Ergebnisse: \end_layout \begin_layout Code # iperf -V -c SERVER-IPv4 -p 5001 (erwartet: 1 MBit/s) \end_layout \begin_layout Code # iperf -V -c SERVER-IPv6 -p 5001 (erwartet: 50 MBit/s) \end_layout \begin_layout Code # iperf -V -c SERVER-IPv4 -p 5002 (erwartet: >> 50 MBit/s && <= 1000 MBit/s) \end_layout \begin_layout Code # iperf -V -c SERVER-IPv6 -p 5002 (erwartet: >> 50 MBit/s && <= 1000 MBit/s) \end_layout \begin_layout Code # iperf -V -c SERVER-IPv4 -p 5003 (erwartet: >> 50 MBit/s && <= 1000 MBit/s) \end_layout \begin_layout Code # iperf -V -c SERVER-IPv6 -p 5003 (erwartet: 200 kBit/s) \end_layout \begin_layout Standard \lang english 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. \end_layout \begin_layout Standard \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-hints-daemons" \end_inset Hinweise zu IPv6 kompatiblen Daemons \end_layout \begin_layout Standard Im folgenden Kapitel werden einige Hinweise zu IPv6 kompatiblen Daemons gegeben. \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "hints-daemons-bind" \end_inset Berkeley Internet Name Domain (BIND) daemon \begin_inset Quotes sld \end_inset named \begin_inset Quotes srd \end_inset \end_layout \begin_layout Standard 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. \end_layout \begin_layout Subsection Auf IPv6 Adressen hören \end_layout \begin_layout Standard Anmerkung: Im Gegensatz zu IPv4 können bei aktuellen Versionen Server Sockets nicht an dedizierte IPv6 Adressen gebunden werden, es ist folglich \emph on jede \emph default oder \emph on keine \emph default Adresse gültig. Da dies ein Sicherheitsproblem sein kann, lesen Sie diesbezüglich ebenfalls den Abschnitt Access Control Lists (ACL) weiter unten! \end_layout \begin_layout Subsubsection BIND named konfigurieren, damit er auf IPv6 Adressen antwortet \end_layout \begin_layout Standard Folgende Optionen müssen geändert werden, damit IPv6 aktiviert wird \end_layout \begin_layout Code options { \end_layout \begin_layout Code # sure other options here, too \end_layout \begin_layout Code listen-on-v6 { any; }; \end_layout \begin_layout Code }; \end_layout \begin_layout Standard Nach einem Neustart (des Dienstes) sollte z.B. Folgendes zu sehen sein: \end_layout \begin_layout Code # netstat -lnptu |grep "named \backslash W*$" \end_layout \begin_layout Code tcp 0 0 :::53 :::* LISTEN 1234/named \end_layout \begin_layout Code ¬ # incoming TCP requests \end_layout \begin_layout Code udp 0 0 1.2.3.4:53 0.0.0.0:* 1234/named \end_layout \begin_layout Code ¬ # incoming UDP requests to IPv4 1.2.3.4 \end_layout \begin_layout Code udp 0 0 127.0.0.1:53 0.0.0.0:* 1234/named \end_layout \begin_layout Code ¬ # incoming UDP requests to IPv4 localhost \end_layout \begin_layout Code udp 0 0 0.0.0.0:32868 0.0.0.0:* 1234/named \end_layout \begin_layout Code ¬ # dynamic chosen port for outgoing queries \end_layout \begin_layout Code udp 0 0 :::53 :::* 1234/named \end_layout \begin_layout Code ¬ # incoming UDP request to any IPv6 \end_layout \begin_layout Standard Ein kleiner Test sieht wie folgt aus: \end_layout \begin_layout Code # dig localhost @::1 \end_layout \begin_layout Standard und sollte Ihnen ein Ergebnis anzeigen... \end_layout \begin_layout Subsubsection BIND named konfigurieren, damit er auf IPv6 Adressen nicht antwortet \end_layout \begin_layout Standard Folgende Optionen müssen geändert werden, damit IPv6 deaktiviert wird: \end_layout \begin_layout Code options { \end_layout \begin_layout Code # sure other options here, too \end_layout \begin_layout Code listen-on-v6 { none; }; \end_layout \begin_layout Code }; \end_layout \begin_layout Subsection Access Control Lists (ACL) mit IPv6 Unterstützung \end_layout \begin_layout Standard ACLs mit IPv6 Adressen sind realisierbar und sollten wann immer möglich eingesetzt werden. Ein Beispiel: \end_layout \begin_layout Code acl internal-net { \end_layout \begin_layout Code 127.0.0.1; \end_layout \begin_layout Code 1.2.3.0/24; \end_layout \begin_layout Code 2001:0db8:100::/56; \end_layout \begin_layout Code ::1/128; \end_layout \begin_layout Code ::ffff:1.2.3.4/128; \end_layout \begin_layout Code }; \end_layout \begin_layout Code acl ns-internal-net { \end_layout \begin_layout Code 1.2.3.4; \end_layout \begin_layout Code 1.2.3.5; \end_layout \begin_layout Code 2001:0db8:100::4/128; \end_layout \begin_layout Code 2001:0db8:100::5/128; \end_layout \begin_layout Code }; \end_layout \begin_layout Standard 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. \end_layout \begin_layout Code options { \end_layout \begin_layout Code # sure other options here, too \end_layout \begin_layout Code listen-on-v6 { none; }; \end_layout \begin_layout Code allow-query { internal-net; }; \end_layout \begin_layout Code allow-transfer { ns-internal-net; }; \end_layout \begin_layout Code }; \end_layout \begin_layout Standard Es ist ebenfalls möglich, dass die Optionen \emph on allow-query \emph default und \emph on allow-transfer \emph default bei den meisten Single-Zonen-Definitionen verwendet werden. \end_layout \begin_layout Subsection Anfragen mit festen IPv6 Adressen senden \end_layout \begin_layout Standard Diese Option ist nicht verpflichtend, ev. aber benötigt: \end_layout \begin_layout Code query-source-v6 address port ; \end_layout \begin_layout Subsection Pro Zone definierte feste IPv6 Adressen \end_layout \begin_layout Standard Es ist möglich pro Zone mehrere IPv6 Adressen zu definieren. \end_layout \begin_layout Subsubsection Transfer source Adresse \end_layout \begin_layout Standard Die Transfer source Adresse wird für ausgehende Zonentransfers verwendet: \end_layout \begin_layout Code transfer-source-v6 [port port]; \end_layout \begin_layout Subsubsection Notify source Adresse \end_layout \begin_layout Standard Die Notify source Adresse wird für ausgehende notify Mitteilungen verwendet: \end_layout \begin_layout Code notify-source-v6 [port port]; \end_layout \begin_layout Subsection IPv6 DNS zone files Beispiele \end_layout \begin_layout Standard Einige Informationen finden Sie auch unter \begin_inset CommandInset href LatexCommand href name "IPv6 DNS Setup Information (article)" target "http://www.isi.edu/~bmanning/v6DNS.html" \end_inset . Eventuell ebenfalls hilfreich ist folgendes Tool: \begin_inset CommandInset href LatexCommand href name "IPv6 Reverse DNS zone builder for BIND 8/9 (webtool)" target "http://tools.fpsn.net/ipv6-inaddr/" \end_inset . \end_layout \begin_layout Subsection IPv6 bezogene DNS-Daten bereitstellen \end_layout \begin_layout Standard Für IPv6 wurden neue Reverse Lookup Arten und Root Zonen definiert: \end_layout \begin_layout Itemize AAAA und reverse IP6.INT: beschrieben in \begin_inset CommandInset href LatexCommand href name "RFC 1886 / DNS Extensions to support IP version 6" target "http://www.faqs.org/rfcs/rfc1886.html" \end_inset sowie seit BIND Version 4.9.6 in Verwendung \end_layout \begin_layout Itemize A6, DNAME (WURDE ABGELEHNT!) und reverse IP6.ARPA: beschrieben in \begin_inset CommandInset href LatexCommand href name "RFC 2874 / DNS Extensions to Support IPv6 Address Aggregation and Renumbering" target "http://www.faqs.org/rfcs/rfc2874.html" \end_inset sowie seit BIND 9 in Verwendung. Informationen zum aktuellen Stand sind unter \begin_inset CommandInset href LatexCommand href name "Domain Name System Extension (dnsext)" target "http://www.ietf.org/ids.by.wg/dnsext.html" \end_inset zu finden. \end_layout \begin_layout Standard Mehr Inhalt zu diesem Thema wird eventuell in späteren Versionen eingearbeitet, inzwischen können Sie in den RFCs und in folgenden Quellen nachlesen: \end_layout \begin_layout Itemize AAAA und reverse IP6.INT: \begin_inset CommandInset href LatexCommand href name "IPv6 DNS Setup Information" target "http://www.isi.edu/~bmanning/v6DNS.html" \end_inset \end_layout \begin_layout Itemize 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: \lang english \begin_inset CommandInset href LatexCommand href name "BIND manual version 9.3" target "http://www.isc.org/sw/bind/arm93/" \end_inset \end_layout \begin_layout Standard 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. \end_layout \begin_layout Subsubsection Aktuell beste Praxis \end_layout \begin_layout Standard Da es mit den neuen Formaten noch Probleme gibt, ist die aktuell beste Praxis: \end_layout \begin_layout Standard Vorwärts-Auflösung mit: \end_layout \begin_layout Itemize AAAA \end_layout \begin_layout Standard Rückwärts-Auflösung mit: \end_layout \begin_layout Itemize Reverse nibble format für die Zone ip6.int (FÜR RÜCKWÄRTSKOMPATIBILITÄT) \end_layout \begin_layout Itemize Reverse nibble format für die Zone ip6.arpa (EMPFHOHLEN) \end_layout \begin_layout Subsection IPv6 Verbindung überprüfen \end_layout \begin_layout Standard Ob BIND auf einen IPv6 socket hört bzw. IPv6 Daten bereitstellt, können Sie anhand folgender Beispiele überprüfen. \end_layout \begin_layout Subsubsection IPv6 Verbindung durch ACL abgelehnt \end_layout \begin_layout Standard Eine IPv6 Verbindung kann durch Angabe eines dedizierten Server, der abgefragt werden soll, erzwungen werden: \end_layout \begin_layout Code $ host -t aaaa www.6bone.net 2001:0db8:200:f101::1 \end_layout \begin_layout Code Using domain server: \end_layout \begin_layout Code Name: 2001:0db8:200:f101::1 \end_layout \begin_layout Code Address: 2001:0db8:200:f101::1#53 \end_layout \begin_layout Code Aliases: \end_layout \begin_layout Code \end_layout \begin_layout Code Host www.6bone.net. not found: 5(REFUSED) \end_layout \begin_layout Standard Ein entsprechender Log-Eintrag sieht wie folgt aus: \end_layout \begin_layout Code Jan 3 12:43:32 gate named[12347]: client \end_layout \begin_layout Code ¬ 2001:0db8:200:f101:212:34ff:fe12:3456#32770: \end_layout \begin_layout Code query denied \end_layout \begin_layout Standard 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. \end_layout \begin_layout Subsubsection Erfolgreiche IPv6 Verbindung \end_layout \begin_layout Standard Eine erfolgreiche IPv6 Verbindung sieht wie folgt aus: \end_layout \begin_layout Code $ host -t aaaa www.6bone.net 2001:0db8:200:f101::1 \end_layout \begin_layout Code Using domain server: \end_layout \begin_layout Code Name: 2001:0db8:200:f101::1 \end_layout \begin_layout Code Address: 2001:0db8:200:f101::1#53 \end_layout \begin_layout Code Aliases: \end_layout \begin_layout Code \end_layout \begin_layout Code www.6bone.net. is an alias for 6bone.net. \end_layout \begin_layout Code 6bone.net. has AAAA address 3ffe:b00:c18:1::10 \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "hints-daemons-xinetd" \end_inset Internet super daemon (xinetd) \end_layout \begin_layout Standard IPv6 wird ungefähr seit der \begin_inset CommandInset href LatexCommand href name "xinetd" target "http://www.xinetd.org/" \end_inset 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 entspreche nd ausgenutzt werden können. \end_layout \begin_layout Standard 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. \end_layout \begin_layout Standard Wenn Sie nun einen "eingebauten" Service wie z.B. daytime durch folgende Änderung der Konfigurationsdatei /etc/xinetd.d/daytime aktivieren \end_layout \begin_layout Code # diff -u /etc/xinetd.d/daytime.orig /etc/xinetd.d/daytime \end_layout \begin_layout Code --- /etc/xinetd.d/daytime.orig Sun Dec 16 19:00:14 2001 \end_layout \begin_layout Code +++ /etc/xinetd.d/daytime Sun Dec 16 19:00:22 2001 \end_layout \begin_layout Code @@ -10,5 +10,5 @@ \end_layout \begin_layout Code protocol = tcp \end_layout \begin_layout Code user = root \end_layout \begin_layout Code wait = no \end_layout \begin_layout Code - disable = yes \end_layout \begin_layout Code + disable = no \end_layout \begin_layout Code } \end_layout \begin_layout Standard dann sollten Sie nach einem Neustart des xinetd-Dienstes z.B. folgendes positive Ergebnis sehen: \end_layout \begin_layout Code # netstat -lnptu -A inet6 |grep "xinetd*" \end_layout \begin_layout Code tcp 0 0 ::ffff:192.168.1.1:993 :::* LISTEN 12345/xinetd-ipv6 \end_layout \begin_layout Code tcp 0 0 :::13 :::* LISTEN 12345/xinetd-ipv6 <- service \end_layout \begin_layout Code ¬ daytime/tcp \end_layout \begin_layout Code tcp 0 0 ::ffff:192.168.1.1:143 :::* LISTEN 12345/xinetd-ipv6 \end_layout \begin_layout Standard Das Beispiel zeigt auch die xinetd Dienste IMAP und IMAP-SSL, die nur auf IPv4 Adressen hören. \end_layout \begin_layout Standard \lang english 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-aktivier te nicht bei einem Knoten, der nur IPv4 aktiv hatte. Dies sollte aber mindestens seit Version 2.3.11 gefixt sein. \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "hints-daemons-apache2" \end_inset Webserver Apache2 (httpd2) \end_layout \begin_layout Standard 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 \begin_inset CommandInset href LatexCommand href name "KAME / Misc" target "ftp://ftp.kame.net/pub/kame/misc/" \end_inset . \end_layout \begin_layout Subsection Auf IPv6 Adressen hören \end_layout \begin_layout Standard 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. \end_layout \begin_layout Subsubsection Virtueller Host mit IPv6 Adresse \end_layout \begin_layout Code Listen [2001:0db8:100::1]:80 \end_layout \begin_layout Code \end_layout \begin_layout Code ServerName ipv6only.yourdomain.yourtopleveldomain \end_layout \begin_layout Code # ...sure more config lines \end_layout \begin_layout Code \end_layout \begin_layout Subsubsection Virtueller Host mit IPv4 und IPv6 Adresse \end_layout \begin_layout Code Listen [2001:0db8:100::2]:80 \end_layout \begin_layout Code Listen 1.2.3.4:80 \end_layout \begin_layout Code \end_layout \begin_layout Code ServerName ipv6andipv4.yourdomain.yourtopleveldomain \end_layout \begin_layout Code # ...sure more config lines \end_layout \begin_layout Code \end_layout \begin_layout Standard Das Ergebnis sollten nach einen Neustart des Dienstes etwa Folgendes sein: \end_layout \begin_layout Code # netstat -lnptu |grep "httpd2 \backslash W*$" \end_layout \begin_layout Code tcp 0 0 1.2.3.4:80 0.0.0.0:* LISTEN 12345/httpd2 \end_layout \begin_layout Code tcp 0 0 2001:0db8:100::1:80 :::* LISTEN 12345/httpd2 \end_layout \begin_layout Code tcp 0 0 2001:0db8:100::2:80 :::* LISTEN 12345/httpd2 \end_layout \begin_layout Standard Für einfache Tests können Sie auf das bereits gezeigte telnet-Beispiel zurückgre ifen. \end_layout \begin_layout Subsubsection \lang english Zusätzliche Anmerkungen \end_layout \begin_layout Standard \lang english Apache2 unterstützt eine Methode namens \begin_inset Quotes sld \end_inset sendfile \begin_inset Quotes srd \end_inset , 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-Checksum men führen. In diesen Fällen ist \begin_inset Quotes sld \end_inset sendfile \begin_inset Quotes srd \end_inset zu deaktivieren, entweder durch Rekompilieren unter der Benützung der configure -Option \begin_inset Quotes sld \end_inset --without-sendfile \begin_inset Quotes srd \end_inset oder durch Benützung der Direktive "EnableSendfile off" in der Konfigurationsda tei. \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "hints-daemons-radvd" \end_inset Router Advertisement Daemon (radvd) \end_layout \begin_layout Standard 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). \end_layout \begin_layout Standard Sie können einige Flags und Informationen im Advertisement spezifizieren. Allgemein werden verwendet: \end_layout \begin_layout Itemize Präfix (notwendige Angabe) \end_layout \begin_layout Itemize Lebensdauer des Präfix \end_layout \begin_layout Itemize Intervall der Advertisements (optional) \end_layout \begin_layout Standard 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. \end_layout \begin_layout Subsection radvd konfigurieren \end_layout \begin_layout Subsubsection Einfache Konfiguration \end_layout \begin_layout Standard Die Konfigurationsdatei des radvd ist normalerweise die Datei /etc/radvd.conf. Eine einfache Konfiguration sieht wie folgt aus: \end_layout \begin_layout Code interface eth0 { \end_layout \begin_layout Code AdvSendAdvert on; \end_layout \begin_layout Code MinRtrAdvInterval 3; \end_layout \begin_layout Code MaxRtrAdvInterval 10; \end_layout \begin_layout Code prefix 2001:0db8:0100:f101::/64 { \end_layout \begin_layout Code AdvOnLink on; \end_layout \begin_layout Code AdvAutonomous on; \end_layout \begin_layout Code AdvRouterAddr on; \end_layout \begin_layout Code }; \end_layout \begin_layout Code }; \end_layout \begin_layout Standard Als Ergebnis auf der Client-Seite ergibt sich hieraus: \end_layout \begin_layout Code # ip -6 addr show eth0 \end_layout \begin_layout Code 3: eth0: mtu 1500 qdisc pfifo_fast qlen 100 \end_layout \begin_layout Code inet6 2001:0db8:100:f101:2e0:12ff:fe34:1234/64 scope global dynamic \end_layout \begin_layout Code valid_lft 2591992sec preferred_lft 604792sec \end_layout \begin_layout Code inet6 fe80::2e0:12ff:fe34:1234/10 scope link \end_layout \begin_layout Standard Ein hoher Wert für die Lebensdauer wurde verwendet, da der Wert nicht manuell konfiguriert wurde. \end_layout \begin_layout Subsubsection Spezielle 6to4 Konfiguration \end_layout \begin_layout Standard 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: \end_layout \begin_layout Code interface eth0 { \end_layout \begin_layout Code AdvSendAdvert on; \end_layout \begin_layout Code MinRtrAdvInterval 3; \end_layout \begin_layout Code MaxRtrAdvInterval 10; \end_layout \begin_layout Code prefix 0:0:0:f101::/64 { \end_layout \begin_layout Code AdvOnLink off; \end_layout \begin_layout Code AdvAutonomous on; \end_layout \begin_layout Code AdvRouterAddr on; \end_layout \begin_layout Code Base6to4Interface ppp0; \end_layout \begin_layout Code AdvPreferredLifetime 20; \end_layout \begin_layout Code AdvValidLifetime 30; \end_layout \begin_layout Code }; \end_layout \begin_layout Code }; \end_layout \begin_layout Standard Das Ergebnis auf Clientseite ist (unter der Annahme, dass ppp0 die lokale IPv4 Adresse 1.2.3.4 hat): \end_layout \begin_layout Code # /sbin/ip -6 addr show eth0 \end_layout \begin_layout Code 3: eth0: mtu 1500 qdisc pfifo_fast qlen 100 \end_layout \begin_layout Code inet6 2002:0102:0304:f101:2e0:12ff:fe34:1234/64 scope global dynamic \end_layout \begin_layout Code valid_lft 22sec preferred_lft 12sec \end_layout \begin_layout Code inet6 fe80::2e0:12ff:fe34:1234/10 scope link \end_layout \begin_layout Standard Da eine kurze Lebensdauer definiert wurde, wird das Präfix bald verworfen werden, sollte kein entsprechendes Advertisement empfangen werden. \end_layout \begin_layout Standard \lang english 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: \end_layout \begin_layout Code # /sbin/ip -6 route add 2002:0102:0304:f101::/64 dev eth0 metric 1 \end_layout \begin_layout Standard \lang english 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. \end_layout \begin_layout Subsection Fehlersuche \end_layout \begin_layout Standard Mit dem Programm \begin_inset Quotes sld \end_inset radvdump \begin_inset Quotes srd \end_inset können Sie gesendete und empfangene Advertisements detailliert betrachten. Die Anwendung ist einfach: \end_layout \begin_layout Code # radvdump \end_layout \begin_layout Code Router advertisement from fe80::280:c8ff:feb9:cef9 (hoplimit 255) \end_layout \begin_layout Code AdvCurHopLimit: 64 \end_layout \begin_layout Code AdvManagedFlag: off \end_layout \begin_layout Code AdvOtherConfigFlag: off \end_layout \begin_layout Code AdvHomeAgentFlag: off \end_layout \begin_layout Code AdvReachableTime: 0 \end_layout \begin_layout Code AdvRetransTimer: 0 \end_layout \begin_layout Code Prefix 2002:0102:0304:f101::/64 \end_layout \begin_layout Code AdvValidLifetime: 30 \end_layout \begin_layout Code AdvPreferredLifetime: 20 \end_layout \begin_layout Code AdvOnLink: off \end_layout \begin_layout Code AdvAutonomous: on \end_layout \begin_layout Code AdvRouterAddr: on \end_layout \begin_layout Code Prefix 2001:0db8:100:f101::/64 \end_layout \begin_layout Code AdvValidLifetime: 2592000 \end_layout \begin_layout Code AdvPreferredLifetime: 604800 \end_layout \begin_layout Code AdvOnLink: on \end_layout \begin_layout Code AdvAutonomous: on \end_layout \begin_layout Code AdvRouterAddr: on \end_layout \begin_layout Code AdvSourceLLAddress: 00 80 12 34 56 78 \end_layout \begin_layout Standard 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...) \end_layout \begin_layout Section \lang english \begin_inset CommandInset label LatexCommand label name "hints-daemons-dhcpv6" \end_inset Dynamic Host Configuration v6 Server (dhcp6s) \end_layout \begin_layout Standard \lang english dhcp6s kann für stateful Konfiguration benutzt werden. Der Daemon selbst muß nicht unbedingt auf dem Linux-Standard-Router laufen. \end_layout \begin_layout Standard \lang english Man kann hier mehr Informationen als bei radvd spezifizieren. Die meisten sind denen des IPv4 DHCP-Servers ähnlich. \end_layout \begin_layout Standard \lang english Nach einer passenden Konfiguration reagiert der Daemon auf empfangene IPv6-Multi cast-Pakete, die von einem Client an die Adresse ff02::1:2 gesendet werden. \end_layout \begin_layout Subsection \lang english Konfiguration des DHCPv6-Servers (dhcp6s) \end_layout \begin_layout Subsubsection \lang english Einfache Konfiguration \end_layout \begin_layout Standard \lang english Die Konfigurationsdatei des dhcp6s ist normalerweise /etc/dhcp6s.conf. Ein einfaches Beispiel sieht wie folgt aus: \end_layout \begin_layout Code interface eth0 { \end_layout \begin_layout Code server-preference 255; \end_layout \begin_layout Code renew-time 60; \end_layout \begin_layout Code rebind-time 90; \end_layout \begin_layout Code prefer-life-time 130; \end_layout \begin_layout Code valid-life-time 200; \end_layout \begin_layout Code allow rapid-commit; \end_layout \begin_layout Code option dns_servers 2001:db8:0:f101::1 sub.domain.example; \end_layout \begin_layout Code link AAA { \end_layout \begin_layout Code range 2001:db8:0:f101::1000 to 2001:db8:0:f101::ffff/64; \end_layout \begin_layout Code prefix 2001:db8:0:f101::/64; \end_layout \begin_layout Code }; \end_layout \begin_layout Code }; \end_layout \begin_layout Subsection \lang english Konfiguration des DHCPv6-Client (dhcp6s) \end_layout \begin_layout Subsubsection \lang english Einfache Konfiguration \end_layout \begin_layout Standard \lang english Die Konfigurationsdatei von dhcp6c ist normalerweise /etc/dhcp6c.conf. Ein einfaches Beispiel sieht wie folgt aus: \end_layout \begin_layout Code interface eth0 { \end_layout \begin_layout Code send rapid-commit; \end_layout \begin_layout Code request domain-name-servers; \end_layout \begin_layout Code }; \end_layout \begin_layout Subsection \lang english Benutzung \end_layout \begin_layout Subsubsection \lang english dhcp6s \end_layout \begin_layout Standard \lang english Starten des Servers, z.B. durch \end_layout \begin_layout Code # service dhcp6s start \end_layout \begin_layout Subsubsection \lang english dhcp6c \end_layout \begin_layout Standard \lang english Starten des Clients im Vordergrund, z.B. durch \end_layout \begin_layout Code # dhcp6c -f eth0 \end_layout \begin_layout Code ... \end_layout \begin_layout Subsection \lang english Fehlersuche \end_layout \begin_layout Subsubsection \lang english dhcp6s \end_layout \begin_layout Standard \lang english Der Server hat einen Vordergrund und zwei Debug-Schalter (von denen beide benutzt werden sollten), hier ein Beispiel: \end_layout \begin_layout Code # dhcp6c -d -D -f eth0 \end_layout \begin_layout Subsubsection \lang english dhcp6c \end_layout \begin_layout Standard \lang english Mit einem IPv6 Ping an die DHCP Multicast-Adresse kann getestet werden, ob der IPv6 DHCP Server überhaupt erreichbar ist am Link. \end_layout \begin_layout Code # ping6 -I eth0 ff02::1:2 \end_layout \begin_layout Standard \lang english Der Client hat einen Vordergrund und zwei Debug-Schalter, hier ein Beispiel: \end_layout \begin_layout Code # dhcp6c -d -f eth0 \end_layout \begin_layout Code Oct/03/2005 17:18:16 dhcpv6 doesn't support hardware type 776 \end_layout \begin_layout Code Oct/03/2005 17:18:16 doesn't support sit0 address family 0 \end_layout \begin_layout Code Oct/03/2005 17:18:16 netlink_recv_rtgenmsg error \end_layout \begin_layout Code Oct/03/2005 17:18:16 netlink_recv_rtgenmsg error \end_layout \begin_layout Code Oct/03/2005 17:18:17 status code for this address is: success \end_layout \begin_layout Code Oct/03/2005 17:18:17 status code: success \end_layout \begin_layout Code Oct/03/2005 17:18:17 netlink_recv_rtgenmsg error \end_layout \begin_layout Code Oct/03/2005 17:18:17 netlink_recv_rtgenmsg error \end_layout \begin_layout Code 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 \end_layout \begin_layout Code Oct/03/2005 17:18:17 renew time 60, rebind time 9 \end_layout \begin_layout Standard \lang english Bemerkung: die netlink-Fehlermeldungen haben keinen Einfluß auf die Funktionalit ät. \end_layout \begin_layout Section \lang english \begin_inset CommandInset label LatexCommand label name "hints-daemons-isc-dhcp" \end_inset ISC Dynamic Host Configuration Server (dhcpd) \end_layout \begin_layout Standard \lang english ISC DHCP unterstützt IPv6 seit der Version 4.x. \end_layout \begin_layout Subsection \lang english Konfiguration des ISC DHCP Server für IPv6 (dhcpd) \end_layout \begin_layout Standard \lang english 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 \begin_inset Quotes sld \end_inset -6 \begin_inset Quotes srd \end_inset ) um beide Protokolle zu unterstützen. \end_layout \begin_layout Subsubsection \lang english Einfache Configuration \end_layout \begin_layout Standard \lang english 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ß. \end_layout \begin_layout Code default-lease-time 600; \end_layout \begin_layout Code max-lease-time 7200; \end_layout \begin_layout Code log-facility local7; \end_layout \begin_layout Code subnet6 2001:db8:0:1::/64 { \end_layout \begin_layout Code # Range for clients \end_layout \begin_layout Code range6 2001:db8:0:1::129 2001:db8:0:1::254; \end_layout \begin_layout Code \end_layout \begin_layout Code # Range for clients requesting a temporary address \end_layout \begin_layout Code range6 2001:db8:0:1::/64 temporary; \end_layout \begin_layout Code \end_layout \begin_layout Code # Additional options \end_layout \begin_layout Code option dhcp6.name-servers fec0:0:0:1::1; \end_layout \begin_layout Code option dhcp6.domain-search "domain.example"; \end_layout \begin_layout Code \end_layout \begin_layout Code # Prefix range for delegation to sub-routers \end_layout \begin_layout Code prefix6 2001:db8:0:100:: 2001:db8:0:f00:: /56; \end_layout \begin_layout Code \end_layout \begin_layout Code # Example for a fixed host address \end_layout \begin_layout Code host specialclient { \end_layout \begin_layout Code host-identifier option dhcp6.client-id 00:01:00:01:4a:1f:ba:e3:60:b9:1f:01: 23:45; \end_layout \begin_layout Code fixed-address6 2001:db8:0:1::127; \end_layout \begin_layout Code } \end_layout \begin_layout Code } \end_layout \begin_layout Standard \lang english Es ist zu beachten, dass die \begin_inset Quotes sld \end_inset dhcp.client-id \begin_inset Quotes srd \end_inset nicht länger die MAC-Adresse ist, sondern eine per System eindeutige ID! \begin_inset Quotes sld \end_inset dhcp6c \begin_inset Quotes srd \end_inset (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 \begin_inset Quotes sld \end_inset 0x000e \begin_inset Quotes srd \end_inset ): \end_layout \begin_layout Code # hexdump -e '"%07.7_ax " 1/2 "%04x" " " 14/1 "%02x:" " \backslash n"' /var/lib/dhcpv6/dhcp6c_duid 0000000 000e 00:01:00:01:4a:1f:ba:e3:60:b9:1f:01 :23:45: \end_layout \begin_layout Subsection \lang english Benutzung \end_layout \begin_layout Subsubsection \lang english dhcpd \end_layout \begin_layout Standard \lang english Starte den Server im Vordergrund: \end_layout \begin_layout Code # /usr/sbin/dhcpd -6 -d -cf /etc/dhcp/dhcpd6.conf eth1 \end_layout \begin_layout Code Internet Systems Consortium DHCP Server 4.1.0 \end_layout \begin_layout Code Copyright 2004-2008 Internet Systems Consortium. \end_layout \begin_layout Code All rights reserved. \end_layout \begin_layout Code For info, please visit http://www.isc.org/sw/dhcp/ \end_layout \begin_layout Code Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file \end_layout \begin_layout Code Wrote 0 leases to leases file. \end_layout \begin_layout Code Bound to *:547 \end_layout \begin_layout Code Listening on Socket/5/eth1/2001:db8:0:1::/64 \end_layout \begin_layout Code Sending on Socket/5/eth1/2001:db8:0:1::/64 \end_layout \begin_layout Section \lang english \begin_inset CommandInset label LatexCommand label name "hints-daemons-dibbler" \end_inset DHCP Server Dibbler \end_layout \begin_layout Standard \lang english Dibbler ist auch ein DHCP server. \end_layout \begin_layout Subsection \lang english Konfiguration des Dibbler DHCP server für IPv6 \end_layout \begin_layout Subsubsection \lang english Einfache Konfuration \end_layout \begin_layout Standard \lang english 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ß. \end_layout \begin_layout Code log-level 8 \end_layout \begin_layout Code log-mode short \end_layout \begin_layout Code preference 0 \end_layout \begin_layout Code iface "eth1" { \end_layout \begin_layout Code prefered-lifetime 3600 \end_layout \begin_layout Code valid-lifetime 7200 \end_layout \begin_layout Code class { \end_layout \begin_layout Code pool 2001:db8:0:1::/64 \end_layout \begin_layout Code } \end_layout \begin_layout Code option dns-server fec0:0:0:1::1 \end_layout \begin_layout Code option domain domain.example \end_layout \begin_layout Code } \end_layout \begin_layout Subsection \lang english Benutzung \end_layout \begin_layout Subsubsection \lang english dibbler-server \end_layout \begin_layout Standard \lang english Start Server im Vorgergrund: \end_layout \begin_layout Code # dibbler-server run \end_layout \begin_layout Code | Dibbler - a portable DHCPv6, version 0.7.3 (SERVER, Linux port) \end_layout \begin_layout Code | Authors : Tomasz Mrugalski,Marek Senderski \end_layout \begin_layout Code | Licence : GNU GPL v2 only. Developed at Gdansk University of Technology. \end_layout \begin_layout Code | Homepage: http://klub.com.pl/dhcpv6/ \end_layout \begin_layout Code 2009.05.28 10:18:48 Server Notice My pid (1789) is stored in /var/lib/dibbler/s erver.pid \end_layout \begin_layout Code 2009.05.28 10:18:48 Server Notice Detected iface eth0/3, MAC=54:52:00:01:23:45. \end_layout \begin_layout Code 2009.05.28 10:18:48 Server Notice Detected iface eth1/2, MAC=54:52:00:67:89:ab. \end_layout \begin_layout Code 2009.05.28 10:18:48 Server Notice Detected iface lo/1, MAC=00:00:00:00:00:00. \end_layout \begin_layout Code 2009.05.28 10:18:48 Server Debug Skipping database loading. \end_layout \begin_layout Code 2009.05.28 10:18:48 Server Debug Cache:server-cache.xml file: parsing started, expecting 0 entries. \end_layout \begin_layout Code 2009.05.28 10:18:48 Server Notice Parsing /etc/dibbler/server.conf config file... \end_layout \begin_layout Code 18:48 Server Debug Setting 0 generic option(s). \end_layout \begin_layout Code 18:48 Server Debug 0 per-client configurations (exceptions) added. \end_layout \begin_layout Code 18:48 Server Debug Parsing /etc/dibbler/server.conf done. \end_layout \begin_layout Code 18:48 Server Info 0 client class(es) defined. \end_layout \begin_layout Code 18:48 Server Debug 1 interface(s) specified in /etc/dibbler/server.conf \end_layout \begin_layout Code 18:48 Server Info Mapping allow, deny list to class 0:0 allow/deny entries in total. \end_layout \begin_layout Code 18:48 Server Info Interface eth1/2 configuration has been loaded. \end_layout \begin_layout Code 18:48 Server Notice Running in stateful mode. \end_layout \begin_layout Code 18:48 Server Info My DUID is 00:01:00:01:11:aa:6d:a7:54:52:00:67:89:ab. \end_layout \begin_layout Code 18:48 Server Notice Creating multicast (ff02::1:2) socket on eth1/2 (eth1/2) interface. \end_layout \begin_layout Code 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. \end_layout \begin_layout Code 18:48 Server Notice Accepting connections. Next event in 4294967295 second(s). \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "hints-daemons-tcpwrapper" \end_inset tcp_wrapper \end_layout \begin_layout Standard Mit der tcp_wrapper Programmbibliothek können Sie Ihre Dienste gegen Missbrauch schützen. \end_layout \begin_layout Subsection Filter-Funktionalität \end_layout \begin_layout Standard Sie können tcp_wrapper für folgende Zwecke einsetzen: \end_layout \begin_layout Itemize Nach Source-Adressen filtern (IPv4 oder IPv6) \end_layout \begin_layout Itemize Nach Benutzern filtern (benötigt einen aktiven ident Daemon auf der Client-Seite ) \end_layout \begin_layout Subsection Welches Programm benützt tcp_wrapper \end_layout \begin_layout Standard Folgende Programme sind bekannt: \end_layout \begin_layout Itemize Jeder Dienst, der durch den xinetd aufgerufen wird (und wenn der xinetd mit der tcp_wrapper Bibliothek kompiliert wurde) \end_layout \begin_layout Itemize sshd (wenn der mit der tcp_wrapper Bibliothek kompiliert wurde) \end_layout \begin_layout Subsection Anwendung \end_layout \begin_layout Standard Der tcp_wrapper wird durch zwei Dateien konfiguriert und kontrolliert: /etc/host s.allow sowie /etc/hosts.deny. Weitere Informationen finden Sie mit: \end_layout \begin_layout Code $ man hosts.allow \end_layout \begin_layout Subsubsection Beispiel für /etc/hosts.allow \end_layout \begin_layout Standard In dieser Datei wird ein Dienst pro Zeile eingetragen, der positiv gefiltert werden soll (d.h. Verbindungen werden erlaubt). \end_layout \begin_layout Code sshd: 1.2.3. [2001:0db8:100:200::]/64 \end_layout \begin_layout Code daytime-stream: 1.2.3. [2001:0db8:100:200::]/64 \end_layout \begin_layout Standard Achtung: es existieren fehlerhafte Implementierungen, welche folgende fehlerhaft e IPv6-Netzwerk-Beschreibung unterstützen: [2001:0db8:100:200::/64]. Hoffentlich werden diese Versionen bald gefixt. \end_layout \begin_layout Subsubsection Beispiel für /etc/hosts.deny \end_layout \begin_layout Standard In dieser Datei werden alle Einträge negativ gefiltert. Und normalerweise sollen alle Verbindungen unterbunden werden: \end_layout \begin_layout Code ALL: ALL \end_layout \begin_layout Standard 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. \end_layout \begin_layout Code ALL: ALL: spawn (echo "Attempt from %h %a to %d at `date`" \end_layout \begin_layout Code | tee -a /var/log/tcp.deny.log | mail root@localhost) \end_layout \begin_layout Subsection Protokollierung \end_layout \begin_layout Standard Entsprechend der Syslog Daemon Konfiguration in der Datei /etc/syslog.conf protokolliert der tcp_wrapper normalerweise in die Datei /var/log/secure. \end_layout \begin_layout Subsubsection Abgelehnte Verbindung \end_layout \begin_layout Standard Das Logging einer abgelehnten IPv4-Verbindung zu einem durch den xinetd überwachten Daytime Dienst sieht wie folgt aus: \end_layout \begin_layout Code Jan 2 20:40:44 gate xinetd-ipv6[12346]: FAIL: daytime-stream libwrap \end_layout \begin_layout Code ¬ from=::ffff:1.2.3.4 \end_layout \begin_layout Code Jan 2 20:32:06 gate xinetd-ipv6[12346]: FAIL: daytime-stream libwrap \end_layout \begin_layout Code from=2001:0db8:100:200::212:34ff:fe12:3456 \end_layout \begin_layout Standard 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: \end_layout \begin_layout Code Jan 2 20:24:17 gate sshd[12345]: refused connect from ::ffff:1.2.3.4 \end_layout \begin_layout Code ¬ (::ffff:1.2.3.4) \end_layout \begin_layout Code Jan 2 20:39:33 gate sshd[12345]: refused connect \end_layout \begin_layout Code from 2001:0db8:100:200::212:34ff:fe12:3456 \end_layout \begin_layout Code ¬ (2001:0db8:100:200::212:34ff:fe12:3456) \end_layout \begin_layout Subsubsection Akzeptierte Verbindung \end_layout \begin_layout Standard Das Logging einer akzeptierten IPv4-Verbindung zu einem durch den xinetd überwachten Daytime Dienst sieht wie folgt aus: \end_layout \begin_layout Code Jan 2 20:37:50 gate xinetd-ipv6[12346]: START: daytime-stream pid=0 \end_layout \begin_layout Code ¬ from=::ffff:1.2.3.4 \end_layout \begin_layout Code Jan 2 20:37:56 gate xinetd-ipv6[12346]: START: daytime-stream pid=0 \end_layout \begin_layout Code from=2001:0db8:100:200::212:34ff:fe12:3456 \end_layout \begin_layout Standard Das Logging einer akzeptierten IPv4-Verbindung zu einem auf zwei Ports hörenden sshd sieht wie folgt aus: \end_layout \begin_layout Code Jan 2 20:43:10 gate sshd[21975]: Accepted password for user from ::ffff:1.2.3.4 \end_layout \begin_layout Code ¬ port 33381 ssh2 \end_layout \begin_layout Code Jan 2 20:42:19 gate sshd[12345]: Accepted password for user \end_layout \begin_layout Code from 2001:0db8:100:200::212:34ff:fe12:3456 port 33380 ssh2 \end_layout \begin_layout Section \lang english \begin_inset CommandInset label LatexCommand label name "hints-daemons-vsftpd" \end_inset vsftpd \end_layout \begin_layout Subsection Auf IPv6-Adressen lauschen \end_layout \begin_layout Standard \lang english Editiere die Konfigurationsdatei, üblicherweise /etc/vsftpd/vsftpd.conf, und setze die Option für das \begin_inset Quotes sld \end_inset listen \begin_inset Quotes srd \end_inset wie folgt: \end_layout \begin_layout Code listen_ipv6=yes \end_layout \begin_layout Standard \lang english Mehr ist nicht zu tun. \end_layout \begin_layout Section \lang english \begin_inset CommandInset label LatexCommand label name "hints-daemons-proftpd" \end_inset proftpd \end_layout \begin_layout Subsection Auf IPv6-Adressen lauschen \end_layout \begin_layout Standard \lang english Editiere die Konfigurationsdatei, üblicherweise /etc/proftpd.conf, allerdings ist hier zu beachten, daß dies in der Konfigurationsart virtueller Host nicht 100% logisch ist \end_layout \begin_layout Code \end_layout \begin_layout Code ... \end_layout \begin_layout Code Bind 2001:0DB8::1 \end_layout \begin_layout Code ... \end_layout \begin_layout Code \end_layout \begin_layout Standard \lang english Mehr ist nicht zu tun. \end_layout \begin_layout Section \lang english \begin_inset CommandInset label LatexCommand label name "hints-daemons-others" \end_inset Andere Daemons \end_layout \begin_layout Standard \lang english 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- \begin_inset Quotes sld \end_inset any \begin_inset Quotes srd \end_inset -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). \end_layout \begin_layout Chapter \lang english \begin_inset CommandInset label LatexCommand label name "chapter-programming" \end_inset Programmierung \end_layout \begin_layout Section \lang english \begin_inset CommandInset label LatexCommand label name "chapter-section-using-API" \end_inset \begin_inset CommandInset label LatexCommand label name "chapter-programming-using-API" \end_inset \lang ngerman Programmierung mit Nutzung der C-API \end_layout \begin_layout Standard Dieser Abschnitt ist momentan nicht in Deutsch verfügbar, die englische Version ist verfügbar unter: \begin_inset CommandInset href LatexCommand href name "TLDP / Linux+IPv6-HOWTO / Programming using C-API" target "http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html" \end_inset \end_layout \begin_layout Section \lang english Andere Programmiersprachen \end_layout \begin_layout Subsection \lang english JAVA \end_layout \begin_layout Standard \lang english In Sun Java Versionen ab 1.4 ist Unterstützung für IPv6 vorhanden, siehe dazu auch die Klasse \begin_inset CommandInset href LatexCommand href name "Inet6Address (1.5/5.0)" target "http://java.sun.com/j2se/1.5.0/docs/api/java/net/Inet6Address.html" \end_inset . Weitere Tipps sind verfügbar im \emph on Networking IPv6 User Guide for JDK/JRE \emph default \begin_inset CommandInset href LatexCommand href name "1.4" target "http://java.sun.com/j2se/1.4.2/docs/guide/net/ipv6_guide/index.html" \end_inset und \begin_inset CommandInset href LatexCommand href name "1.5 (5.0)" target "http://java.sun.com/j2se/1.5.0/docs/guide/net/ipv6_guide/index.html" \end_inset . \end_layout \begin_layout Subsection \lang english Perl \end_layout \begin_layout Standard \lang english 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: \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "Socket6" target "http://search.cpan.org/~umemoto/Socket6/" \end_inset \end_layout \begin_layout Standard \lang english Zudem existieren weitere Module für/mit IPv6 Unterstützung (z.B. Net::IP), suche nach \begin_inset Quotes sld \end_inset IPv6 \begin_inset Quotes srd \end_inset bei \begin_inset CommandInset href LatexCommand href name "http://search.cpan.org/" target "http://search.cpan.org/" \end_inset . \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-interoperability" \end_inset Interoperabilität \end_layout \begin_layout Standard \lang english Das \begin_inset CommandInset href LatexCommand href name "TAHI Project" target "http://www.tahi.org/" \end_inset prüft das \lang ngerman Zusammenspiel der verschiedenen Betriebssysteme in Hinblick auf IPv6 Funktionali tät und Implementierung \lang english . Der Linux Kernel hat bereits das \begin_inset CommandInset href LatexCommand href name "IPv6 Ready Logo Phase 1" target "http://www.linux-ipv6.org/v6ready/" \end_inset bekommen. \end_layout \begin_layout Chapter \begin_inset CommandInset label LatexCommand label name "chapter-information" \end_inset Weitere Informationen und URLs \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "information-books" \end_inset Gedruckte Bücher, Artikel, Onlinerezensionen \end_layout \begin_layout Subsection Gedruckte Bücher (Englisch) \end_layout \begin_layout Subsubsection Cisco \end_layout \begin_layout Itemize Cisco Self-Study: \lang english Implementing IPv6 Networks (IPV6) \lang ngerman , von Regis Desmeules. Cisco Press; ISBN 1587050862; 500 Seiten; 1. Edition (April 11, 2003). \begin_inset Newline newline \end_inset Anmerkung: Dieser Titel wird am 11. April 2003 publiziert. \end_layout \begin_layout Itemize \lang english Configuring IPv6 with Cisco IOS \lang ngerman , 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). \end_layout \begin_layout Subsubsection Allgemein \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6 in Practice: A Unixer's Guide to the Next Generation Internet" target "http://www.benedikt-stockebrand.de/books_e.html#ipv6-in-practice" \end_inset von Benedikt Stockebrand, November 2006; ISBN 3-540-24524-3 \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6 Essentials" target "http://www.sunny.ch/publications/f_ipv6.htm" \end_inset von Silvia Hagen, zweite Auflage, Mai 2006; ISBN 0-5961-0058-2 \begin_inset Newline newline \end_inset \begin_inset CommandInset href LatexCommand href name "ToC, Index, Sample Chapter etc." target "http://www.oreilly.com/catalog/ipv6ess/" \end_inset ; \begin_inset CommandInset href LatexCommand href name "O'Reilly Pressrelease" target "http://press.oreilly.com/ipv6ess.html" \end_inset \end_layout \begin_layout Itemize IPv6: The New Internet Protocol. Von Christian Huitema; Publiziert von Prentice-Hall; ISBN 0138505055. \begin_inset Newline newline \end_inset 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 Entwicklu ng. \begin_inset Newline newline \end_inset Quelle: \begin_inset CommandInset href LatexCommand href name "http://www.cs.uu.nl/wais/html/na-dir/internet/tcp-ip/resource-list.html" target "http://www.cs.uu.nl/wais/html/na-dir/internet/tcp-ip/resource-list.html" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6 Networks" target "http://www.epinions.com/book_mu-3402412/display_~full_specs" \end_inset von Niles, Kitty; (ISBN 0070248079); 550 Seiten; Datum der Veröffentlichung: 05/01/1998. \end_layout \begin_layout Itemize \lang english Implementing IPV6. Supporting the Next Generation Internet Protocols \lang ngerman von P. E. Miller, Mark A. Miller; Hrsg.: John Wiley & Sons; ISBN 0764545892; 2. Edition (15.März 2000); 402 Seiten. \end_layout \begin_layout Itemize \lang english Big Book of Ipv6 Addressing Rfcs \lang ngerman von Peter H. Salus (Compiler), Morgan Kaufmann (Hrsg.), April 2000, 450 Seiten ISBN 012616770 2. \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Understanding IPV6" target "http://www.epinions.com/book_mu-3922588/display_~full_specs" \end_inset von Davies, Joseph; ISBN 0735612455; Datum der Veröffentlichung: 05/01/2001; 350 Seiten. \end_layout \begin_layout Itemize \lang english Migrating to IPv6 - IPv6 in Practice \lang ngerman von Marc Blanchet; John Wiley & Sons (Hrsg.); ISBN 0471498920; 1. Edition (November 2002); 368 Seiten. \end_layout \begin_layout Itemize \lang english Ipv6 Network Programming von Jun-ichiro Hagino; ISBN 1555583180 \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Wireless boosting IPv6" target "http://www.nwfusion.com/news/2000/1023ipv6.html" \end_inset von Carolyn Duffy Marsan, 10/23/2000. \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "O'reilly Network search for keyword IPv6" target "http://www.oreillynet.com/search/index.ncsp?sp-q=IPv6" \end_inset ergibt 29 Treffer (28. Januar 2002) \end_layout \begin_layout Subsection Artikel, eBooks, Online Rezensionen \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Getting Connected with 6to4" target "http://www.onlamp.com/pub/a/onlamp/2001/06/01/ipv6_tutorial.html" \end_inset von Huber Feyrer, 06/01/2001 \end_layout \begin_layout Itemize Transient Addressing for Related Processes: Improved Firewalling by Using IPv6 and Multiple Addresses per Host; geschrieben von Peter M. Gleiz, Steven M. Bellovin ( \begin_inset CommandInset href LatexCommand href name "PC-PDF-Version" target "http://www.securiteinfo.com/ebooks/pdf/tarp.pdf" \end_inset ; \begin_inset CommandInset href LatexCommand href name "Palm-PDF-Version" target "http://www.securiteinfo.com/ebooks/palm/tarp.pdf" \end_inset ; \begin_inset CommandInset href LatexCommand href name "PDB-Version" target "http://www.securiteinfo.com/ebooks/pdb/tarp.pdb" \end_inset ) \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Internetworking IPv6 with Cisco Routers" target "http://www.ip6.com/index.html" \end_inset von Silvano Gai, McGrawHill Italia, 1997. Die 13 Kapitel und der Anhang A-D sind als PDF-Dokument 'downladbar'. \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Migration and Co-existence of IPv4 and IPv6 in Residential Networks" target "http://www.csc.fi/~psavola/residential.html" \end_inset von Pekka Savola, CSC/FUNET, 2002 \end_layout \begin_layout Subsection \begin_inset CommandInset label LatexCommand label name "information-sciencepublication" \end_inset Wissenschaftliche Publikationen (Kurzbeschreibungen, Bibliographien, Online Quellen) \end_layout \begin_layout Standard \lang english Siehe auch: \begin_inset CommandInset href LatexCommand href name "liinwww.ira.uka.de/ipv6" target "http://liinwww.ira.uka.de/mpsbib?query=ipv6&maxnum=200" \end_inset bzw. \begin_inset CommandInset href LatexCommand href name "Google / Scholar / IPv6" target "http://www.google.com/scholar?q=ipv6" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "GEANT IPv6 Workplan" target "http://www.ipv6.ac.uk/gtpv6/workplan.html" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6 Trials on UK Academic Networks: Bermuda Project Aug.2002" target "http://www.ipv6.ac.uk/bermuda2/" \end_inset : 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... \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "http://www.ipv6.ac.uk/" target "http://www.ipv6.ac.uk/" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6 at the University of Southampton" target "http://www.ipv6.ecs.soton.ac.uk/" \end_inset \end_layout \begin_layout Itemize Microsoft Research IPv6 Implementation (MSRIPv6): \begin_inset CommandInset href LatexCommand href name "MSRIPv6 Configuring 6to4 - Connectivity with MSR IPv6 - Our 6Bone Node... " target "http://www.research.microsoft.com/msripv6/" \end_inset \end_layout \begin_layout Subsection Sonstiges \end_layout \begin_layout Standard Mehr Infos gibt es unter: \begin_inset CommandInset href LatexCommand href name "SWITCH IPv6 Pilot / References" target "http://www.switch.ch/lan/ipv6/references.html" \end_inset \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "information-conferences" \end_inset Konferenzen und Meetings \end_layout \begin_layout Standard Fehlt etwas? Vorschläge sind willkommen! \end_layout \begin_layout Subsection \lang english 2004 \end_layout \begin_layout Itemize \lang english 1st Global IPv6 Summit in Sao Paul, Brasil \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "information-onlineinformation" \end_inset Online-Informationen \end_layout \begin_layout Subsection \begin_inset CommandInset label LatexCommand label name "information-joinipv6" \end_inset Mit dem IPv6 Backbone verbinden \end_layout \begin_layout Standard Mehr Infos in späteren Versionen... Vorschläge sind Willkommen! \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-globalregistries" \end_inset Globale Registrierungsstellen \end_layout \begin_layout Standard Siehe regionale Registrierungsstellen. \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-majorregionregistries" \end_inset Regionale Haupt-Registrierungsstellen \end_layout \begin_layout Itemize Amerika: \begin_inset CommandInset href LatexCommand href name "ARIN" target "http://www.arin.net/" \end_inset , \begin_inset CommandInset href LatexCommand href name "ARIN / registration page" target "http://www.arin.net/registration/ipv6/index.html" \end_inset , \begin_inset CommandInset href LatexCommand href name "ARIN / IPv6 guidelines" target "http://www.arin.net/registration/ipv6/index.html" \end_inset \end_layout \begin_layout Itemize EMEA: \begin_inset CommandInset href LatexCommand href name "Ripe NCC" target "http://www.ripe.net/" \end_inset , \begin_inset CommandInset href LatexCommand href name "Ripe NCC / registration page" target "http://www.ripe.net/ripencc/mem-services/registration/" \end_inset , \lang english \begin_inset CommandInset href LatexCommand href name "Ripe NCC / IPv6 registration" target "http://www.ripe.net/ripencc/mem-services/registration/ipv6/" \end_inset \end_layout \begin_layout Itemize Asien/Pazifik: \begin_inset CommandInset href LatexCommand href name "APNIC" target "http://www.apnic.net/" \end_inset , \begin_inset CommandInset href LatexCommand href name "APNIC / IPv6 ressource guide" target "http://www.apnic.net/services/ipv6_guide.html" \end_inset \end_layout \begin_layout Itemize Latein Amerika und Karikik: \begin_inset CommandInset href LatexCommand href name "LACNIC" target "http://lacnic.org/" \end_inset , \begin_inset CommandInset href LatexCommand href name "IPv6 Registration Services" target "http://lacnic.net/en/bt-IPv6.html" \end_inset , \begin_inset CommandInset href LatexCommand href name "IPv6 Allocation Policy" target "http://lacnic.net/en/chapter-4-en.pdf" \end_inset \end_layout \begin_layout Itemize Afrika: \begin_inset CommandInset href LatexCommand href name "AfriNIC" target "http://www.afrinic.org/" \end_inset \end_layout \begin_layout Standard Es existiert auch eine Liste der größten Zuteilungen sortiert nach lokalen Registrierungsstellen: \begin_inset CommandInset href LatexCommand href name "Ripe NCC / IPv6 allocations" target "http://www.ripe.net/ripencc/mem-services/registration/ipv6/ipv6allocs.html" \end_inset . \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-joinipv6-tunnelbrokers" \end_inset Tunnel-Broker \end_layout \begin_layout Standard Anmerkung: Eine Tunnel-Broker Liste ist im Abschnitt \begin_inset CommandInset ref LatexCommand ref name "Tunnel broker" reference "information-Tunnelbroker" \end_inset weiter unten zu finden. \end_layout \begin_layout Itemize Former IPng. Tunnelbroker and IPv6 resources, now migrated to the \begin_inset CommandInset href LatexCommand href name "SixXs System" target "http://www.sixxs.net/main/" \end_inset . \end_layout \begin_layout Itemize Eckes \begin_inset CommandInset href LatexCommand href name "IPv6-with-Linux" target "http://sites.inka.de/lina/linux/ipv6.html" \end_inset Seite. \end_layout \begin_layout Itemize tunnelc - ein Perl basiertes Tunnel Client Script: \begin_inset Newline newline \end_inset freshmeat.net: \begin_inset CommandInset href LatexCommand href name "Project details for tunnel client" target "http://freshmeat.net/projects/tunnelc" \end_inset \begin_inset Newline newline \end_inset SourceForge: \begin_inset CommandInset href LatexCommand href name "Project Info - tunnelc" target "http://sourceforge.net/projects/tunnelc" \end_inset (also \begin_inset CommandInset href LatexCommand href name "here" target "http://tunnelc.sourceforge.net/" \end_inset ) \end_layout \begin_layout Itemize Linux Advanced Routing & Traffic Control HOWTO, \begin_inset CommandInset href LatexCommand href name "Chapter 6: IPv6 tunneling with Cisco and/or 6bone" target "http://howtos.linuxbroker.com/howtoreader.shtml?file=Adv-Routing-HOWTO.html#LARTC.TUNNEL-IPV6.ADDRESSING" \end_inset . \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-joinipv6-6to4-tunneling" \end_inset 6to4 \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "NSayer's 6to4 information" target "http://www.kfu.com/~nsayer/6to4/" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "RFC 3068 / An Anycast Prefix for 6to4 Relay Routers" target "http://www.faqs.org/rfcs/rfc3068.html" \end_inset \end_layout \begin_layout Subsubsection \lang english \begin_inset CommandInset label LatexCommand label name "information-joinipv6-isatap-tunneling" \end_inset ISATAP \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "ISATAP (Intra-Site Automatic Tunnel Access Protocol) Information" target "http://www.join.uni-muenster.de/Dokumente/Howtos/Howto_ISATAP.php?lang=en" \end_inset by \begin_inset CommandInset href LatexCommand href name "JOIN" target "http://www.join.uni-muenster.de/" \end_inset \end_layout \begin_layout Subsection Neueste Nachrichten und URLs zu anderen Dokumenten \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "Viele URLs zu anderen Dokumenten" target "http://www.estoile.com/links/ipv6" \end_inset von Anil Edathara \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "go6 - The IPv6 Portal" target "http://www.go6.net/" \end_inset : 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 \end_layout \begin_layout Subsection Protokoll-Informationen \end_layout \begin_layout Subsubsection IPv6 bezogene Request For Comments (RFCs) \end_layout \begin_layout Standard 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: \end_layout \begin_layout Itemize sortierte Liste: \begin_inset CommandInset href LatexCommand href name "IPng Standardization Status" target "http://playground.sun.com/pub/ipng/html/specs/standards.html" \end_inset oder \begin_inset CommandInset href LatexCommand href name "IPng Current Specifications" target "http://playground.sun.com/pub/ipng/html/specs/specifications.html" \end_inset von Robert Hinden \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6 Related Specifications" target "http://www.ipv6.org/specs.html" \end_inset auf IPv6.org \end_layout \begin_layout Subsubsection Aktuelle Entwürfe diverser Arbeitsgruppen \end_layout \begin_layout Standard Aktuelle (auch) IPv6-bezogene Drafts finden Sie hier: \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IP Version 6 (ipv6)" target "http://www.ietf.org/ids.by.wg/ipv6.html" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Next Generation Transition (ngtrans)" target "http://www.ietf.org/ids.by.wg/ngtrans.html" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Dynamic Host Configuration (dhc)" target "http://www.ietf.org/ids.by.wg/dhc.html" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Domain Name System Extension (dnsext)" target "http://www.ietf.org/ids.by.wg/dnsext.html" \end_inset \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "IPv6 Operations (v6ops)" target "http://www.ietf.org/ids.by.wg/v6ops.html" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Mobile IP (mobileip)" target "http://www.ietf.org/ids.by.wg/mobileip.html" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Get any information about IPv6, from overviews, through RFCs & drafts, to implementations" target "http://playground.sun.com/pub/ipng/html/ipng-main.html" \end_inset (inklusive Verfügbarkeit der Stacks auf verschiedenen Plattformen & Quellcode diverser IPv6 Stacks) \end_layout \begin_layout Subsubsection Sonstige \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "SWITCH IPv6 Pilot / References" target "http://www.switch.ch/lan/ipv6/references.html" \end_inset , umfangreiche Liste mit IPv6 Quellen betreut von Simon Leinen \end_layout \begin_layout Subsection Weitere Informationen \end_layout \begin_layout Standard \begin_inset CommandInset href LatexCommand href name "DeepSpace6 / Weitere interessante Links" target "http://www.deepspace6.net/sections/links.html" \end_inset \end_layout \begin_layout Subsubsection Linux Informationen \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "DeepSpace6 / (Not only) Linux IPv6 Portal" target "http://www.deepspace6.net/" \end_inset - Italien \lang english ( \begin_inset CommandInset href LatexCommand href name "Spiegel" target "http://mirrors.bieringer.de/www.deepspace6.net/" \end_inset ) \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6-HowTo for Linux by Peter Bieringer" target "http://www.bieringer.de/linux/IPv6/" \end_inset - Deutschland, und sein \begin_inset CommandInset href LatexCommand href name "Bieringer / IPv6 - software archive" target "ftp://ftp.bieringer.de/pub/linux/IPv6/" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Linux+IPv6 status by Peter Bieringer" target "http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status.html" \end_inset - Deutschland \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "DeepSpace6 / IPv6 Status Page" target "http://www.deepspace6.net/docs/ipv6_status_page_apps.html" \end_inset - Italien ( \begin_inset CommandInset href LatexCommand href name "Spiegel" target "http://mirrors.bieringer.de/www.deepspace6.net/docs/ipv6_status_page_apps.html" \end_inset ) (ersetzt das oben genannte in Zukunft) \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "USAGI project" target "http://www.linux-ipv6.org/" \end_inset - Japan, und deren \begin_inset CommandInset href LatexCommand href name "USAGI project - software archive" target "ftp://ftp.linux-ipv6.org/pub/" \end_inset \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "Linux Optimized Link State Routing Protocol (OLSR) IPv6 HOWTO" target "http://www.tldp.org/HOWTO/OLSR-IPv6-HOWTO/" \end_inset \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "LinShim6" target "http://inl.info.ucl.ac.be/LinShim6/" \end_inset \end_layout \begin_layout Subsubsection Informationen zu Linux-Distributionen \end_layout \begin_layout Description PLD \begin_inset CommandInset href LatexCommand href name "PLD Linux Distribution" target "http://www.pld-linux.org/" \end_inset ( \begin_inset Quotes sld \end_inset Marktführer \begin_inset Quotes srd \end_inset bei inkludierten IPv6 fähigen Paketen)) \end_layout \begin_layout Description Red \begin_inset space ~ \end_inset Hat \begin_inset CommandInset href LatexCommand href name "Red Hat Enterprise Linux" target "http://www.redhat.com/" \end_inset , \begin_inset CommandInset href LatexCommand href name " Pekka Savola's IPv6 packages (historisch)" target "http://www.netcore.fi/pekkas/linux/ipv6/" \end_inset \end_layout \begin_layout Description Fedora \begin_inset CommandInset href LatexCommand href name "Fedora (Project) Linux" target "https://fedoraproject.org/" \end_inset \end_layout \begin_layout Description Debian \begin_inset CommandInset href LatexCommand href name "Debian Linux" target "http://www.debian.org/" \end_inset , \begin_inset CommandInset href LatexCommand href name "IPv6 with Debian Linux" target "http://ipv6.debian.net/" \end_inset \end_layout \begin_layout Description SuSE \begin_inset CommandInset href LatexCommand href name "SuSE Linux" target "https://www.suse.com/" \end_inset \end_layout \begin_layout Description \lang english Mandriva \begin_inset CommandInset href LatexCommand href name "Mandriva (historisch)" target "http://wiht.link/mandrivalinux" \end_inset \end_layout \begin_layout Standard Weitere Details siehe unter \begin_inset CommandInset href LatexCommand href name "IPv6+Linux Status Distributions" target "http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-distributions.html" \end_inset . \end_layout \begin_layout Subsubsection Allgemeine Informationen \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6.org" target "http://www.ipv6.org/" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "6bone" target "http://www.6bone.net/" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "WIDE project" target "http://www.v6.wide.ad.jp/" \end_inset - Japan \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "SWITCH IPv6 Pilot" target "http://www.switch.ch/lan/ipv6/" \end_inset - Schweiz \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6 Corner of Hubert Feyrer" target "http://www.feyrer.de/IPv6/" \end_inset - Deutschland \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6 Forum" target "http://www.ipv6forum.com/" \end_inset - ein weltweites Konsortium führender Internet-Hersteller, Forschungs- & Bildungseinrichtungen... \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Playground.sun.com / IPv6 Info Page" target "http://playground.sun.com/pub/ipng/html/ipng-main.html" \end_inset - betreut von Robert Hinden, Nokia. Hier gibt es jede Information zum Thema IPv6: Zusammenfassungen, RFCs & Drafts, Implementierungen (Verfügbarkeit der Stacks auf verschiedenen Plattform en & Quellcode diverser IPv6 Stacks). \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "6INIT" target "http://www.6init.com/" \end_inset - IPv6 Internet Initiative - ein Fifth Framework Projekt der EU im Rahmen des IST Programmes. \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6 Task Force (European Union)" target "http://www.ipv6-taskforce.org/" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "6init" target "http://www.6init.org/" \end_inset - IPv6 INternet IniTiative \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6: The New Version of the Internet Protocol" target "http://www.usenix.org/publications/library/proceedings/ana97/summaries/deering.html" \end_inset , von Steve Deering. \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6: The Next Generation Internet Protocol" target "http://www.garykessler.net/library/ipv6_exp.html" \end_inset , von Gary C. Kessler. \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6: Next Generation Internet Protocol" target "http://www.3com.com/nsc/ipv6.html" \end_inset - 3Com \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "internet || site" target "http://www.internet2.org/" \end_inset und \begin_inset CommandInset href LatexCommand href name "internet2 Working Group" target "http://ipv6.internet2.edu/" \end_inset \end_layout \begin_layout Itemize NetworkWorldFusion: Search / Doc Finder: \begin_inset CommandInset href LatexCommand href name "searched for IPv6" target "http://search.nwfusion.com/query.html?qt=IPv6&qp=&ch=cn&" \end_inset (102 Dokumente gefunden - 22.12.2002) \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "The Register" target "http://www.theregister.co.uk/" \end_inset (Suche nach IPv6 ergab 30 Dokumente, 22.12.2002) \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "ZDNet Search for IPv6" target "http://zdnet.search.com/search?cat=279&q=IPv6" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "TechTarget Search for IPv6" target "http://whatis.techtarget.com/wsearchResults/1,290214,sid9,00.html?query=IPv6" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6 & TCP Resources List" target "http://www.faqs.org/faqs/internet/tcp-ip/resource-list/index.html" \end_inset \end_layout \begin_layout Standard Fehlt etwas? Vorschläge sind Willkommen! \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-marketresearch" \end_inset Marktforschung \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "statista - The Statistics Portal" target "http://www.statista.com/search/internet+america/" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Market Research" target "http://www.marketresearch.com/" \end_inset \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-patents" \end_inset Patente \end_layout \begin_layout Itemize Delphion Research: \begin_inset CommandInset href LatexCommand href name "Patent Search Page" target "http://www.delphion.com/research/" \end_inset . Basic (kostenlose) Registrierung ist notwendig. Beispiele für die Suche nach IPv6 (vom 21.12.2002): \begin_inset Newline newline \end_inset \begin_inset CommandInset href LatexCommand href name "Communicating method between IPv4 terminal and IPv6 terminal and IPv4-IPv6 converting apparatus" target "http://www.delphion.com/details?pn=US06118784__" \end_inset \begin_inset Newline newline \end_inset \begin_inset CommandInset href LatexCommand href name "Translator for IP networks, network system using the translator, and IP network coupling method therefor" target "http://www.delphion.com/details?pn=US06038233__" \end_inset \end_layout \begin_layout Subsection Sortiert nach Ländern \end_layout \begin_layout Subsubsection \lang english Europa \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "www.ist-ipv6.org" target "http://www.ist-ipv6.org/" \end_inset : IST IPv6 Cluster, European IPv6 Research and Development Projects \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "Euro6IX" target "http://www.euro6ix.org/" \end_inset : European IPv6 Internet Exchanges Backbone \end_layout \begin_layout Subsubsection Australien \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Carl's Australian IPv6 Pages" target "http://oversteer.bl.echidna.id.au/IPv6/" \end_inset (alter Inhalt) \end_layout \begin_layout Subsubsection Belgien \end_layout \begin_layout Standard Vorschläge sind Willkommen! \end_layout \begin_layout Subsubsection Brasilien \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "IPv6 do Brasil" target "http://www.ipv6dobrasil.com.br/" \end_inset \end_layout \begin_layout Subsubsection China \end_layout \begin_layout Standard Vorschläge sind Willkommen! \end_layout \begin_layout Subsubsection Deutschland \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "OpenBC / IPv6" target "https://www.xing.com/net/ipv6/" \end_inset \end_layout \begin_layout Subsubsection Frankreich \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Renater" target "http://www.renater.fr/Projets/IPv6/index.htm" \end_inset : Renater IPv6 Projekt Seite \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "IPv6 - RSVP - ATM at INRIA" target "http://www.inria.fr/recherche/equipes/ipv6.fr.html" \end_inset \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "NetBSD IPv6 Dokumentation" target "http://www.netbsd.org/fr/Documentation/network/ipv6/" \end_inset \end_layout \begin_layout Subsubsection Großbritannien \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "British Telecom IPv6 Home" target "http://www.bt.com/ipv6/" \end_inset : BT's ISP IPv6 Versuch, Englands erster IPv6 Internet Exchange etc. \end_layout \begin_layout Subsubsection Indien \end_layout \begin_layout Standard Vorschläge sind willkommen! \end_layout \begin_layout Subsubsection Italien \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Project6" target "http://project6.ferrara.linux.it/" \end_inset : IPv6 mit Linux \end_layout \begin_layout Subsubsection Japan \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Yamaha IPv6" target "http://www.rtpro.yamaha.co.jp/RT/ipv6/" \end_inset (sorry, alles in japanischer Sprache ...) \end_layout \begin_layout Subsubsection Korea \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "ETRI" target "http://www.krv6.net/" \end_inset : Electronics and Telecommunications Research Institut \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6 Forum Korea" target "http://www.ipv6.or.kr/english/index.new.htm" \end_inset : IPv6 Infrastruktur Projekt in Korea \end_layout \begin_layout Subsubsection Mexiko \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6 Mexico" target "http://www.ipv6.unam.mx/" \end_inset (spanische & englische Version) - IPv6 Projekt Homepage der National Autonomous University of Mexico (UNAM) \end_layout \begin_layout Subsubsection Niederlande \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "SURFnet" target "http://www.ipv6.surfnet.nl/" \end_inset : SURFnet IPv6 Backbone \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "STACK" target "http://www.stack.nl/" \end_inset , \begin_inset CommandInset href LatexCommand href name "STACK (IPv6)" target "http://www.stack.nl/ipv6/" \end_inset : Computer-Studendten-Verband der Eindhoven University of Technology, Niederland e. \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPng.nl" target "http://www.ipng.nl/" \end_inset : Zusammenarbeit zwischen WiseGuys und Intouch. \end_layout \begin_layout Subsubsection Österreich \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6@IKNnet and MIPv6 Research Group" target "http://www.ikn.tuwien.ac.at/~ipv6/" \end_inset : TU Vienna, Austria (IPv6: Projekte, Publikationen, Diplom- / Doktorarbeiten, Konferenzunterlagen etc.) \end_layout \begin_layout Subsubsection Portugal \end_layout \begin_layout Standard Vorschläge sind willkommen! \end_layout \begin_layout Subsubsection Russland \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6 Forum for Russia" target "http://www.ipv6.ru/" \end_inset : Yaroslavl State University Internet Center \end_layout \begin_layout Subsubsection Schweiz \end_layout \begin_layout Standard Vorschläge sind willkommen! \end_layout \begin_layout Subsection Sortiert nach Betriebssystemen \end_layout \begin_layout Subsubsection *BSD \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "KAME project" target "http://www.kame.net/" \end_inset (*BSD) \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "NetBSD's IPv6 Networking FAQ" target "http://www.netbsd.org/Documentation/network/ipv6/" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "FreeBSD Ports: Ipv6" target "http://www.freebsd.org/ports/ipv6.html" \end_inset \end_layout \begin_layout Subsubsection Cisco IOS \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Cisco IOS IPv6 Entry Page" target "http://www.cisco.com/warp/public/732/Tech/ipv6/" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6 for Cisco IOS Software" target "http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122newft/122t/122t2/ipv6/ftipv6c.htm" \end_inset , 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. \end_layout \begin_layout Itemize Cisco Internet Networking Handbook, \begin_inset CommandInset href LatexCommand href name "Chapter IPv6" target "http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ipv6.htm" \end_inset \end_layout \begin_layout Subsubsection HPUX \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "comp.sys.hp.hpux FAQ" target "http://www.faqs.org/faqs/hp/hpux-faq/index.html" \end_inset \end_layout \begin_layout Subsubsection IBM \end_layout \begin_layout Itemize Now that IBM's announced the availability of z/OS V1.4, \begin_inset CommandInset href LatexCommand href name "what's new in this release?" target "http://search390.techtarget.com/ateQuestionNResponse/0,289625,sid10_cid486367_tax292523,00.html" \end_inset Die Frage wurde am 15. August 2002 'geposted'. \end_layout \begin_layout Subsubsection Microsoft \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Microsoft Windows 2000 IPv6" target "http://www.microsoft.com/windows2000/technologies/communications/ipv6/default.asp" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "MSRIPv6" target "http://www.research.microsoft.com/msripv6" \end_inset - Microsoft Research Network - IPv6 Homepage \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Internet Connection Firewall Does Not Block Internet Protocol Version 6 Traffic" target "http://support.microsoft.com/default.aspx?scid=kb;en-us;306203" \end_inset (6.11.2001) \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Internet Protocol Numbers" target "http://support.microsoft.com/default.aspx?scid=kb;en-us;289892" \end_inset (8.10.2002) \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6 Technology Preview Refresh" target "http://support.microsoft.com/default.aspx?scid=kb;en-us;273826" \end_inset (16.10.2002) \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "HOW TO: Install and Configure IP Version 6 in Windows .NET Enterprise Server" target "http://support.microsoft.com/default.aspx?scid=kb;en-us;325449" \end_inset (26.10.2002) \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Windows .NET Server 6to4 Router Service Quits When You Advertise a 2002 Address on the Public Interface" target "http://support.microsoft.com/default.aspx?scid=kb;en-us;329984" \end_inset (28.10.2002) \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "msdn - Microsoft Windows CE .NET - IPv6 commands" target "http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcetcpip/htm/cmconIPv6exe.asp" \end_inset \end_layout \begin_layout Subsubsection Solaris \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "Sun Microsystems Solaris" target "http://www.sun.com/software/solaris/" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Solaris 2 Frequently Asked Questions (FAQ) 1.73" target "http://www.cs.uu.nl/wais/html/na-dir/Solaris2/FAQ.html" \end_inset \end_layout \begin_layout Subsubsection Sumitoma \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Sumitomo Electric has implemented IPv6 on Suminet 3700 family routers" target "http://playground.sun.com/pub/ipng/html/ipng-implementations.html#Sumitomo" \end_inset \end_layout \begin_layout Subsubsection ZebOS \end_layout \begin_layout Itemize IpInfusion's \begin_inset CommandInset href LatexCommand href name "ZebOS Server Routing Software" target "http://www.ipinfusion.com/products/server/products_server.html" \end_inset \end_layout \begin_layout Subsection \begin_inset CommandInset label LatexCommand label name "information-ipv6andsecurity" \end_inset IPv6 Sicherheit \end_layout \begin_layout Itemize Internet Security Systems: Security Center, \begin_inset CommandInset href LatexCommand href name "X-Force Database Search" target "http://www.iss.net/security_center/search.php?type=3&type=3&pattern=IPv6" \end_inset (21.12.2002 - 6 Themen bez. IPv6 gefunden) \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "NIST IPsec Project" target "http://csrc.nist.gov/ipsec/" \end_inset ( National Institute of Standards and Technology, NIST) \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Information Security" target "http://www.infosecuritymag.com/index.shtml" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "NewOrder.box.sk (search for IPv6)" target "http://neworder.box.sk/search.php3?srch=IPv6" \end_inset (Artikel, Exploits, Datei-Datenbank etc.) \end_layout \begin_layout Subsection Programm-Listen \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "DeepSpace6 / IPv6 Status Page" target "http://www.deepspace6.net/docs/ipv6_status_page_apps.html" \end_inset ( \begin_inset CommandInset href LatexCommand href name "Mirror" target "http://mirrors.bieringer.de/www.deepspace6.net/docs/ipv6_status_page_apps.html" \end_inset ) \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6.org / IPv6 enabled applications" target "http://www.ipv6.org/v6-apps.html" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Freshmeat / IPv6 search" target "http://freshmeat.net/search/?q=IPv6" \end_inset , aktuell (14 Dez. 2002) 62 Projekte \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "IPv6 Forum / Web Links" target "http://www.ipv6forum.com/modules.php?op=modload&name=Web_Links&file=index" \end_inset \end_layout \begin_layout Subsubsection Analyse-Werkzeuge \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "Wireshark" target "http://www.wireshark.org/" \end_inset \lang ngerman (ehemals \emph on Ethereal \emph default ) is ein kostenloser Netzwerkprotokoll-Analyseprogramm für Unix und Windows \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Radcom RC100-WL" target "http://www.ip6.com/us/analyzer.htm" \end_inset - Download Radcom RC100-WL Protokollanalyseprogramm version 3.20 \end_layout \begin_layout Subsubsection IPv6 Produkte \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "6wind" target "http://www.6wind.com/" \end_inset - Lösungen für IPv4/IPv6 Router, QoS, Multicast, Mobility, Security/VPN/Firewal l. \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Fefe's patches for IPv6 with djbdns" target "http://www.fefe.de/dns/" \end_inset - Aug 2002 - Was ist djbdns und warum es IPv6 benötigt? djbdns ist ein vollwertiger DNS Server, welcher \begin_inset Quotes sld \end_inset outperforms BIND in nearly all respects \begin_inset Quotes srd \end_inset . \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "ZebOS Server Routing Suite " target "http://www.ipinfusion.com/products/server/products_server.html" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Inframail (Advantage Server Edition)" target "http://download.cnet.com/Inframail-Advantage-Server-Edition/3000-10248_4-8202652.html" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "HTTrack Website Copier" target "http://download.cnet.com/HTTrack-Website-Copier/3000-2377_4-10149393.html" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "CommView" target "http://download.cnet.com/CommView/3000-2085_4-10132748.html" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Posadis" target "http://download.cnet.com/Posadis/3000-2155_4-10149750.html" \end_inset \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-snmp" \end_inset SNMP \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "comp.protocpols.snmp SNMP FAQ Part 1 of 2" target "http://www.cs.uu.nl/wais/html/na-dir/snmp-faq/part1.html" \end_inset \end_layout \begin_layout Section IPv6 Infrastruktur \end_layout \begin_layout Subsection Statistiken \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6 routing table history" target "http://www.space.net/~gert/RIPE/" \end_inset erstellt von Gert Döring, \begin_inset CommandInset href LatexCommand href name "Space.Net" target "http://www.space.net/" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Official 6bone Webserver list Statisic" target "http://6bone.informatik.uni-leipzig.de/ipv6/stats/stats.php3" \end_inset \end_layout \begin_layout Subsection Internet Exchanges \end_layout \begin_layout Standard Eine weitere Liste von IPv6 Internet Exchanges gibt es unter: \lang english \begin_inset CommandInset href LatexCommand href name "IPv6 status of IXPs in Europe" target "http://www.euro-ix.net/isp/choosing/search/matrix.php" \end_inset \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-ipv6exchanges-germany" \end_inset Deutschland \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "INXS" target "http://www.inxs.de/" \end_inset : (Cable & Wireless) München und Hamburg \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-ipv6exchanges-estonia" \end_inset Estlanda \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "TIX" target "http://tix.estpak.ee/" \end_inset (Tallinn Interneti eXchange mit IPv6 Support) \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-ipv6exchanges-europe" \end_inset Europa \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Euro6IX" target "http://www.euro6ix.net/" \end_inset , European IPv6 Internet Exchange Backbone \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-ipv6exchanges-france" \end_inset Frankreich \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "French National Internet Exchange IPv6" target "http://www.fnix6.net/" \end_inset (seit 1.11.2002 aktiv). \begin_inset Newline newline \end_inset FNIX6 bietet ISPs im Großraum Paris den Dienst eines kostenlosen und zuverlässli chen High Speed FastEthernet Internet Exchange. \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-ipv6exchanges-uk" \end_inset Großbritannien \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "UK6X" target "http://www.uk6x.com/" \end_inset : London \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "XchangePoint" target "http://www.xchangepoint.net/" \end_inset : London \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-ipv6exchanges-japan" \end_inset Japan \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "NSPIXP-6" target "http://www.wide.ad.jp/nspixp6/" \end_inset : IPv6--basierter Internet Exchange in Tokio \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "JPIX" target "http://www.jpix.co.jp/" \end_inset , Tokio \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-ipv6exchanges-korea" \end_inset Korea \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "6NGIX" target "http://www.ngix.ne.kr/" \end_inset \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-ipv6exchanges-netherlands" \end_inset Niederlande \end_layout \begin_layout Itemize \noun on \begin_inset CommandInset href LatexCommand href name "AMS-IX" target "http://www.ams-ix.net/" \end_inset \noun default : Amsterdam Internet Exchange \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-ipv6exchanges-usa" \end_inset USA \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "6TAP" target "http://www.6tap.net/" \end_inset : Chicago. Bietet weltweit Peerings an. \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "PAIX" target "http://www.paix.net/" \end_inset : Palo Alto \end_layout \begin_layout Subsection \begin_inset CommandInset label LatexCommand label name "information-Tunnelbroker" \end_inset Tunnel broker \end_layout \begin_layout Standard \lang english Auch interessant: \begin_inset CommandInset href LatexCommand href name "http://www.deepspace6.net/docs/tunnelbrokers.html" target "http://www.deepspace6.net/docs/tunnelbrokers.html" \end_inset \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-tunnelbroker-belgium" \end_inset Belgien \end_layout \begin_layout Standard Fehlt etwas? Vorschläge sind willkommen! \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-tunnelbroker-canada" \end_inset Canada \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Freenet6" target "http://www.freenet6.net/" \end_inset - /48 Delegation, Canada \begin_inset Newline newline \end_inset \begin_inset CommandInset href LatexCommand href name "Getting IPv6 Using Freenet6 on Debian" target "http://www.linuxjournal.com/article.php?sid=5963&mode=thread&order=0" \end_inset \begin_inset Newline newline \end_inset \begin_inset CommandInset href LatexCommand href name "Freenet6 creater" target "http://www.viagenie.qc.ca/en/index.shtml" \end_inset \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-tunnelbroker-china" \end_inset China \end_layout \begin_layout Standard Fehlt etwas? Vorschläge sind willkommen! \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-tunnelbroker-germany" \end_inset Deutschland \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "6bone Knoten Leipzig" target "http://6bone.informatik.uni-leipzig.de/" \end_inset \begin_inset Newline newline \end_inset \begin_inset CommandInset href LatexCommand href name "Info bez. Hackangriff (2001)" target "http://www.mail-archive.com/ipv6@uni-muenster.de/msg00056.html" \end_inset \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-tunnelbroker-estonia" \end_inset Estlanda \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Estpak" target "http://tunnelbroker.ipv6.estpak.ee/?tunnel&PHPSESSID=aa2184190cc2cc6d3a6f6ddd01ae3635" \end_inset \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-tunnelbroker-uk" \end_inset Großbritannien \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "NTT" target "http://www.nttv6.net/" \end_inset , 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 \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-tunnelbroker-italy" \end_inset Italien \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Comv6" target "http://www.comv6.com/" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Bersafe" target "http://www.bersafe.it/" \end_inset (italienische Sprache) \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-tunnelbroker-japan" \end_inset Japan \end_layout \begin_layout Standard Fehlt etwas? Vorschläge sind willkommen! \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-tunnelbroker-malaysia" \end_inset Malaysia \end_layout \begin_layout Standard Fehlt etwas? Vorschläge sind willkommen! \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-tunnelbroker-netherlands" \end_inset Niederlande \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPng Netherland" target "http://www.ipng.nl/" \end_inset - Intouch, SurfNet, AMS-IX, UUNet, Cistron, RIPE NCC und AT&T sind am AMS-IX angeschlossen. Unter bestimmten Voraussetzungen ist es möglich, einen statischen Tunnel zu bekommen. \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "SURFnet Customers" target "http://www.ipv6.surfnet.nl/" \end_inset \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-tunnelbroker-norway" \end_inset Norwegen \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "UNINETT" target "http://www.uninett.no/testnett/index.en.html" \end_inset - Pilot IPv6 Service (für Kunden): tunnelbroker & address allocation \begin_inset Newline newline \end_inset \begin_inset CommandInset href LatexCommand href name "Uninett-Autoupdate-HOWTO" target "http://www.guruz.de/Uninett-Autoupdate-HOWTO" \end_inset \end_layout \begin_layout Subsubsection \lang english \begin_inset CommandInset label LatexCommand label name "information-tunnelbroker-spain" \end_inset Spanien \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "Consulintel" target "http://tb.consulintel.euro6ix.org/" \end_inset \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-tunnelbroker-switzerland" \end_inset Schweiz \end_layout \begin_layout Standard Fehlt etwas? Vorschläge sind willkommen! \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-tunnelbroker-usa" \end_inset USA \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "ESnet" target "http://www.es.net/hypertext/welcome/pr/ipv6.html" \end_inset , USA - Energy Sciences Network: Tunnel Registry & Address Delegation für direkt angeschlossene ESnet Sites und ESnet Partner. \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Hurricane Electric" target "http://ipv6tb.he.net/" \end_inset , US backbone; \begin_inset Newline newline \end_inset \begin_inset CommandInset href LatexCommand href name "Hurrican Electric Tunnelbroker" target "http://tunnelbroker.net/" \end_inset (also available under \begin_inset CommandInset href LatexCommand href name "http://tunnelbroker.com/" target "http://tunnelbroker.com/" \end_inset ) \begin_inset Newline newline \end_inset Presseaussendung: \begin_inset CommandInset href LatexCommand href name "Hurricane Electric Upgrades IPv6 Tunnel Broker" target "http://www.he.net/releases/release6.html" \end_inset \begin_inset Newline newline \end_inset \begin_inset CommandInset href LatexCommand href name "Tunnel Broker Endpoint Autoupdate" target "http://ipv6.he.net/tunnelbroker-update.php" \end_inset , Perl Skript \end_layout \begin_layout Subsubsection \lang english \begin_inset CommandInset label LatexCommand label name "information-tunnelbroker-singapore" \end_inset Singapore \end_layout \begin_layout Standard Fehlt etwas? Vorschläge sind Willkommen! \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-tunnelbroker-more" \end_inset Weitere Tunnel broker... \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Public 6to4 relay routers" target "http://www.kfu.com/~nsayer/6to4/" \end_inset (MS IIE Boycott!) \end_layout \begin_layout Subsection \begin_inset CommandInset label LatexCommand label name "information-infrastructure-nativeipv6service" \end_inset Native IPv6 Dienste \end_layout \begin_layout Standard Anmerkung: Die folgenden Dienste sind meist nur mit einer gültigen IPv6 Verbbindung erreichbar! \end_layout \begin_layout Subsubsection \lang english \begin_inset CommandInset label LatexCommand label name "information-nativeipv6nntp" \end_inset Net News (NNTP) \end_layout \begin_layout Standard Fehlt etwas? Vorschläge sind Willkommen! \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-nativeipv6gameserver" \end_inset Spiele Server \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Quake2" target "http://www.viagenie.qc.ca/en/ipv6/quake2/ipv6-quake2.shtml" \end_inset über IPv6 \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-nativeipv6ircserver" \end_inset IRC Server \end_layout \begin_layout Standard Fehlt etwas? Vorschläge sind Willkommen! \end_layout \begin_layout Subsubsection Radiosender, Musik-Streams \end_layout \begin_layout Standard Fehlt etwas? Vorschläge sind Willkommen! \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "information-nativeipv6webserver" \end_inset Web Server \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Peter Bieringer's Home of Linux IPv6 HOWTO " target "http://www.ipv6.bieringer.de/" \end_inset \end_layout \begin_layout Standard Fehlt etwas? Vorschläge sind Willkommen! \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "information-maillists" \end_inset Mailinglisten \end_layout \begin_layout Standard Weitere Listen von Mailinglisten sind verfügbar unter: \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "DeepSpace6 / Mailling Lists" target "http://www.deepspace6.net/sections/lists.html" \end_inset \end_layout \begin_layout Standard Die größten Mailinglisten sind in folgender Tabelle zusammengefasst: \end_layout \begin_layout Standard . \end_layout \begin_layout Standard \begin_inset Tabular \begin_inset Text \begin_layout Plain Layout \size scriptsize Schwerpunkt \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize Request e-mail Adresse \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize Abonnieren \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize e-mail Adresse der Mailingliste \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize Sprache \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize Zugang via WWW \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize Linux Kernel Networking inkl. IPv6 \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \lang english majordomo (at) vger.kernel.org \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize netdev \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \lang english netdev (at) vger.kernel.org \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize Englisch \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \lang english \begin_inset CommandInset href LatexCommand href name "Info" target "http://vger.kernel.org/vger-lists.html#netdev" \end_inset , \begin_inset CommandInset href LatexCommand href name "Archive" target "http://www.spinics.net/lists/netdev/" \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize Mobile IP(v6) für Linux \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \lang english Web-based, see URL \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize mipl \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \lang english mipl (at) mobile-ipv6.org \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize Englisch \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \lang english \begin_inset CommandInset href LatexCommand href name "Info" target "http://www.mobile-ipv6.org/cgi-bin/mailman/listinfo" \end_inset , \begin_inset CommandInset href LatexCommand href name "Archive" target "http://www.mobile-ipv6.org/pipermail/mipl/" \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize Linux IPv6 User & USAGI \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize usagi-users-ctl (at) linux-ipv6.org \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize usagi-users (at) linux-ipv6.org \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize Englisch \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize \begin_inset CommandInset href LatexCommand href name "Info / Search" target "http://www.linux-ipv6.org/ml/index.html#usagi-users" \end_inset , \begin_inset CommandInset href LatexCommand href name "Archive" target "http://www.linux-ipv6.org/ml/usagi-users/" \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize IPv6 und Debian Linux \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize Web-based, siehe URL \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize debian-ipv6 (at) lists.debian.org \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize Englisch \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize \begin_inset CommandInset href LatexCommand href name "Info/Subscription/Archive" target "http://lists.debian.org/debian-ipv6/" \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize 6bone \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize majordomo (at) isi.edu \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize 6bone \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize 6bone (at) isi.edu \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize Englisch \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize \begin_inset CommandInset href LatexCommand href name "Info" target "http://www.6bone.net/6bone_email.html" \end_inset , \begin_inset CommandInset href LatexCommand href name "Archive" target "http://mailman.isi.edu/pipermail/6bone/" \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize IPv6 User allgemein \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize majordomo (at) ipv6.org \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize users \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize users (at) ipv6.org \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize Englisch \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize \begin_inset CommandInset href LatexCommand href name "Info" target "http://www.ipv6.org/mailing-lists.html" \end_inset \size default \lang english , \begin_inset CommandInset href LatexCommand href name "Archive" target "http://www.mail-archive.com/users@ipv6.org/" \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize Bugtracking Internet Programme (1) \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize bugtraq-subscribe (at) securityfocus.com \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize bugtraq (at) securityfocus.com (3) \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize Englisch \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \size scriptsize \begin_inset CommandInset href LatexCommand href name "Info" target "http://online.securityfocus.com/popups/forums/bugtraq/intro.shtml" \end_inset , \begin_inset CommandInset href LatexCommand href name "Archive" target "http://online.securityfocus.com/archive/1" \end_inset \end_layout \end_inset \end_inset \end_layout \begin_layout Standard . \end_layout \begin_layout Standard (1) sehr empfohlen wenn Sie Server-Programme zur Verfügung stellen. \end_layout \begin_layout Standard (2) Mailingliste ist moderiert. \begin_inset Newline newline \end_inset \end_layout \begin_layout Standard Fehlt etwas? Vorschläge sind Willkommen! \begin_inset Newline newline \end_inset \end_layout \begin_layout Standard Via Web sind auch folgende Mailinglisten & Newsgroups verfügbar: \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "student-ipv6 (India)" target "http://groups.yahoo.com/group/student-ipv6" \end_inset \begin_inset Newline newline \end_inset Beschreibung: Dies ist eine Newsgruppe für die 'Student Awareness group of IPv6' in Indien \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "sun-ipv6-users" target "http://groups.yahoo.com/group/sun-ipv6-users" \end_inset \begin_inset Newline newline \end_inset Beschreibung: Bitte berichten Sie Probleme/Vorschläge in Bezug auf die IPng Implementation von SUN Microsystems \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "IPv6-BITS" target "http://groups.yahoo.com/group/IPv6-BITS" \end_inset \begin_inset Newline newline \end_inset Beschreibung: Diese Liste dient der Koordination des Projekts Vertebrae. \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "linux-bangalore-ipv6" target "http://groups.yahoo.com/group/linux-bangalore-ipv6" \end_inset \begin_inset Newline newline \end_inset Beschreibung: Die IPv6 deployment Liste der Bangalore Linux User Group \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "packet-switching" target "http://groups.yahoo.com/group/packet-switching" \end_inset \begin_inset Newline newline \end_inset 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. \end_layout \begin_layout Itemize de.comm.protocols.tcp-ip \begin_inset Newline newline \end_inset Beschreibung: Umstellung auf IPv6 \begin_inset Newline newline \end_inset Quelle: \begin_inset CommandInset href LatexCommand href name "Chartas der Newsgruppen in de.*" target "http://www.faqs.org/faqs/de-newsgroups/chartas/index.html" \end_inset \end_layout \begin_layout Itemize Google Group: \begin_inset CommandInset href LatexCommand href name "comp.protocols.tcp-ip" target "http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF8&safe=off&group=comp.protocols.tcp-ip" \end_inset \end_layout \begin_layout Itemize Google Group: \begin_inset CommandInset href LatexCommand href name "linux.debian.maint.ipv6" target "http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF8&safe=off&group=linux.debian.maint.ipv6" \end_inset \end_layout \begin_layout Itemize Google Group: \begin_inset CommandInset href LatexCommand href name "microsoft.public.platformsdk.networking.ipv6" target "http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF8&safe=off&group=microsoft.public.platformsdk.networking.ipv6" \end_inset \end_layout \begin_layout Itemize Google Group: \begin_inset CommandInset href LatexCommand href name "fa.openbsd.ipv6" target "http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF8&safe=off&group=fa.openbsd.ipv6" \end_inset \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "information-onlinetesttools" \end_inset Online-Werkzeuge \end_layout \begin_layout Subsection Test-Werkzeuge \end_layout \begin_layout Itemize ping, traceroute, tracepath, 6bone registry, DNS: \begin_inset CommandInset href LatexCommand href name "JOIN / Testtools" target "http://www.join.uni-muenster.de/lab/testtools.html" \end_inset (nur in deutscher Sprache, sollte aber keine Probleme für nicht Deutsch sprechende Personen sein) \end_layout \begin_layout Itemize traceroute6, whois: \begin_inset CommandInset href LatexCommand href name "IPng.nl" target "http://www.ipng.nl/" \end_inset \end_layout \begin_layout Itemize \lang english AAAA Lookup Checker \begin_inset CommandInset href LatexCommand href name "http://www.cnri.dit.ie/cgi-bin/check_aaaa.pl" target "http://www.cnri.dit.ie/cgi-bin/check_aaaa.pl" \end_inset \end_layout \begin_layout Subsection Informationsbeschaffung \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "List of worldwide all IPv6-aggregated IP-Blocks" target "http://www.ripe.net/ripencc/mem-services/registration/ipv6/ipv6allocs.html" \end_inset \end_layout \begin_layout Subsection IPv6 Looking Glasses \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "DRENv6 Looking Glass" target "http://www.v6.dren.net/lg/" \end_inset \end_layout \begin_layout Subsection \lang english Hilfsapplikationen \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "IPv6 Prefix Calculator" target "http://www.tdoi.org/prefcalc.php" \end_inset von \begin_inset CommandInset href LatexCommand href name "TDOI" target "http://www.tdoi.org/" \end_inset \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "DNS record checker" target "http://www.maths.tcd.ie/cgi-bin/check_dns.pl" \end_inset \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "information-trainingsandseminars" \end_inset Trainings, Seminare \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "CIW Internetworking Professional Training CBT CD" target "http://www.e-trainonline.com/html/ciw_internetworking_profession.html#IPv6" \end_inset \end_layout \begin_layout Itemize \begin_inset CommandInset href LatexCommand href name "Training Pages" target "http://www.trainingpages.com/x/category,kw-1628,.html" \end_inset , U.K. - Suche nach IPv6 (8 Kurse, 2006-08-21) \end_layout \begin_layout Itemize \lang english \begin_inset CommandInset href LatexCommand href name "Erion IPv6 Training" target "http://www.erion.co.uk/ipv6.html" \end_inset . UK \end_layout \begin_layout Standard Fehlt etwas? Vorschläge sind willkommen! \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "information-onlinediscovery" \end_inset 'Die Online Entdeckung' ... \end_layout \begin_layout Standard \lang english IPv6: Addressing The Needs Of the Future \lang ngerman von Yankee Group (Autor) \end_layout \begin_layout Standard Listenpreis: \series bold $595.00 \end_layout \begin_layout Standard Edition: e-book (Acrobat Reader) \end_layout \begin_layout Standard Seiten: \series bold 3 \series default (drei) \end_layout \begin_layout Standard Hrsg.: MarketResearch.com; ISBN B00006334Y; (1. November 2001) \begin_inset Newline newline \end_inset \end_layout \begin_layout Standard \series bold ;-) \series default Die Auflagenhöhe dieses eBooks wäre doch sehr interessant... \begin_inset Newline newline \end_inset \end_layout \begin_layout Chapter Versions-Überblick / Danksagung / Zum Schluss \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "revision-history" \end_inset Versions-Überblick \end_layout \begin_layout Standard Die Versionen x.y. werden im Internet veröffentlicht. \end_layout \begin_layout Standard 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. \end_layout \begin_layout Subsection Ausgabe 0.x \end_layout \begin_layout Subsubsection Englische Sprachversion (Peter Bieringer's Original) \end_layout \begin_layout Standard Die Historie der Änderungen der englischen Sprachversion finden Sie dort: \begin_inset CommandInset href LatexCommand href name "TLDP / Linux+IPv6-HOWTO / Revision History" target "http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/revision-history.html" \end_inset . \end_layout \begin_layout Subsubsection Deutsche Sprachversion \end_layout \begin_layout Description 0.66.de.1 2010-04-20/PB: Sync mit Original \end_layout \begin_layout Description 0.65.de.1 2009-12-13/PB: Sync mit Original \end_layout \begin_layout Description 0.64.de.1 2009-06-11/PB: Sync mit Original \end_layout \begin_layout Description 0.63.de.2 2009-03-13/PB: remove original transator contact address, no longer responsible for further changes \end_layout \begin_layout Description 0.63.de.1 2009-02-14/PB: Sync mit Original \end_layout \begin_layout Description 0.62.de.1 2008-11-09/PB: Sync mit Original \end_layout \begin_layout Description 0.61.1.de.3 2007-08-25/PB: Fix Typo \end_layout \begin_layout Description 0.61.1.de.2 2007-08-17/PB: Fix Typo \end_layout \begin_layout Description 0.61.1.de.1 2007-11-11/PB: Sync mit Original \end_layout \begin_layout Description 0.61.de.1 2007-10-06/PB: Sync mit Original, kleine Korrekturen \end_layout \begin_layout Description 0.60.de.1 2007-05-31/PB: Sync mit Original (bis auf C-API), kleine Korrekturen \end_layout \begin_layout Description 0.51.de.1 2006-11-08/PB: Sync mit Original \end_layout \begin_layout Description 0.50.2.de.1 2006-10-25/PB: Sync mit Original \end_layout \begin_layout Description 0.50.1.de.1 2006-09-23/PB: Sync mit Original \end_layout \begin_layout Description 0.50.de.1 2006-08-24/PB: Sync mit Original \end_layout \begin_layout Description 0.49.5.de.1 2006-08-23/PB: Sync mit Original \end_layout \begin_layout Description 0.49.4.de.1 2006-08-21/PB: Sync mit Original, Korrektur bei Adresstypen (Übersetzung sfehler) \end_layout \begin_layout Description 0.49.3.de.1 2006-08-20/PB: Sync mit Original \end_layout \begin_layout Description 0.49.2.de.1 2006-08-20/PB: Sync mit Original \end_layout \begin_layout Description 0.49.1.de.1 2006-06-13/PB: Sync mit Original \end_layout \begin_layout Description 0.49.de.1 2005-10-03/PB: Sync mit Original \end_layout \begin_layout Description 0.48.de.1 2005-01-11/PB: Sync mit Original \end_layout \begin_layout Description 0.47.de.1 2004-08-30/PB: Sync mit Original \end_layout \begin_layout Description 0.46.5.de.1 2004-07-22/PB: Sync mit Original \end_layout \begin_layout Description 0.46.4.de.1 2004-07-19/PB: Sync mit Original und kleine Korrekturen der Übersetzung \end_layout \begin_layout Description 0.46.2.de.1 2004-05-22/PB: Sync mit Original \end_layout \begin_layout Description 0.46.1.de.1 2004-04-18/PB: Sync mit Original \end_layout \begin_layout Description 0.46.de.1 2004-04-04/PB: Sync mit Original (Italienische Übersetzung verfügbar, Informationen über DHCPv6, kleinere Updates) \end_layout \begin_layout Description 0.45.1.de.1 2004-01-12/PB: Sync mit Original (kleine Erweiterung) \end_layout \begin_layout Description 0.45.de.1 2004-01-11/PB: Sync mit Original (kleine Korrekturen, URL-Korrekturen und Erweiterungen) \end_layout \begin_layout Description 0.44.2.de.1 2003-10-30/PB: Sync mit Original (kleine Korrektur) \end_layout \begin_layout Description 0.44.de.1 2003-08-15/PB: Sync mit Original (URL-Korrekturen, Tipp bei tcp_wrappers und Apache2) \end_layout \begin_layout Description 0.43.2.de.2 2003-07-26/PB: Sync mit Original (URL-Korrekturen) \end_layout \begin_layout Description 0.43.2.de.1 2003-06-11/PB: Sync mit Original (URL-Korrekturen) \end_layout \begin_layout Description 0.43.1.de.2 2003-06-11/PB: Typo gefixt \end_layout \begin_layout Description 0.43.1.de.1 2003-06-07/PB: Sync mit Original (Links, IPsec) \end_layout \begin_layout Description 0.43.de.1 2003-06-05/PB: Sync mit Original (SuSe-Linux-Tipps) \end_layout \begin_layout Description 0.41.4.de.1 2003-05-02/PB: Sync mit Original (URL-Korrekturen) \end_layout \begin_layout Description 0.41.3.de.1 2003-04-23/PB: Sync mit Original (URL-Korrektur) \end_layout \begin_layout Description 0.41.1.de.1 2003-03-31/PB: Sync mit Original (URL-Korrektur) \end_layout \begin_layout Description 0.41.de.1 2003-03-22/PB: Angabe der URL dieser Übersetzung \end_layout \begin_layout Description 0.40.2.de.1 2003-02-27/PB: Sync mit Original (URL-Korrektur) \end_layout \begin_layout Description 0.40.1.de.1 2003-02-12/PB: Sync mit Original (Debian-Linux-Konfiguration), Ersetzen der Info über verfügbare Übersetzungen durch einen Link zum Original. \end_layout \begin_layout Description 0.40.de.1 2003-02-10/PB: Kleine sprachliche Änderungen und paar kleine Verbesserung en. \end_layout \begin_layout Description 0.39.2.de.1 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. \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "credits" \end_inset Danksagung \end_layout \begin_layout Standard Dieser feinen Liste hinzugefügt werden können Sie am schnellsten, indem Sie mir Bug fixes, Korrekturen und/oder Updates schicken ;-) \end_layout \begin_layout Standard Wenn Sie eine größere Überarbeitung vornehmen wollen, können Sie dazu die LyX Datei (siehe \begin_inset CommandInset ref LatexCommand ref name "original source" reference "general-original-source" \end_inset ) verwenden und mir entsprechende diffs dann zusenden, diffs der SGML-Version sind hingegen nicht sehr nützlich. \end_layout \begin_layout Subsection \begin_inset CommandInset label LatexCommand label name "major-credits" \end_inset Primärer Dank... \end_layout \begin_layout Itemize David Ranch : 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. \end_layout \begin_layout Itemize Pekka Savola : Für größere Überarbeitungen der englischen Version, seinen Input und Vorschläge. \end_layout \begin_layout Itemize Georg Käfer : 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. \end_layout \begin_layout Subsection Sonstiger Dank... \end_layout \begin_layout Subsubsection Verwaltung des Dokuments \end_layout \begin_layout Standard 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: \end_layout \begin_layout Itemize Autoren des \begin_inset CommandInset href LatexCommand href name "LDP Author Guide" target "http://www.tldp.org/LDP/LDP-Author-Guide/" \end_inset \end_layout \begin_layout Itemize B. Guillon: Für sein \begin_inset CommandInset href LatexCommand href name "DocBook with LyX HOWTO" target "http://perso.libertysurf.fr/bgu/doc/db4lyx/" \end_inset \end_layout \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label name "content-related-credits" \end_inset Inhalt des Dokuments \end_layout \begin_layout Standard Mein Dank für Fixes und Hinweise ist hier aufgelistet - und die Liste wird mit der Zeit sicherlich länger werden... \begin_inset Newline newline \end_inset Bezüglich der englischen Version finden Sie in dieser, hier werden nur diejenige n, die die deutsche Version betreffen, aufgelistet. \end_layout \begin_layout Itemize Nico Schottelius, Oliver Kraus, Götz Bauermann: Typo gefunden \end_layout \begin_layout Itemize Jens Nachtigall: Fehler gefunden \end_layout \begin_layout Section Zum Schluss \end_layout \begin_layout Standard Danke für's Lesen. Hoffentlich ist es von Nutzen! \end_layout \begin_layout Standard Falls Sie irgendeine Frage haben, abonnieren sie eine entsprechende \begin_inset CommandInset ref LatexCommand ref name "maillist" reference "information-maillists" \end_inset und diskutieren Sie ihr Problem unter Angabe möglichst vieler Informationen. \end_layout \end_body \end_document