Kategorie:IPv6/Link: Unterschied zwischen den Versionen
Änderung 76666 von Dirkwagner (Diskussion) rückgängig gemacht. |
Keine Bearbeitungszusammenfassung |
||
Zeile 7: | Zeile 7: | ||
=== Ein Präfix für den Link === | === Ein Präfix für den Link === | ||
==== Automatische Konfiguration ==== | |||
Der Link internal soll ein Global-Unicast-Präfix erhalten um am IPv6-Internet teilnehmen zu können. | Der Link internal soll ein Global-Unicast-Präfix erhalten um am IPv6-Internet teilnehmen zu können. | ||
* Eine manuelle Konfiguration der Hosts am Link möchten wir möglichst vermeiden. | * Eine manuelle Konfiguration der Hosts am Link möchten wir möglichst vermeiden. | ||
Zeile 15: | Zeile 15: | ||
* der Adresse eines Resolving Nameservers ausgestattet sein. | * der Adresse eines Resolving Nameservers ausgestattet sein. | ||
==== Resolving Nameserver ==== | |||
Der Resolving Nameserver wäre, technisch gesehen, für das Herstellen der Konnektivität nicht erforderlich. | Der Resolving Nameserver wäre, technisch gesehen, für das Herstellen der Konnektivität nicht erforderlich. | ||
* In der Praxis erweisen sich Hosts ohne funktionierende Namensauflösung aber als mühsam bedienbar. | * In der Praxis erweisen sich Hosts ohne funktionierende Namensauflösung aber als mühsam bedienbar. | ||
* Für die tägliche Arbeit mit dem Internet sind sie schlicht nicht geeignet. | * Für die tägliche Arbeit mit dem Internet sind sie schlicht nicht geeignet. | ||
==== Aufgabenteilung ==== | |||
Welche Teile der automatischen Konfiguration der Router erledigt, und wo die Hosts selbst tätig werden müssen, werden wir gleich erfahren. | Welche Teile der automatischen Konfiguration der Router erledigt, und wo die Hosts selbst tätig werden müssen, werden wir gleich erfahren. | ||
* Soviel vorweg: Die Konfigurationen werden nicht als mundfertige Häppchen serviert, wie es bei IPv4 | * Soviel vorweg: Die Konfigurationen werden nicht als mundfertige Häppchen serviert, wie es bei IPv4 | ||
Zeile 26: | Zeile 26: | ||
* Einer erfolgreichen Konfiguration geht immer ein Zusammenspiel von Router und Host voraus. | * Einer erfolgreichen Konfiguration geht immer ein Zusammenspiel von Router und Host voraus. | ||
==== Präfix aktivieren ==== | |||
Ein 64 Bits langes Präfix haben wir von SixXS als kostenlose Beigabe zum Tunnel erhalten. | Ein 64 Bits langes Präfix haben wir von SixXS als kostenlose Beigabe zum Tunnel erhalten. | ||
* Das Präfix werden wir für die Adressierung der Nodes auf dem internen Link verwenden. | * Das Präfix werden wir für die Adressierung der Nodes auf dem internen Link verwenden. | ||
Zeile 39: | Zeile 39: | ||
Wir notieren uns das eigene Präfix für die spätere Verwendung. | Wir notieren uns das eigene Präfix für die spätere Verwendung. | ||
==== Router Advertisement ==== | |||
Unter IPv6 gehört es zum guten Ton, dass sich ein Router am Link bekannt macht. | Unter IPv6 gehört es zum guten Ton, dass sich ein Router am Link bekannt macht. | ||
* Dabei liefert er auch Informationen zu den verwendeten Präfixen mit, insbesondere zu den Präfixen für die er selbst zuständig ist. | * Dabei liefert er auch Informationen zu den verwendeten Präfixen mit, insbesondere zu den Präfixen für die er selbst zuständig ist. | ||
Zeile 47: | Zeile 47: | ||
* Wir werden fuzzball dazu bewegen, solche Router Advertisements am Link internal auszusenden. | * Wir werden fuzzball dazu bewegen, solche Router Advertisements am Link internal auszusenden. | ||
==== Router Advertisement Daemon ==== | |||
Dazu werden wir den Router Advertisement Daemon, kurz Radvd, verwenden. | Dazu werden wir den Router Advertisement Daemon, kurz Radvd, verwenden. | ||
* Die Installation gelingt, wie gewohnt, über den Paketmanager: | * Die Installation gelingt, wie gewohnt, über den Paketmanager: | ||
==== Minimale Konfiguration von Radvd ==== | |||
/etc/radvd.conf | /etc/radvd.conf | ||
interface eth1 { | interface eth1 { | ||
Zeile 71: | Zeile 71: | ||
* Die Dokumentation lässt sich mit den Kommandos man radvd und man radvd.conf anzeigen. | * Die Dokumentation lässt sich mit den Kommandos man radvd und man radvd.conf anzeigen. | ||
==== Erstkonfiguration von Radvd ==== | |||
Aufgrund fehlender Konfigurationsdatei verweigert Radvd noch die Aufnahme der Arbeit. | Aufgrund fehlender Konfigurationsdatei verweigert Radvd noch die Aufnahme der Arbeit. | ||
* Die Konfiguration reichen wir sogleich nach. | * Die Konfiguration reichen wir sogleich nach. | ||
Zeile 81: | Zeile 81: | ||
* Anstelle von 2a 1:198:2 :8a23::/64 setzen Sie bitte das Präfix ein, dass Sie sich vorhin von der SixXS-Seite notiert haben. | * Anstelle von 2a 1:198:2 :8a23::/64 setzen Sie bitte das Präfix ein, dass Sie sich vorhin von der SixXS-Seite notiert haben. | ||
==== Interface konfigurieren ==== | |||
Bevor wir Radvd neu starten, erhält das Interface eth1 noch eine Adresse aus dem Präfix das verteilt werden soll: | Bevor wir Radvd neu starten, erhält das Interface eth1 noch eine Adresse aus dem Präfix das verteilt werden soll: | ||
root@fuzzball :~# ip addr add 2a01:198:200:8a23::1/64 dev eth1 | root@fuzzball :~# ip addr add 2a01:198:200:8a23::1/64 dev eth1 | ||
==== Permanente Konfiguration von eth1 ==== | |||
/etc/network/interfaces | /etc/network/interfaces | ||
# Loopback Interface | # Loopback Interface | ||
Zeile 115: | Zeile 115: | ||
* Die Direktiven up und down haben nun ausgedient und werden durch address und netmask ersetzt. | * Die Direktiven up und down haben nun ausgedient und werden durch address und netmask ersetzt. | ||
==== Forwarding aktivieren ==== | |||
Ein Router ist ein Node der Pakete weiterleitet. | Ein Router ist ein Node der Pakete weiterleitet. | ||
* Als Fachbegriff dafür hat sich das englische forwarding durchgesetzt. | * Als Fachbegriff dafür hat sich das englische forwarding durchgesetzt. | ||
Zeile 129: | Zeile 129: | ||
IPv6-Forwarding permanent aktivieren | IPv6-Forwarding permanent aktivieren | ||
: Abbildung 5.4: IPv6-Header eines Router Advertisements | |||
Die Änderungen werden erst nach dem nächsten Neustart aktiv. | Die Änderungen werden erst nach dem nächsten Neustart aktiv. | ||
Zeile 142: | Zeile 142: | ||
Nun sollte Radvd periodische Router Advertisements aussenden. | Nun sollte Radvd periodische Router Advertisements aussenden. | ||
==== Router Advertisement mitschneiden ==== | |||
Natürlich werden wir auch den Beweis antreten und ein solches Router Advertisement auf dem Link entdecken. | Natürlich werden wir auch den Beweis antreten und ein solches Router Advertisement auf dem Link entdecken. | ||
* Wir starten Wireshark auf lynx und lassen ihn auf eth0 lauschen. | * Wir starten Wireshark auf lynx und lassen ihn auf eth0 lauschen. | ||
Zeile 149: | Zeile 149: | ||
* Es sollte den Abbildungen 5.4 und 5.5 recht nahe kommen. | * Es sollte den Abbildungen 5.4 und 5.5 recht nahe kommen. | ||
: Abbildung 5.5: Router Advertisement nach Minimalkonfiguration | |||
==== IPv6-Header des Router Advertisements ==== | |||
Betrachten wir zunächst den IPv6-Header des Paketes (Abbildung 5.4). | Betrachten wir zunächst den IPv6-Header des Paketes (Abbildung 5.4). | ||
* Das Feld Next Header verweist auf ICMPv6, dem Transportprotokoll von NDP. | * Das Feld Next Header verweist auf ICMPv6, dem Transportprotokoll von NDP. | ||
Zeile 168: | Zeile 168: | ||
Multicast Addresses hat uns bereits ein erstes Mal weitergeholfen. | Multicast Addresses hat uns bereits ein erstes Mal weitergeholfen. | ||
==== Router Advertisement im Detail ==== | |||
In der ICMPv6-Nachricht (Abbildung 5.5) sehen wir an erste Stelle die Typnummer 134 für Router Advertisements. | In der ICMPv6-Nachricht (Abbildung 5.5) sehen wir an erste Stelle die Typnummer 134 für Router Advertisements. | ||
* Nach Code und Checksum folgt ein Feld namens Cur Hop Limit, es hat in unserem Beispiel den Wert 64. | * Nach Code und Checksum folgt ein Feld namens Cur Hop Limit, es hat in unserem Beispiel den Wert 64. | ||
Zeile 174: | Zeile 174: | ||
* Hat das Feld den Wert 0, dann gibt es keine Vorgabe durch den Router, der Host entscheidet dann selbst welches Hop Limit er für IPv6-Pakete verwendet. | * Hat das Feld den Wert 0, dann gibt es keine Vorgabe durch den Router, der Host entscheidet dann selbst welches Hop Limit er für IPv6-Pakete verwendet. | ||
==== Router Advertisement Flags ==== | |||
Es folgen Flags, von denen hier keines gesetzt ist. | Es folgen Flags, von denen hier keines gesetzt ist. | ||
* Möglich wären folgende Flags: | * Möglich wären folgende Flags: | ||
==== Managed ==== | |||
Das Managed Flag zeigt einem interessierten Host an, dass er auf anderen Wegen Adressen erhalten kann. | Das Managed Flag zeigt einem interessierten Host an, dass er auf anderen Wegen Adressen erhalten kann. | ||
* Andere Wege meint zum Beispiel DHCPv6 und wird auch als stateful configuration bezeichnet. | * Andere Wege meint zum Beispiel DHCPv6 und wird auch als stateful configuration bezeichnet. | ||
* Nicht zu verwechseln mit der im Deutschen ähnlichen klingenden statischen Konfiguration. | * Nicht zu verwechseln mit der im Deutschen ähnlichen klingenden statischen Konfiguration. | ||
==== Other Managed ==== | |||
Mit diesem Flag informiert der Router darüber, dass weitere Konfigurationsdaten über einen anderen Weg bezogen werden können. | Mit diesem Flag informiert der Router darüber, dass weitere Konfigurationsdaten über einen anderen Weg bezogen werden können. | ||
* Auch hier ist in der Regel DHCPv6 | * Auch hier ist in der Regel DHCPv6 | ||
gemeint, welches beispielsweise Nameserver-Adressen zur Verfügung stellen könnte. | gemeint, welches beispielsweise Nameserver-Adressen zur Verfügung stellen könnte. | ||
==== Home Agent ==== | |||
Ein gesetztes Flag zeigt an, dass dieser Router als Home Agent für Mobile IPv6 genutzt werden kann. | Ein gesetztes Flag zeigt an, dass dieser Router als Home Agent für Mobile IPv6 genutzt werden kann. | ||
==== Router Preference ==== | |||
Eigentlich handelt es sich bei der Router Preference nicht um ein Flag im klassischen Sinne. | Eigentlich handelt es sich bei der Router Preference nicht um ein Flag im klassischen Sinne. | ||
* Es werden zwei Bits im Flag-Feld genutzt um die Priorität des Routers zu codieren. | * Es werden zwei Bits im Flag-Feld genutzt um die Priorität des Routers zu codieren. | ||
Zeile 197: | Zeile 197: | ||
* Sollten mehrere Default-Router am Link präsent sein, wird die Priorität auf den Hosts unter Berücksichtigung dieses Flags festgelegt. | * Sollten mehrere Default-Router am Link präsent sein, wird die Priorität auf den Hosts unter Berücksichtigung dieses Flags festgelegt. | ||
==== Proxy ==== | |||
Dieses Flag wurde im experimentellen RFC 4389 [TTP06] vorgeschlagen. | Dieses Flag wurde im experimentellen RFC 4389 [TTP06] vorgeschlagen. | ||
* Es deutet auf das Vorhandensein eines NDP-Proxys hin. | * Es deutet auf das Vorhandensein eines NDP-Proxys hin. | ||
Zeile 205: | Zeile 205: | ||
* So wäre es zum Beispiel möglich, den Hosts zwar die eigenständige Adresskonfiguration zu erlauben, ihnen alle zusätzlichen Informationen jedoch per DHCPv6 zuzustellen. | * So wäre es zum Beispiel möglich, den Hosts zwar die eigenständige Adresskonfiguration zu erlauben, ihnen alle zusätzlichen Informationen jedoch per DHCPv6 zuzustellen. | ||
==== Router Lifetime ==== | |||
Im Router Advertisement folgt als nächstes die Router Lifetime in Sekunden. | Im Router Advertisement folgt als nächstes die Router Lifetime in Sekunden. | ||
* Sie gibt an, wie lange dieser Router als DefaultRouter verwendet werden darf. | * Sie gibt an, wie lange dieser Router als DefaultRouter verwendet werden darf. | ||
Zeile 214: | Zeile 214: | ||
* Da wir alle 15 Sekunden ein Router Advertisement aussenden, sollten wir vorerst nicht Gefahr laufen, den DefaultRouter zu verlieren. | * Da wir alle 15 Sekunden ein Router Advertisement aussenden, sollten wir vorerst nicht Gefahr laufen, den DefaultRouter zu verlieren. | ||
==== Reachable Time und Retrans Timer ==== | |||
Die Felder Reachable Time und Retrans Timer dienen den Stacks der Hosts als Anhaltspunkte für ihre eigene Konfiguration. | Die Felder Reachable Time und Retrans Timer dienen den Stacks der Hosts als Anhaltspunkte für ihre eigene Konfiguration. | ||
* Die Reachable Time legt fest, wie viele Millisekunden ein Nachbar auf dem Link als erreichbar gilt, nachdem eine Bestätigung der Erreichbarkeit eingetroffen ist. | * Die Reachable Time legt fest, wie viele Millisekunden ein Nachbar auf dem Link als erreichbar gilt, nachdem eine Bestätigung der Erreichbarkeit eingetroffen ist. | ||
==== Hinweis ==== | |||
: Als Bestätigung der Erreichbarkeit können alle Pakete dienen, die darauf schließen lassen, das der Nachbar erreichbar ist. | : Als Bestätigung der Erreichbarkeit können alle Pakete dienen, die darauf schließen lassen, das der Nachbar erreichbar ist. | ||
* Zum Beispiel können das eintreffende Pakete einer bestehenden TCP-Verbindung sein. | * Zum Beispiel können das eintreffende Pakete einer bestehenden TCP-Verbindung sein. | ||
Zeile 227: | Zeile 227: | ||
* Wenn die Felder den Wert enthalten, macht der Router keine Vorgaben und die Hosts können ihre eigene Konfiguration verwenden. | * Wenn die Felder den Wert enthalten, macht der Router keine Vorgaben und die Hosts können ihre eigene Konfiguration verwenden. | ||
==== Präfix-Informationen ==== | |||
Unser Router Advertisement liefert zwei ICMPv6-Optionen mit. | Unser Router Advertisement liefert zwei ICMPv6-Optionen mit. | ||
Die Option Source Link-layer Address kennen wir schon aus anderen NDP-Paketen. | Die Option Source Link-layer Address kennen wir schon aus anderen NDP-Paketen. | ||
Zeile 235: | Zeile 235: | ||
* In diesem Fall sind es 64 Bits, so dass den Hosts weitere 64 Bits für ihre Interface Identifier zur Verfügung stehen. | * In diesem Fall sind es 64 Bits, so dass den Hosts weitere 64 Bits für ihre Interface Identifier zur Verfügung stehen. | ||
: Abbildung 5.6: Prefix Information Option | |||
==== Präfix-Flags ==== | |||
Jedes Präfix hat ein eigenes Feld für Flags. | Jedes Präfix hat ein eigenes Feld für Flags. | ||
* Die Bedeutung der Flags ist wie folgt: | * Die Bedeutung der Flags ist wie folgt: | ||
==== On-Link ==== | |||
Ist das Flag gesetzt, zeigt der Router damit an, dass dieses Präfix sich auf dem Link befindet. | Ist das Flag gesetzt, zeigt der Router damit an, dass dieses Präfix sich auf dem Link befindet. | ||
* Pakete an Adressen innerhalb des Präfixes können direkt gesendet werden, und brauchen nicht über den Router gehen. | * Pakete an Adressen innerhalb des Präfixes können direkt gesendet werden, und brauchen nicht über den Router gehen. | ||
* Wenn das Flag nicht gesetzt wurde, bedeutet das lediglich, dass der Router keine Aussage treffen konnte. | * Wenn das Flag nicht gesetzt wurde, bedeutet das lediglich, dass der Router keine Aussage treffen konnte. | ||
==== Autonomous Address-Configuration ==== | |||
Das Flag wird gesetzt wenn das Präfix den Hosts für die Stateless Address Autoconfiguration zur Verfügung steht. | Das Flag wird gesetzt wenn das Präfix den Hosts für die Stateless Address Autoconfiguration zur Verfügung steht. | ||
==== Router Address ==== | |||
Wenn das Flag gesetzt ist, befindet sich im Präfix-Feld anstelle eines Präfixes die Adresse des Interfaces welches für Mobile IPv6 zuständig ist. | Wenn das Flag gesetzt ist, befindet sich im Präfix-Feld anstelle eines Präfixes die Adresse des Interfaces welches für Mobile IPv6 zuständig ist. | ||
* Dieses Flag nutzen wir im Workshop nicht. | * Dieses Flag nutzen wir im Workshop nicht. | ||
==== Valid Lifetime und Preferred Lifetime ==== | |||
In den Feldern Valid Lifetime und Preferred Lifetime wird festgelegt, wie lange das Präfix gültig (valid) ist und bevorzugt (preferred) werden soll. | In den Feldern Valid Lifetime und Preferred Lifetime wird festgelegt, wie lange das Präfix gültig (valid) ist und bevorzugt (preferred) werden soll. | ||
* Generierte Adressen aus dem Präfix erben diese Eigenschaften. | * Generierte Adressen aus dem Präfix erben diese Eigenschaften. | ||
Zeile 261: | Zeile 261: | ||
* Der höchstmögliche Wert steht abweichend für unbegrenzte Gültigkeit. | * Der höchstmögliche Wert steht abweichend für unbegrenzte Gültigkeit. | ||
==== Das Präfix ==== | |||
Das letzte, und wohl wichtigste, Feld ist das Präfix selbst. | Das letzte, und wohl wichtigste, Feld ist das Präfix selbst. | ||
* Der Teil hinter der mit Prefix Length definierten Grenze wird üblicherweise mit Nullen aufgefüllt und von den Hosts ignoriert. | * Der Teil hinter der mit Prefix Length definierten Grenze wird üblicherweise mit Nullen aufgefüllt und von den Hosts ignoriert. | ||
* Unser Router hat hier das Präfix 2a 1:198:2 :8a23:: verteilt, so wie wir es Radvd aufgetragen haben. | * Unser Router hat hier das Präfix 2a 1:198:2 :8a23:: verteilt, so wie wir es Radvd aufgetragen haben. | ||
==== Angepasstes Router Advertisement ==== | |||
Jetzt, wo wir uns mit Router Advertisements besser auskennen, werden wir unsere Minimalkonfiguration von Radvd etwas leistungssteigern. | Jetzt, wo wir uns mit Router Advertisements besser auskennen, werden wir unsere Minimalkonfiguration von Radvd etwas leistungssteigern. | ||
* Die Router Advertisements sollen weiterhin in Abständen von mindestens 15 Sekunden ausgesendet werden, es sollen aber nie mehr als 60 Sekunden zwischen ihnen liegen. | * Die Router Advertisements sollen weiterhin in Abständen von mindestens 15 Sekunden ausgesendet werden, es sollen aber nie mehr als 60 Sekunden zwischen ihnen liegen. | ||
Zeile 278: | Zeile 278: | ||
Natürlich darf auch die Source Link-layer Address nicht fehlen. | Natürlich darf auch die Source Link-layer Address nicht fehlen. | ||
==== Radvd konfigurieren ==== | |||
Versuchen Sie mithilfe des Kommandos man radvd.conf das eben beschriebene Router Advertisement zu konfigurieren. | Versuchen Sie mithilfe des Kommandos man radvd.conf das eben beschriebene Router Advertisement zu konfigurieren. | ||
* Die Lösung: | * Die Lösung: | ||
==== Angepasste Konfiguration von Radvd ==== | |||
/etc/radvd.conf | /etc/radvd.conf | ||
interface eth1 { | interface eth1 { | ||
Zeile 333: | Zeile 333: | ||
}; | }; | ||
: Abbildung 5.8: Angepasstes Router Advertisement | |||
Zum Anwenden der geänderten Konfiguration starten wir Radvd neu: | Zum Anwenden der geänderten Konfiguration starten wir Radvd neu: | ||
Zeile 344: | Zeile 344: | ||
=== Stateless Address Autoconfiguration === | === Stateless Address Autoconfiguration === | ||
==== Zweck ==== | |||
Die Stateless Address Autoconfiguration, kurz SLAAC, dient der automatischen Konfiguration von Adressen und Routen der Hosts am Link. | Die Stateless Address Autoconfiguration, kurz SLAAC, dient der automatischen Konfiguration von Adressen und Routen der Hosts am Link. | ||
* Damit reduziert IPv6 als Protokoll die | * Damit reduziert IPv6 als Protokoll die | ||
Zeile 355: | Zeile 355: | ||
* Aber auch ein simultaner Betrieb von DHCPv6 und Stateless Address Autoconfiguration wäre denkbar. | * Aber auch ein simultaner Betrieb von DHCPv6 und Stateless Address Autoconfiguration wäre denkbar. | ||
==== Autoconfiguration ==== | |||
SLAAC ist Bestandteil der Autoconfiguration, die drei wesentliche Aufgaben hat: | SLAAC ist Bestandteil der Autoconfiguration, die drei wesentliche Aufgaben hat: | ||
* Generieren einer Link-local Address | * Generieren einer Link-local Address | ||
Zeile 361: | Zeile 361: | ||
* Sicherstellen der Eindeutigkeit der generierten Adressen (Duplicate Address Detection) | * Sicherstellen der Eindeutigkeit der generierten Adressen (Duplicate Address Detection) | ||
==== Prinzipieller Ablauf ==== | |||
: Abbildung 5.9 Prinzip von SLAAC | |||
Den ersten Schritt macht der Host, indem er mittels Router Solicitation nach einem Router Advertisement fragt. | Den ersten Schritt macht der Host, indem er mittels Router Solicitation nach einem Router Advertisement fragt. | ||
Zeile 371: | Zeile 371: | ||
* Erst wenn diese Eindeutigkeit angenommen werden kann, ist die Konfiguration des Interfaces vollständig und gilt als beendet. | * Erst wenn diese Eindeutigkeit angenommen werden kann, ist die Konfiguration des Interfaces vollständig und gilt als beendet. | ||
==== Duplicate Address Detection ==== | |||
Hinter der Duplicate Address Detection verbergen sich eigentlich mehrere Neighbor Solicitations. | Hinter der Duplicate Address Detection verbergen sich eigentlich mehrere Neighbor Solicitations. | ||
* Wenn ein Node feststellen möchte, ob eine Adresse schon von einem anderen Node genutzt wird, dann versucht er die zugehörige Linklayer Address aufzulösen. | * Wenn ein Node feststellen möchte, ob eine Adresse schon von einem anderen Node genutzt wird, dann versucht er die zugehörige Linklayer Address aufzulösen. | ||
Zeile 381: | Zeile 381: | ||
Adresse bereits in Benutzung ist, wird die Adresse valid (gültig). | Adresse bereits in Benutzung ist, wird die Adresse valid (gültig). | ||
==== Autoconfiguration mitschneiden ==== | |||
Wir werden versuchen eine komplette Autoconfiguration von lynx mit Wireshark aufzufangen. | Wir werden versuchen eine komplette Autoconfiguration von lynx mit Wireshark aufzufangen. | ||
* Vom Hochfahren des Interfaces bis zu seiner endgültigen Konfiguration. | * Vom Hochfahren des Interfaces bis zu seiner endgültigen Konfiguration. | ||
Zeile 400: | Zeile 400: | ||
* Von den vielen Paketen die wir mitgeschnitten haben sind nicht alle von Interesse. | * Von den vielen Paketen die wir mitgeschnitten haben sind nicht alle von Interesse. | ||
==== Multicast DNS ==== | |||
Insbesondere die Pakete vom Typ Multicast DNS (mDNS) werden wir an dieser Stelle ignorieren. | Insbesondere die Pakete vom Typ Multicast DNS (mDNS) werden wir an dieser Stelle ignorieren. | ||
* Multicast DNS erlaubt die Auflösung von Namen der Domain .local zu Linklocal Addresses. | * Multicast DNS erlaubt die Auflösung von Namen der Domain .local zu Linklocal Addresses. | ||
Zeile 407: | Zeile 407: | ||
* Mehr zu Multicast DNS und seinem Nutzen für kleine Netze findet sich auf der gemeinsamen Website der Beteiligten Interessensgruppen. (http://www.multicastdns.org/) | * Mehr zu Multicast DNS und seinem Nutzen für kleine Netze findet sich auf der gemeinsamen Website der Beteiligten Interessensgruppen. (http://www.multicastdns.org/) | ||
==== Multicast Listener Report (Solicited Node) ==== | |||
Das erste interessante Paket im Mitschnitt ist ein Multicast Listener Report und wurde von lynx verschickt. | Das erste interessante Paket im Mitschnitt ist ein Multicast Listener Report und wurde von lynx verschickt. | ||
* Der IPv6-Header ist in Abbildung 5.10 zu sehen. | * Der IPv6-Header ist in Abbildung 5.10 zu sehen. | ||
: Abbildung 5.10 SLAAC Paket 1: IPv6-Header | |||
Als Quelladresse hat lynx die Unspecified Address gewählt. | Als Quelladresse hat lynx die Unspecified Address gewählt. | ||
Zeile 430: | Zeile 430: | ||
* Es handelt sich dabei um die Solicited Node Multicast Address von Interface eth0 auf lynx. | * Es handelt sich dabei um die Solicited Node Multicast Address von Interface eth0 auf lynx. | ||
==== Gruppenbeitritt ==== | |||
Zu diesem Zeitpunkt hat lynx also bereits einen Interface Identifier erzeugt. | Zu diesem Zeitpunkt hat lynx also bereits einen Interface Identifier erzeugt. | ||
* Der Beitritt zur entsprechenden Multicast Group gewährt ihm Zugang zu den Paketen dieser Gruppe. | * Der Beitritt zur entsprechenden Multicast Group gewährt ihm Zugang zu den Paketen dieser Gruppe. | ||
: Abbildung 5.11 SLAAC Paket 1:Multicast Listener Report | |||
So hat er die Chance, frühzeitig zu erfahren, ob sein Interface Identifier schon verwendet wird. | So hat er die Chance, frühzeitig zu erfahren, ob sein Interface Identifier schon verwendet wird. | ||
Zeile 440: | Zeile 440: | ||
* Eine doppelt vorkommende Adresse würde dadurch schneller auffallen. | * Eine doppelt vorkommende Adresse würde dadurch schneller auffallen. | ||
==== Gruppen mit mehreren Mitgliedern ==== | |||
Es wäre allerdings auch möglich, dass ein anderer Node eine ähnliche Adresse verwendet. | Es wäre allerdings auch möglich, dass ein anderer Node eine ähnliche Adresse verwendet. | ||
* Beispielsweise eine Adresse bei der sich die letzten 24 Bits gleichen. | * Beispielsweise eine Adresse bei der sich die letzten 24 Bits gleichen. | ||
Zeile 448: | Zeile 448: | ||
* Auch lynx könnte Pakete empfangen, nach der Prüfung des Inhaltes aber feststellen, dass der eigene Interface Identifier davon nicht betroffen ist. | * Auch lynx könnte Pakete empfangen, nach der Prüfung des Inhaltes aber feststellen, dass der eigene Interface Identifier davon nicht betroffen ist. | ||
==== Duplicate Address Detection (Link-local) ==== | |||
Möchte lynx nun feststellen, ob die von ihm gewählte Adresse nicht nur vielleicht eindeutig ist, dann ist eine Duplicate Address Detection erfolgsversprechender. | Möchte lynx nun feststellen, ob die von ihm gewählte Adresse nicht nur vielleicht eindeutig ist, dann ist eine Duplicate Address Detection erfolgsversprechender. | ||
* Wenn sie fehlschlägt, dann ist die von lynx gewählte Adresse sehr wahrscheinlich | * Wenn sie fehlschlägt, dann ist die von lynx gewählte Adresse sehr wahrscheinlich | ||
: Abbildung 5.12: SLAAC Paket 2: Neighbor Solicitation | |||
auf dem Link noch nicht vergeben. | auf dem Link noch nicht vergeben. | ||
Zeile 464: | Zeile 464: | ||
* Sie wird dann dem Interface zugewiesen und gilt fortan als valid. | * Sie wird dann dem Interface zugewiesen und gilt fortan als valid. | ||
==== Router Solicitation ==== | |||
Nachdem lynx nun eine gültige Link-local Address hat, versucht er auch eine gültige Adresse für den Global Scope zu erhalten. | Nachdem lynx nun eine gültige Link-local Address hat, versucht er auch eine gültige Adresse für den Global Scope zu erhalten. | ||
* Dazu lässt er sich von jedem Router am Link ein Router | * Dazu lässt er sich von jedem Router am Link ein Router | ||
: Abbildung 5.13: SLAAC Paket 3: Router Solicitation | |||
Advertisement zukommen. | Advertisement zukommen. | ||
Zeile 477: | Zeile 477: | ||
* Angehängt an die Router Solicitation ist, eine ICMPv6-Option mit der Link-layer Address des Absenders. | * Angehängt an die Router Solicitation ist, eine ICMPv6-Option mit der Link-layer Address des Absenders. | ||
==== Router Advertisement ==== | |||
Alle Router am Link antworten auf die Router Solicitation mit einem Router Advertisement. | Alle Router am Link antworten auf die Router Solicitation mit einem Router Advertisement. | ||
* Da wir nur einen Router am Link haben, nämlich fuzzball, erhalten wir auch nur ein Router Advertisement. | * Da wir nur einen Router am Link haben, nämlich fuzzball, erhalten wir auch nur ein Router Advertisement. | ||
Zeile 484: | Zeile 484: | ||
* Ein auffrischender Blick in das Paket wird aber sicher nicht schaden. | * Ein auffrischender Blick in das Paket wird aber sicher nicht schaden. | ||
: Abbildung 5.14: SLAAC Paket 5: IPv6-Header | |||
Nach dem Erhalt des Router Advertisements erzeugt lynx eine Global Unicast Address. | Nach dem Erhalt des Router Advertisements erzeugt lynx eine Global Unicast Address. | ||
* Dazu verwendet er das von fuzzball verteilte Präfix und den bereits vorhandenen Interface Identifier. | * Dazu verwendet er das von fuzzball verteilte Präfix und den bereits vorhandenen Interface Identifier. | ||
==== Multicast Listener Report (Solicited Node, Multicast-DNS) ==== | |||
Auch für diese Adresse muss eine Duplicate Address Detection durchgeführt werden. | Auch für diese Adresse muss eine Duplicate Address Detection durchgeführt werden. | ||
* Die beginnt wieder mit dem Beitritt zu der passenden Multicast Group. | * Die beginnt wieder mit dem Beitritt zu der passenden Multicast Group. | ||
Zeile 501: | Zeile 501: | ||
* Und einen weiteren Gruppenbeitritt können wir | * Und einen weiteren Gruppenbeitritt können wir | ||
: Abbildung 5.15 SLAAC Paket 5: Multicast Listener Report | |||
im Paket entdecken, der Beitritt zur Gruppe ff 2::fb. | im Paket entdecken, der Beitritt zur Gruppe ff 2::fb. | ||
* Dies ist die Multicast DNS Address für die Verwendung mit IPv6, und für unser Netz nicht weiter wichtig. | * Dies ist die Multicast DNS Address für die Verwendung mit IPv6, und für unser Netz nicht weiter wichtig. | ||
==== Duplicate Address Detection (Global Unicast) ==== | |||
Der letzte Schritt ist die Durchführung der Duplicate Address Detection für die Global Unicast Address. | Der letzte Schritt ist die Durchführung der Duplicate Address Detection für die Global Unicast Address. | ||
* Dazu sendet lynx wieder eine Neighbor Solicitation, zu sehen in Abbildung 5.16, aus. | * Dazu sendet lynx wieder eine Neighbor Solicitation, zu sehen in Abbildung 5.16, aus. | ||
Zeile 513: | Zeile 513: | ||
* Das Interface eth0 ist nun fertig konfiguriert. | * Das Interface eth0 ist nun fertig konfiguriert. | ||
==== Konnektivitätstest ==== | |||
Einem Test der Konnektivität von lynx steht nun nichts mehr im Wege. | Einem Test der Konnektivität von lynx steht nun nichts mehr im Wege. | ||
* Dazu verschicken wir Echo Requests von lynx an den Tunnelendpunkt von SixXS: | * Dazu verschicken wir Echo Requests von lynx an den Tunnelendpunkt von SixXS: | ||
Zeile 525: | Zeile 525: | ||
2 3 ms | 2 3 ms | ||
: Abbildung 5.16: SLAAC Paket 6: Neighbor Solicitation | |||
Da Echo Replies eintreffen, können wir davon ausgehen dass das Routing funktioniert. | Da Echo Replies eintreffen, können wir davon ausgehen dass das Routing funktioniert. | ||
Zeile 540: | Zeile 540: | ||
* Schon in der zweiten Zeile ist das Ziel erreicht. | * Schon in der zweiten Zeile ist das Ziel erreicht. | ||
==== SLAAC unter Windows 8 ==== | |||
Nun werden wir die eben erworbenen Fähigkeiten zur Analyse einer Autoconfiguration auf felis anwenden. | Nun werden wir die eben erworbenen Fähigkeiten zur Analyse einer Autoconfiguration auf felis anwenden. | ||
* Bei dieser Gelegenheit werden wir auch Unterschiede entdecken, die durch Aktivierung von Privacy Extensions auftreten. | * Bei dieser Gelegenheit werden wir auch Unterschiede entdecken, die durch Aktivierung von Privacy Extensions auftreten. | ||
Zeile 546: | Zeile 546: | ||
* Nach dem Betätigen der Tastenkombination Windowstaste+X erscheint ein Menü in dem wir den Punkt Command Prompt (Admin) auswählen: | * Nach dem Betätigen der Tastenkombination Windowstaste+X erscheint ein Menü in dem wir den Punkt Command Prompt (Admin) auswählen: | ||
: Abbildung 5.17 SLAAC unter Windows 8 | |||
C :\ Users \ user > netsh interface ipv6 set global randomizeidentifiers = enabled | C :\ Users \ user > netsh interface ipv6 set global randomizeidentifiers = enabled | ||
Ok. | Ok. | ||
Zeile 557: | Zeile 557: | ||
* In beiden Fällen ergibt sich ein Mitschnitt, der dem aus Abbildung 5.17 ähnlich sieht. | * In beiden Fällen ergibt sich ein Mitschnitt, der dem aus Abbildung 5.17 ähnlich sieht. | ||
==== Eigene Untersuchungen ==== | |||
Untersuchen Sie die einzelnen Pakete und finden Sie heraus, zu welchem Zweck jedes einzelne versendet wurde. | Untersuchen Sie die einzelnen Pakete und finden Sie heraus, zu welchem Zweck jedes einzelne versendet wurde. | ||
* Sie können sich dabei auf ICMPv6 beschränken und auch die | * Sie können sich dabei auf ICMPv6 beschränken und auch die | ||
Zeile 564: | Zeile 564: | ||
oder auf einen EUI-64-basierten Interface Identifier beziehen? | oder auf einen EUI-64-basierten Interface Identifier beziehen? | ||
: Abbildung 5.18: Interner Link mit DNS-Server | |||
=== Namensauflösung === | === Namensauflösung === | ||
Zeile 575: | Zeile 575: | ||
Ohne die Möglichkeit Namen aufzulösen, verschafft selbst die beste Konnektivität wenig Vorteile. | Ohne die Möglichkeit Namen aufzulösen, verschafft selbst die beste Konnektivität wenig Vorteile. | ||
==== Zielkonfiguration DNS ==== | |||
Der Router agiert bereits als zentraler Anlaufpunkt für alle Daten die den Link verlassen sollen. | Der Router agiert bereits als zentraler Anlaufpunkt für alle Daten die den Link verlassen sollen. | ||
* Es bietet sich daher an, ihm auch die Aufgabe der Namensauflösung zuzuteilen. | * Es bietet sich daher an, ihm auch die Aufgabe der Namensauflösung zuzuteilen. | ||
Zeile 584: | Zeile 584: | ||
* Die Geschwindigkeit, mit der eintreffende Anfragen beantwortet werden, wird so im Laufe der Zeit optimiert. | * Die Geschwindigkeit, mit der eintreffende Anfragen beantwortet werden, wird so im Laufe der Zeit optimiert. | ||
==== Installation von Unbound ==== | |||
Ein schlanker und einfach zu konfigurierender Nameserver ist Unbound. | Ein schlanker und einfach zu konfigurierender Nameserver ist Unbound. | ||
* Seine Stärke ist das Auflösen von Namen und das Cachen der Ergebnisse. | * Seine Stärke ist das Auflösen von Namen und das Cachen der Ergebnisse. | ||
Zeile 600: | Zeile 600: | ||
* Starting recursive DNS server unbound [ OK ] | * Starting recursive DNS server unbound [ OK ] | ||
==== Konfiguration von Unbound ==== | |||
Der Nameserver soll sowohl für die Hosts am Link, als auch für fuzzball selbst, zuständig sein. | Der Nameserver soll sowohl für die Hosts am Link, als auch für fuzzball selbst, zuständig sein. | ||
* Er muss daher auf der Loopback Address und auf einer der Adressen von Interface eth1 lauschen. | * Er muss daher auf der Loopback Address und auf einer der Adressen von Interface eth1 lauschen. | ||
Zeile 616: | Zeile 616: | ||
* Restarting recursive DNS server unbound [ OK ] | * Restarting recursive DNS server unbound [ OK ] | ||
==== Nameserver testen ==== | |||
Mit dem Kommando host können wir uns von der Funktion des Nameservers überzeugen. | Mit dem Kommando host können wir uns von der Funktion des Nameservers überzeugen. | ||
* Das erste Argument ist der aufzulösende Hostname, das zweite und optionale Argument benennt | * Das erste Argument ist der aufzulösende Hostname, das zweite und optionale Argument benennt | ||
: Abbildung 5.19 Konfiguration von Unbound | |||
/etc/unbound/unbound.conf | /etc/unbound/unbound.conf | ||
Zeile 648: | Zeile 648: | ||
2 1:67 c :26 f4 :8 ::6:8 | 2 1:67 c :26 f4 :8 ::6:8 | ||
==== Nameserver festlegen ==== | |||
Wenn der Server wie erwartet antwortet, definieren wir ihn, falls das System es nicht bereits in vorrauseilendem Gehorsam getan hat, auf fuzzball als Standard-Nameserver: | Wenn der Server wie erwartet antwortet, definieren wir ihn, falls das System es nicht bereits in vorrauseilendem Gehorsam getan hat, auf fuzzball als Standard-Nameserver: | ||
root@fuzzball :~# resolvconf -u | root@fuzzball :~# resolvconf -u | ||
Zeile 658: | Zeile 658: | ||
* Mit dem Kommando cat haben wir uns den Inhalt der Datei anzeigen lassen. | * Mit dem Kommando cat haben wir uns den Inhalt der Datei anzeigen lassen. | ||
==== Erreichbarkeit testen ==== | |||
Die Erreichbarkeit des Nameservers testen wir sicherheitshalber auch von einem der Hosts aus. | Die Erreichbarkeit des Nameservers testen wir sicherheitshalber auch von einem der Hosts aus. | ||
* Zum Beispiel durch eine einfache Namensauflösung auf lynx: | * Zum Beispiel durch eine einfache Namensauflösung auf lynx: | ||
Zeile 674: | Zeile 674: | ||
Die korrekte Auflösung zeigt uns, dass der Nameserver funktioniert und von den Hosts erreicht und verwendet werden kann. | Die korrekte Auflösung zeigt uns, dass der Nameserver funktioniert und von den Hosts erreicht und verwendet werden kann. | ||
==== Die RDNSS Option ==== | |||
Nameserver-Adressen lassen sich auch als Option im Router Advertisement unterbringen und so bequem auf dem Link verteilen. | Nameserver-Adressen lassen sich auch als Option im Router Advertisement unterbringen und so bequem auf dem Link verteilen. | ||
* Die Option heißt RDNSS Option, ist in RFC 6106 [JPBM10] spezifiziert, und reiht sich ein in die lange Liste der ICMPv6-Optionen. | * Die Option heißt RDNSS Option, ist in RFC 6106 [JPBM10] spezifiziert, und reiht sich ein in die lange Liste der ICMPv6-Optionen. | ||
* Insgesamt bietet sich uns damit der gleiche Komfort wie beim Betrieb eines sehr einfach gehaltenen DHCP-Servers, nur eben ohne einen dedizierten DHCP-Server für derartige Informationen bereitstellen zu müssen. | * Insgesamt bietet sich uns damit der gleiche Komfort wie beim Betrieb eines sehr einfach gehaltenen DHCP-Servers, nur eben ohne einen dedizierten DHCP-Server für derartige Informationen bereitstellen zu müssen. | ||
==== RDNSS Option im Router Advertisement ==== | |||
Mit der Verteilung der Router Advertisements hatten wir Radvd beauftragt. | Mit der Verteilung der Router Advertisements hatten wir Radvd beauftragt. | ||
* Wir ergänzen die Konfigurationsdatei gemäß Abbildung 5.20 um die RDNSS Option. | * Wir ergänzen die Konfigurationsdatei gemäß Abbildung 5.20 um die RDNSS Option. | ||
Zeile 688: | Zeile 688: | ||
Starting radvd : radvd. | Starting radvd : radvd. | ||
==== Router Advertisement ==== | |||
Selbstverständlich schauen wir uns das neue Router Advertisement in Wireshark an. | Selbstverständlich schauen wir uns das neue Router Advertisement in Wireshark an. | ||
* Auf fuzzball fangen wir eines auf Interface eth1 auf. | * Auf fuzzball fangen wir eines auf Interface eth1 auf. | ||
Zeile 698: | Zeile 698: | ||
* Die Gültigkeit mag auf den ersten Blick sehr kurz erscheinen, schließlich ändern sich die Adressen von Nameservern üblicherweise nicht jede | * Die Gültigkeit mag auf den ersten Blick sehr kurz erscheinen, schließlich ändern sich die Adressen von Nameservern üblicherweise nicht jede | ||
: Abbildung 5.20: Konfiguration von Radvd mit RDNSS Address | |||
: Abbildung 5.21: Router Advertisement mit RDNSS Address | |||
/etc/radvd.conf | /etc/radvd.conf | ||
Zeile 756: | Zeile 756: | ||
* Mit 60 Sekunden sind wir unter diesem empfohlenen Höchstwert geblieben. | * Mit 60 Sekunden sind wir unter diesem empfohlenen Höchstwert geblieben. | ||
==== Betriebssysteme und die RDNSS Option ==== | |||
Die hostseitige Unterstützung für die RDNSS Option ist leider nicht in allen Betriebssystemen vorhanden. | Die hostseitige Unterstützung für die RDNSS Option ist leider nicht in allen Betriebssystemen vorhanden. | ||
* Die Betriebssysteme iOS und OS X von Apple geben ein gutes Bild ab, was die Unterstützung der RDNSS Option angeht. | * Die Betriebssysteme iOS und OS X von Apple geben ein gutes Bild ab, was die Unterstützung der RDNSS Option angeht. | ||
Zeile 774: | Zeile 774: | ||
* d network - manager enable update - rc .d: using dependency based boot sequencing | * d network - manager enable update - rc .d: using dependency based boot sequencing | ||
: Abbildung 5.22 NetworkManager: Einstellungen und Profile | |||
: Abbildung 5.23 Profil Auto eth0 auf lynx | |||
==== Konfiguration durch NetworkManager ==== | |||
Auf dem Desktop befindet sich der NetworkManager in der oberen Leiste. | Auf dem Desktop befindet sich der NetworkManager in der oberen Leiste. | ||
* Ein Symbol bestehend aus zwei verbundenen Computern bietet Zugriff auf die Oberfläche des Programms. | * Ein Symbol bestehend aus zwei verbundenen Computern bietet Zugriff auf die Oberfläche des Programms. | ||
Zeile 791: | Zeile 791: | ||
* Das Symbol zeigt für einen kurzen Augenblick Aktivität an und beruhigt sich wieder, sobald die Konfiguration erfolgreich verlaufen ist. | * Das Symbol zeigt für einen kurzen Augenblick Aktivität an und beruhigt sich wieder, sobald die Konfiguration erfolgreich verlaufen ist. | ||
==== Überprüfen der Konfiguration ==== | |||
Davon werden wir uns überzeugen und lassen uns die Adressen des Interfaces anzeigen: | Davon werden wir uns überzeugen und lassen uns die Adressen des Interfaces anzeigen: | ||
user@lynx :~ $ ip addr show dev eth | user@lynx :~ $ ip addr show dev eth | ||
Zeile 803: | Zeile 803: | ||
Es zeigt sich das gewohnte Bild, die Autoconfiguration hat korrekt gearbeitet. | Es zeigt sich das gewohnte Bild, die Autoconfiguration hat korrekt gearbeitet. | ||
* Mit dem Kommando cat lassen wir uns den Inhalt der Datei /etc/resolv.conf anzeigen: | * Mit dem Kommando cat lassen wir uns den Inhalt der Datei /etc/resolv.conf anzeigen: | ||
user@lynx :~ $ cat / etc / resolv . | user@lynx :~ $ cat /etc/resolv.conf | ||
# Generated by NetworkManager nameserver 2 a 1 :198:2 :8 a23 ::1 | |||
# Generated by NetworkManager nameserver 2 a 1 :198:2 :8 a23 ::1 | |||
Der NetworkManager hat die Nameserver-Adresse richtig aus dem Router Advertisement extrahiert und sie dem System bekannt gemacht. | Der NetworkManager hat die Nameserver-Adresse richtig aus dem Router Advertisement extrahiert und sie dem System bekannt gemacht. | ||
* Der obligatorische Test beweist das Funktionieren der Namensauflösung und des Routings auf lynx: | * Der obligatorische Test beweist das Funktionieren der Namensauflösung und des Routings auf lynx: | ||
user@lynx :~ $ ping6 -c 3 ping | user@lynx :~ $ ping6 -c 3 ping | ||
RDNSS Option unter Windows 8 | RDNSS Option unter Windows 8 | ||
Zeile 829: | Zeile 814: | ||
* Es gibt ein Programm namens rdnssd-win32 welches die Funktionalität nachrüstet, dieses stammt aber nicht | * Es gibt ein Programm namens rdnssd-win32 welches die Funktionalität nachrüstet, dieses stammt aber nicht | ||
: Abbildung 5.24: Einstellungen von LAN1 aufrufen | |||
: Abbildung 5.25: Protokolle von LAN1 | |||
von offizieller Seite (http://sourceforge.net/projects/rdnssd-win32/).Die Hoffnungen ruhen auf einer Nachrüstung durch eines der kommenden Service Packs. | von offizieller Seite (http://sourceforge.net/projects/rdnssd-win32/).Die Hoffnungen ruhen auf einer Nachrüstung durch eines der kommenden Service Packs. | ||
Zeile 839: | Zeile 824: | ||
Wir wählen IPv6 aus und öffnen mit einem Klick auf Properties den Dialog zur IPv6-Konfiguration. | Wir wählen IPv6 aus und öffnen mit einem Klick auf Properties den Dialog zur IPv6-Konfiguration. | ||
: Abbildung 5.26: IPv6Konfiguration von LAN1 | |||
: Abbildung 5.27: Website des KAME-Projekts | |||
Während die Einstellungen für die Adresse unverändert auf automatically stehen bleiben, erfordern die Nameserver-Einstellungen unser Zutun. | Während die Einstellungen für die Adresse unverändert auf automatically stehen bleiben, erfordern die Nameserver-Einstellungen unser Zutun. |
Version vom 7. August 2023, 21:23 Uhr
Der Link
Im Moment ist der Link internal noch relativ unbelebt.
- Die Nodes haben gelegentlich über Link-local Addresses miteinander kommuniziert, dabei die gegenseitige Erreichbarkeit nachgewiesen und ihre Neighbor Caches gepflegt.
- Was den Hosts fehlt, ist der Zugang zur großen weiten IPv6-Welt.
- Da könnte fuzzball weiterhelfen, er hat dank des Tunnels bereits Zugang zu ihr.
- Im Folgenden werden wir daher den Router fuzzball bestimmungsgemäß einsetzen, die Hosts mit gültigen, weltweit eindeutigen Adressen versorgen sowie ihre Konnektivität überprüfen.
Ein Präfix für den Link
Automatische Konfiguration
Der Link internal soll ein Global-Unicast-Präfix erhalten um am IPv6-Internet teilnehmen zu können.
- Eine manuelle Konfiguration der Hosts am Link möchten wir möglichst vermeiden.
Nach einer automatisierten Konfiguration sollen die Hosts mit
- einer oder mehreren IPv6-Adressen,
- der Adresse des zuständigen Routers und
- der Adresse eines Resolving Nameservers ausgestattet sein.
Resolving Nameserver
Der Resolving Nameserver wäre, technisch gesehen, für das Herstellen der Konnektivität nicht erforderlich.
- In der Praxis erweisen sich Hosts ohne funktionierende Namensauflösung aber als mühsam bedienbar.
- Für die tägliche Arbeit mit dem Internet sind sie schlicht nicht geeignet.
Aufgabenteilung
Welche Teile der automatischen Konfiguration der Router erledigt, und wo die Hosts selbst tätig werden müssen, werden wir gleich erfahren.
- Soviel vorweg: Die Konfigurationen werden nicht als mundfertige Häppchen serviert, wie es bei IPv4
in Verbindung mit DHCP üblich ist.
- Einer erfolgreichen Konfiguration geht immer ein Zusammenspiel von Router und Host voraus.
Präfix aktivieren
Ein 64 Bits langes Präfix haben wir von SixXS als kostenlose Beigabe zum Tunnel erhalten.
- Das Präfix werden wir für die Adressierung der Nodes auf dem internen Link verwenden.
- Dazu stellen wir sicher, dass das Präfix bei SixXS
aktiviert ist.
- Im Home-Bereich der SixXS-Website befindet sich eine Tabelle mit Präfixen, die dort Subnets genannt werden (siehe auch Abbildung 3.11 auf Seite 53).
- In der Spalte State sollte für das zu unserem Tunnel gehörende Präfix
Enabled stehen.
- In der Spalte Subnet Präfix finden wir jenes Präfix, welches über unseren Tunnel geroutet wird.
- In den
Beispielen im Workshop lautet es 2a 1:198:2 :8a23::/64. Wir notieren uns das eigene Präfix für die spätere Verwendung.
Router Advertisement
Unter IPv6 gehört es zum guten Ton, dass sich ein Router am Link bekannt macht.
- Dabei liefert er auch Informationen zu den verwendeten Präfixen mit, insbesondere zu den Präfixen für die er selbst zuständig ist.
- Eine solche Information wird Router Advertisement genannt.
- Router Advertisements sind Teil von NDP und werden, wie von NDP gewohnt, über
ICMPv6 transportiert.
- Wir werden fuzzball dazu bewegen, solche Router Advertisements am Link internal auszusenden.
Router Advertisement Daemon
Dazu werden wir den Router Advertisement Daemon, kurz Radvd, verwenden.
- Die Installation gelingt, wie gewohnt, über den Paketmanager:
Minimale Konfiguration von Radvd
/etc/radvd.conf
interface eth1 { AdvSendAdvert on ; MinRtrAdvInterval 15; prefix 2 a 1 :198:2 :8 a23 ::/64 { }; };
root@fuzzball :~# apt - get install radvd The following NEW packages will be installed : radvd upgraded , 1 newly installed , to remove and upgraded. Starting radvd: * /etc/radvd.conf does not exist or is empty. * See /usr/share/doc/radvd/README.Debian * radvd will *not* be started.
Radvd wird mit einer ausführlichen Dokumentation ausgeliefert.
- Die Dokumentation lässt sich mit den Kommandos man radvd und man radvd.conf anzeigen.
Erstkonfiguration von Radvd
Aufgrund fehlender Konfigurationsdatei verweigert Radvd noch die Aufnahme der Arbeit.
- Die Konfiguration reichen wir sogleich nach.
- Dazu bearbeiten wir die Datei /etc/radvd.conf gemäß Abbildung.
Für jedes Interface auf dem Radvd Router Advertisements versenden soll, enthält die Konfigurationsdatei einen interface-Block.
- Das eigentliche Senden erlaubt oder verbietet der Parameter AdvSendAdvert.
- Mit MinRtrAdvInterval legen wir die Zeit in Sekunden fest, die zwischen zwei periodisch versandten Router Advertisements vergehen soll. 15 Sekunden ist ein guter Wert für einen Link dieser Größe.
- Anstelle von 2a 1:198:2 :8a23::/64 setzen Sie bitte das Präfix ein, dass Sie sich vorhin von der SixXS-Seite notiert haben.
Interface konfigurieren
Bevor wir Radvd neu starten, erhält das Interface eth1 noch eine Adresse aus dem Präfix das verteilt werden soll:
root@fuzzball :~# ip addr add 2a01:198:200:8a23::1/64 dev eth1
Permanente Konfiguration von eth1
/etc/network/interfaces
# Loopback Interface auto lo iface lo inet loopback # Interface an VirtualBox auf dem Wirtsystem allow-hotplug eth0 iface eth0 inet dhcp # Interface am Link " internal " auto eth1 iface eth1 inet6 static address 2 a 1 :198:2 :8 a23 ::1 netmask 64
Der wichtigste Effekt des letzten Schritts ist eine Veränderung in der Routingtabelle von fuzzball:
user@fuzzball :~ $ ip -6 route show 2a01:198:200:a23::/64 dev sixxs proto kernel metric 256 mtu 128 advmss 122 hoplimit 4294967295 2a01:198:200:8a23::/64 dev eth1 proto kernel metric 256 mtu 15 advmss 144 hoplimit 4294967295 default via 2a01:198:200:a23::1 dev sixxs metric 1 24 mtu 128 advmss 122 hoplimit 4294967295
Ohne den Eintrag für eth1 liefe fuzzball Gefahr, ein Präfix auf Interface eth1 zu verteilen, zu dem er selbst keine Route kennt.
- Für einen Router eine sehr ungünstige Situation, denn diese Pakete würde er dann schlicht verwerfen.
Damit das Interface auch nach dem nächsten Neustart wieder so konfiguriert wird, aktualisieren wir die Datei /etc/network/interfaces auf fuzzball gemäß Abbildung.
Die Konfiguration des Interfaces wird ab jetzt statisch erfolgen.
- Die Direktiven up und down haben nun ausgedient und werden durch address und netmask ersetzt.
Forwarding aktivieren
Ein Router ist ein Node der Pakete weiterleitet.
- Als Fachbegriff dafür hat sich das englische forwarding durchgesetzt.
- Das Forwarding müssen wir fuzzball explizit erlauben, denn aus Sicherheitsgründen ist es standardmäßig deaktiviert.
- Dazu editieren wir die Datei /etc/sysctl.conf wie in Abbildung gezeigt.
/etc/sysctl.conf (Auszug)
# Uncomment the next line to enable packet forwarding for IPv6 # Enabling this option disables Stateless Address Autoconfiguration # based on Router Advertisements for this host net.ipv6.conf.all.forwarding=1
IPv6-Forwarding permanent aktivieren
- Abbildung 5.4: IPv6-Header eines Router Advertisements
Die Änderungen werden erst nach dem nächsten Neustart aktiv.
- Alternativ können wir die Prozedur abkürzen und die Änderungen sofort wirksam werden lassen:
root@fuzzball:~# sysctl -p net.ipv6.conf.all.forwarding = 1
Jetzt kann fuzzball anfangen Router Advertisements zu versenden.
- Wir starten den zuständigen Daemon:
root@fuzzball :~# service radvd start Starting radvd : radvd .
Nun sollte Radvd periodische Router Advertisements aussenden.
Router Advertisement mitschneiden
Natürlich werden wir auch den Beweis antreten und ein solches Router Advertisement auf dem Link entdecken.
- Wir starten Wireshark auf lynx und lassen ihn auf eth0 lauschen.
- Spätestens nach 15 Sekunden sollte das erste Router Advertisement aufgefangen werden.
- Das werden wir uns nun genauer anschauen.
- Es sollte den Abbildungen 5.4 und 5.5 recht nahe kommen.
- Abbildung 5.5: Router Advertisement nach Minimalkonfiguration
IPv6-Header des Router Advertisements
Betrachten wir zunächst den IPv6-Header des Paketes (Abbildung 5.4).
- Das Feld Next Header verweist auf ICMPv6, dem Transportprotokoll von NDP.
- Folgerichtig ist das Hop Limit auf
255 gesetzt.
- Die Quelladresse ist die Link-local Address von eth1, was von RFC 2461 [NNS98] so vorgeschrieben wird.
- Die Zieladresse für periodisch versandte Router Advertisements ist die All Nodes Multicast Address ff 2::1.
- Ihr Multicast Scope ist, das haben wir bereits gelernt, an der vierten hexadezimalen Stelle verzeichnet.
- Hier handelt es sich um den Scope Link, da wir an vierter Stelle eine 2 finden.
- Von den Flags, an dritter hexadezimaler Stelle zu finden, ist keines gesetzt.
- Denn nur wenn kein Flag gesetzt ist, kann an die dritte hexadezimale Stelle 0 lauten.
- Somit ist auch das TransientFlag nicht gesetzt.
- Daher können wir uns sicher sein, dass es sich bei dieser Multicast Address um eine Well-known Multicast Address handelt.
- Tatsächlich finden wir sie in Tabelle 4.5 auf Seite 103 wieder.
- Das Wissen um den Aufbau von
Multicast Addresses hat uns bereits ein erstes Mal weitergeholfen.
Router Advertisement im Detail
In der ICMPv6-Nachricht (Abbildung 5.5) sehen wir an erste Stelle die Typnummer 134 für Router Advertisements.
- Nach Code und Checksum folgt ein Feld namens Cur Hop Limit, es hat in unserem Beispiel den Wert 64.
- Das Cur Hop Limit gibt an, welches Hop Limit ein Host, der seinen Stack gemäß den Angaben dieses Router Advertisements konfiguriert, nutzen soll.
- Hat das Feld den Wert 0, dann gibt es keine Vorgabe durch den Router, der Host entscheidet dann selbst welches Hop Limit er für IPv6-Pakete verwendet.
Router Advertisement Flags
Es folgen Flags, von denen hier keines gesetzt ist.
- Möglich wären folgende Flags:
Managed
Das Managed Flag zeigt einem interessierten Host an, dass er auf anderen Wegen Adressen erhalten kann.
- Andere Wege meint zum Beispiel DHCPv6 und wird auch als stateful configuration bezeichnet.
- Nicht zu verwechseln mit der im Deutschen ähnlichen klingenden statischen Konfiguration.
Other Managed
Mit diesem Flag informiert der Router darüber, dass weitere Konfigurationsdaten über einen anderen Weg bezogen werden können.
- Auch hier ist in der Regel DHCPv6
gemeint, welches beispielsweise Nameserver-Adressen zur Verfügung stellen könnte.
Home Agent
Ein gesetztes Flag zeigt an, dass dieser Router als Home Agent für Mobile IPv6 genutzt werden kann.
Router Preference
Eigentlich handelt es sich bei der Router Preference nicht um ein Flag im klassischen Sinne.
- Es werden zwei Bits im Flag-Feld genutzt um die Priorität des Routers zu codieren.
- Es gibt die Werte low, medium und high.
- Sollten mehrere Default-Router am Link präsent sein, wird die Priorität auf den Hosts unter Berücksichtigung dieses Flags festgelegt.
Proxy
Dieses Flag wurde im experimentellen RFC 4389 [TTP06] vorgeschlagen.
- Es deutet auf das Vorhandensein eines NDP-Proxys hin.
- Für uns ist das Flag nicht relevant und wir behandeln es im Folgenden nicht weiter.
Die Flags können, geschickt kombiniert, sehr unterschiedliche Situationen abdecken.
- So wäre es zum Beispiel möglich, den Hosts zwar die eigenständige Adresskonfiguration zu erlauben, ihnen alle zusätzlichen Informationen jedoch per DHCPv6 zuzustellen.
Router Lifetime
Im Router Advertisement folgt als nächstes die Router Lifetime in Sekunden.
- Sie gibt an, wie lange dieser Router als DefaultRouter verwendet werden darf.
- Der Wert 0 bedeutet, dass der
Router nicht als Default-Router verwendet werden darf.
- In unserem Fall bedeutet das, dass der Router nach 1800 Sekunden (einer halben Stunde) ungültig werden würde.
- Mit jedem neuen Router Advertisement kann dieser Wert überschrieben werden.
- Da wir alle 15 Sekunden ein Router Advertisement aussenden, sollten wir vorerst nicht Gefahr laufen, den DefaultRouter zu verlieren.
Reachable Time und Retrans Timer
Die Felder Reachable Time und Retrans Timer dienen den Stacks der Hosts als Anhaltspunkte für ihre eigene Konfiguration.
- Die Reachable Time legt fest, wie viele Millisekunden ein Nachbar auf dem Link als erreichbar gilt, nachdem eine Bestätigung der Erreichbarkeit eingetroffen ist.
Hinweis
- Als Bestätigung der Erreichbarkeit können alle Pakete dienen, die darauf schließen lassen, das der Nachbar erreichbar ist.
- Zum Beispiel können das eintreffende Pakete einer bestehenden TCP-Verbindung sein.
- Es muss sich nicht zwingend um NDP handeln.
Der Retrans Timer legt die Wartezeit zwischen zwei Neighbor Solicitations in Millisekunden fest.
- Die Werte dieser Felder haben also direkten Einfluss auf die Neighbor Caches der Hosts.
- Wenn die Felder den Wert enthalten, macht der Router keine Vorgaben und die Hosts können ihre eigene Konfiguration verwenden.
Präfix-Informationen
Unser Router Advertisement liefert zwei ICMPv6-Optionen mit. Die Option Source Link-layer Address kennen wir schon aus anderen NDP-Paketen.
- Die Prefix Information Option aus Abbildung 5.6 hingegen ist uns neu.
Wie jede ICMPv6-Option hat sie eine Typnummer und eine Längenangabe.
- Daran schließt sich das Feld Prefix Length an, es gibt an wie viele Bits des Präfixes von Router vorgegeben werden.
- In diesem Fall sind es 64 Bits, so dass den Hosts weitere 64 Bits für ihre Interface Identifier zur Verfügung stehen.
- Abbildung 5.6: Prefix Information Option
Präfix-Flags
Jedes Präfix hat ein eigenes Feld für Flags.
- Die Bedeutung der Flags ist wie folgt:
On-Link
Ist das Flag gesetzt, zeigt der Router damit an, dass dieses Präfix sich auf dem Link befindet.
- Pakete an Adressen innerhalb des Präfixes können direkt gesendet werden, und brauchen nicht über den Router gehen.
- Wenn das Flag nicht gesetzt wurde, bedeutet das lediglich, dass der Router keine Aussage treffen konnte.
Autonomous Address-Configuration
Das Flag wird gesetzt wenn das Präfix den Hosts für die Stateless Address Autoconfiguration zur Verfügung steht.
Router Address
Wenn das Flag gesetzt ist, befindet sich im Präfix-Feld anstelle eines Präfixes die Adresse des Interfaces welches für Mobile IPv6 zuständig ist.
- Dieses Flag nutzen wir im Workshop nicht.
Valid Lifetime und Preferred Lifetime
In den Feldern Valid Lifetime und Preferred Lifetime wird festgelegt, wie lange das Präfix gültig (valid) ist und bevorzugt (preferred) werden soll.
- Generierte Adressen aus dem Präfix erben diese Eigenschaften.
- Für neue Verbindungen werden stets bevorzugte Adressen genutzt.
- Adressen bestehender Verbindungen können während der Valid Lifetime noch genutzt werden, dürfen aber nicht für neue Verbindungen hergenommen werden.
- Die Angaben erfolgen jeweils in Sekunden.
- Der höchstmögliche Wert steht abweichend für unbegrenzte Gültigkeit.
Das Präfix
Das letzte, und wohl wichtigste, Feld ist das Präfix selbst.
- Der Teil hinter der mit Prefix Length definierten Grenze wird üblicherweise mit Nullen aufgefüllt und von den Hosts ignoriert.
- Unser Router hat hier das Präfix 2a 1:198:2 :8a23:: verteilt, so wie wir es Radvd aufgetragen haben.
Angepasstes Router Advertisement
Jetzt, wo wir uns mit Router Advertisements besser auskennen, werden wir unsere Minimalkonfiguration von Radvd etwas leistungssteigern.
- Die Router Advertisements sollen weiterhin in Abständen von mindestens 15 Sekunden ausgesendet werden, es sollen aber nie mehr als 60 Sekunden zwischen ihnen liegen.
- Das Hop Limit und die Flags erhalten Standardwerte, diese sollen zur Übung dennoch in der Konfigurationsdatei vermerkt werden.
- Der Router soll mit mittlerer Priorität als DefaultRouter angepriesen werden.
Da der Tunnel in der Standardkonfiguration eine MTU von 1280 aufweist, propagieren wir diese MTU auf dem Link.
- Die Link MTU wird später als weitere ICMPv6-Option im Router Advertisement auftauchen.
Das Präfix soll mit gesetzten Flags für On-Link und Autonomous Address Autoconfiguration verteilt werden.
- Generierte Adressen sollen eine Stunde lang gültig sein und für eine halbe Stunde bevorzugt werden.
Natürlich darf auch die Source Link-layer Address nicht fehlen.
Radvd konfigurieren
Versuchen Sie mithilfe des Kommandos man radvd.conf das eben beschriebene Router Advertisement zu konfigurieren.
- Die Lösung:
Angepasste Konfiguration von Radvd
/etc/radvd.conf
interface eth1 { AdvSendAdvert on ; MinRtrAdvInterval 15; MaxRtrAdvInterval 6 ; AdvCurHopLimit 64; AdvManagedFlag off ; AdvOtherConfigFlag off ; AdvMobRtrSupportFlag off ; AdvDefaultPreference medium ; AdvDefaultLifetime 3 ; AdvReachableTime ; AdvRetransTimer ; AdvLinkMTU 128 ; prefix 2 a 1 :198:2 :8 a23 ::/64 { AdvOnLink on ; AdvAutonomous on ; AdvRouterAddr off ; AdvValidLifetime 36 ; AdvPreferredLifetime 18 }; AdvSourceLLAddress on ; };
- Abbildung 5.8: Angepasstes Router Advertisement
Zum Anwenden der geänderten Konfiguration starten wir Radvd neu:
root@fuzzball :~# service radvd restart Stopping radvd : radvd. Starting radvd : radvd.
Das neue Router Advertisement fangen wir ebenfalls mit Wireshark auf lynx auf.
- Es ist zur Kontrolle in Abbildung 5.8 zu sehen.
Stateless Address Autoconfiguration
Zweck
Die Stateless Address Autoconfiguration, kurz SLAAC, dient der automatischen Konfiguration von Adressen und Routen der Hosts am Link.
- Damit reduziert IPv6 als Protokoll die
Abhängigkeit von dritten Komponenten zur Organisation des Links.
- Die Nutzung von Stateless Address Autoconfiguration erfordert keine manuelle Konfiguration der Hosts und nur sehr wenige Konfigurationsschritte auf dem Router.
- Damit einher geht der Verlust einer strengen Zuordnung von Adressen zu bestimmten Hosts.
- In Umgebungen wo die Zuordnung von Adressen zu Hosts zentral gesteuert werden soll, ist dieser Ansatz nicht ausreichend.
- Dort würde man auf DHCPv6 zurückgreifen.
- Aber auch ein simultaner Betrieb von DHCPv6 und Stateless Address Autoconfiguration wäre denkbar.
Autoconfiguration
SLAAC ist Bestandteil der Autoconfiguration, die drei wesentliche Aufgaben hat:
- Generieren einer Link-local Address
- Durchführen der Stateless Address Autoconfiguration
- Sicherstellen der Eindeutigkeit der generierten Adressen (Duplicate Address Detection)
Prinzipieller Ablauf
- Abbildung 5.9 Prinzip von SLAAC
Den ersten Schritt macht der Host, indem er mittels Router Solicitation nach einem Router Advertisement fragt.
- Alternativ könnte er auch ein periodisches Router Advertisement abwarten, diese Geduld beobachtet man aber eher selten.
Der Router verschickt das angeforderte Router Advertisement, welches alle konfigurationsrelevanten Daten enthält (Wir gehen der Einfachheit halber von nur einem Router aus.)
Daraufhin führt der Host die Konfiguration des Interfaces durch und prüft die Eindeutigkeit der selbst erzeugten Adressen.
- Erst wenn diese Eindeutigkeit angenommen werden kann, ist die Konfiguration des Interfaces vollständig und gilt als beendet.
Duplicate Address Detection
Hinter der Duplicate Address Detection verbergen sich eigentlich mehrere Neighbor Solicitations.
- Wenn ein Node feststellen möchte, ob eine Adresse schon von einem anderen Node genutzt wird, dann versucht er die zugehörige Linklayer Address aufzulösen.
- Bleibt eine Antwort aus, benutzt offensichtlich kein anderer Node auf dem Link die überprüfte Adresse.
- Um Fehlschlüsse aufgrund von Paketverlusten zu vermeiden, sollen mehrere Neighbor Solicitations verschickt werden.
Ab wann eine Adresse als eindeutig gilt, hängt von den Parametern der jeweiligen Implementierung ab.
- Jede Adresse hat anfangs den Status tentative (probeweise).
- Erst wenn die Duplicate Address Detection vollständig durchlaufen wurde, und keine Anzeichen darauf schließen lassen, dass die
Adresse bereits in Benutzung ist, wird die Adresse valid (gültig).
Autoconfiguration mitschneiden
Wir werden versuchen eine komplette Autoconfiguration von lynx mit Wireshark aufzufangen.
- Vom Hochfahren des Interfaces bis zu seiner endgültigen Konfiguration.
Dazu öffnen wir ein root-Terminal auf lynx und fahren das Interface eth0 herunter:
root@lynx :~# ip link set down dev eth
Nun starten wir Wireshark und lassen ihn auf dem PseudoInterface any lauschen. Danach fahren wir eth0 wieder hoch:
root@lynx :~# ip link set up dev eth
In Wireshark können wir bereits Aktivität beobachten.
- Wir warten den Abschluss der Konfiguration ab, sie ist erfolgreich verlaufen wenn wir Adressen mit den Parametern scope global und dynamic sehen:
user@lynx :~ $ ip addr show dev eth 2: eth : < BROADCAST , MULTICAST ,UP , LOWER_UP > mtu 15 qdisc pfifo_fast state UP qlen 1 link / ether : : :6 : d :1 e brd ff : ff : ff : ff : ff : ff inet6 2 a 1 :198:2 :8 a23 :2 : ff : fe6 : d1e /64 scope global dynamic valid_lft 3578 sec preferred_lft 1778 sec inet6 fe8 ::2 : ff : fe6 : d1e /64 scope link valid_lft forever preferred_lft forever
Wireshark kann jetzt den Mitschnitt beenden.
- Von den vielen Paketen die wir mitgeschnitten haben sind nicht alle von Interesse.
Multicast DNS
Insbesondere die Pakete vom Typ Multicast DNS (mDNS) werden wir an dieser Stelle ignorieren.
- Multicast DNS erlaubt die Auflösung von Namen der Domain .local zu Linklocal Addresses.
- Leider belastet es dazu den Link ungefragt mit allerlei Paketen.
- Da wir im Workshop keine lokale Namensauflösung auf Multicast-Basis nutzen, kümmern wir uns nicht weiter um dieses Protokoll.
- Mehr zu Multicast DNS und seinem Nutzen für kleine Netze findet sich auf der gemeinsamen Website der Beteiligten Interessensgruppen. (http://www.multicastdns.org/)
Multicast Listener Report (Solicited Node)
Das erste interessante Paket im Mitschnitt ist ein Multicast Listener Report und wurde von lynx verschickt.
- Der IPv6-Header ist in Abbildung 5.10 zu sehen.
- Abbildung 5.10 SLAAC Paket 1: IPv6-Header
Als Quelladresse hat lynx die Unspecified Address gewählt. Das heißt, zum Zeitpunkt des Versendens stand keine passende, gültige Adresse zur Verfügung.
- Die Zieladresse ist die Multicast Address für alle MLDv2-fähigen Router.
- Zu finden auch in der Tabelle 4.5 in Abschnitt 4.5 Multicast.
- Uns fällt das für MLDv2 Messages typische Hop Limit von 1 auf.
- Bemerkenswert ist auch der Einsatz des Hop-by-Hop Options Extension Headers.
- Neben der Padding Option, welche den Extension Header auf eine einheitliche Länge auffüllt, ist auch eine Router Alert Option vorhanden.
- Sie informiert Multicastfähige Router darüber, dass sich eine MLDv2 Message im Paket befindet.
- Interessierte Router werten die Nachricht dann aus und ziehen daraus Schlüsse für ihr Multicast Routing.
- Die MLDv2 Message kann in Abbildung 5.11 eingesehen werden.
Genaugenommen handelt sich um eine MLDv2 Message der Art Changed to Exclude.
- Wir haben in Abschnitt 4.5 Multicast bereits besprochen wie dieser Typ zu interpretieren ist.
- Hier wird die Multicast Address ff 2::1:ff6 :d1e für alle potentiellen Multicast-Quellen freigegeben.
- Die Nachricht entspricht dem Beitritt zur Multicast Group ff 2::1:ff6 :d1e.
- Es handelt sich dabei um die Solicited Node Multicast Address von Interface eth0 auf lynx.
Gruppenbeitritt
Zu diesem Zeitpunkt hat lynx also bereits einen Interface Identifier erzeugt.
- Der Beitritt zur entsprechenden Multicast Group gewährt ihm Zugang zu den Paketen dieser Gruppe.
- Abbildung 5.11 SLAAC Paket 1:Multicast Listener Report
So hat er die Chance, frühzeitig zu erfahren, ob sein Interface Identifier schon verwendet wird.
- Würde ein anderer Node seinen Interface Identifier bereits verwenden, so wäre dieser Node ebenfalls Mitglied der Multicast Group.
- Eine doppelt vorkommende Adresse würde dadurch schneller auffallen.
Gruppen mit mehreren Mitgliedern
Es wäre allerdings auch möglich, dass ein anderer Node eine ähnliche Adresse verwendet.
- Beispielsweise eine Adresse bei der sich die letzten 24 Bits gleichen.
- Beide Nodes wären nun in derselben Gruppe, jene mit der gemeinsamen Solicited Node Multicast Address.
- Beide Nodes würden auch Pakete empfangen, die nicht für sie bestimmt wären, die aufgrund der Ähnlichkeit der Adresse aber an die gemeinsame Gruppe geschickt wurden.
- Jeder Node muss deshalb prüfen, ob ein Paket, welches an die Gruppe adressiert wurde, auch wirklich für ihn von Belang ist.
- Auch lynx könnte Pakete empfangen, nach der Prüfung des Inhaltes aber feststellen, dass der eigene Interface Identifier davon nicht betroffen ist.
Duplicate Address Detection (Link-local)
Möchte lynx nun feststellen, ob die von ihm gewählte Adresse nicht nur vielleicht eindeutig ist, dann ist eine Duplicate Address Detection erfolgsversprechender.
- Wenn sie fehlschlägt, dann ist die von lynx gewählte Adresse sehr wahrscheinlich
- Abbildung 5.12: SLAAC Paket 2: Neighbor Solicitation
auf dem Link noch nicht vergeben.
- Eine endgültige Gewissheit ist mit der Duplicate Address Detection nicht zu erreichen.
- Im ungünstigsten Fall gehen genau jene Pakete verloren, die auf eine doppelte Adresse hinweisen würden.
- Dazu sendet lynx eine Neighbor Solicitation für die selbst erzeugte Adresse aus (siehe Abbildung 5.12).
Als Quelladresse wählt er wieder die Unspecified Address, da die Link-local Address noch nicht als eindeutig gilt.
- Die Neighbor Solicitation geht an die Solicited Node Multicast Address der zu überprüfenden Link-local Address.
- Im Feld Target Address taucht die gewünschte Adresse fe8 ::2 :ff:fe6 :d1e schließlich auf.
Das Ausbleiben eines Neighbor Advertisements wertet der Node als Anzeichen für die Eindeutigkeit seiner Adresse auf dem Link.
- Sie wird dann dem Interface zugewiesen und gilt fortan als valid.
Router Solicitation
Nachdem lynx nun eine gültige Link-local Address hat, versucht er auch eine gültige Adresse für den Global Scope zu erhalten.
- Dazu lässt er sich von jedem Router am Link ein Router
- Abbildung 5.13: SLAAC Paket 3: Router Solicitation
Advertisement zukommen.
- Die Anforderung der Router Advertisements geschieht mit Hilfe einer Router Solicitation, die in Abbildung 5.13 zu sehen ist.
Die Nachricht wird von der Link-local Address des Hosts gesendet, hier von der Adresse fe8 ::2 :ff:fe6 :d1e.
- Als Zieladresse wird die All Routers Multicast Address ff 2::2 verwendet, die wir schon in der Tabelle 4.5 in Abschnitt 4.5 Multicast gesehen haben.
- Angehängt an die Router Solicitation ist, eine ICMPv6-Option mit der Link-layer Address des Absenders.
Router Advertisement
Alle Router am Link antworten auf die Router Solicitation mit einem Router Advertisement.
- Da wir nur einen Router am Link haben, nämlich fuzzball, erhalten wir auch nur ein Router Advertisement.
Wir werden es hier nicht genauer besprechen, denn das haben wir in Abschnitt 5.1 Ein Präfix für den Link schon getan.
- Ein auffrischender Blick in das Paket wird aber sicher nicht schaden.
- Abbildung 5.14: SLAAC Paket 5: IPv6-Header
Nach dem Erhalt des Router Advertisements erzeugt lynx eine Global Unicast Address.
- Dazu verwendet er das von fuzzball verteilte Präfix und den bereits vorhandenen Interface Identifier.
Multicast Listener Report (Solicited Node, Multicast-DNS)
Auch für diese Adresse muss eine Duplicate Address Detection durchgeführt werden.
- Die beginnt wieder mit dem Beitritt zu der passenden Multicast Group.
- Obwohl sich die Solicited Node Multicast Address für die Global Unicast Address nicht von der für die Link-local Address unterscheidet, versendet lynx einen neuen Multicast Listener Report.
- Der wesentliche Unterschied ist die Quelladresse des Paketes, siehe auch Abbildung 5.14.
Anstatt der Unspecified Address kommt diesmal die Link-local Address zum Einsatz.
- Der Rest des Paketes ist in Abbildung 5.15 dargestellt.
Unverändert geblieben ist der Beitritt zur Solicited Node Multicast Group, der erneut mithilfe von Changed to Exclude erreicht wurde.
- Und einen weiteren Gruppenbeitritt können wir
- Abbildung 5.15 SLAAC Paket 5: Multicast Listener Report
im Paket entdecken, der Beitritt zur Gruppe ff 2::fb.
- Dies ist die Multicast DNS Address für die Verwendung mit IPv6, und für unser Netz nicht weiter wichtig.
Duplicate Address Detection (Global Unicast)
Der letzte Schritt ist die Durchführung der Duplicate Address Detection für die Global Unicast Address.
- Dazu sendet lynx wieder eine Neighbor Solicitation, zu sehen in Abbildung 5.16, aus.
Mit dem Ausbleiben einer Antwort ist die Stateless Address Autoconfiguration abgeschlossen.
- Das Interface eth0 ist nun fertig konfiguriert.
Konnektivitätstest
Einem Test der Konnektivität von lynx steht nun nichts mehr im Wege.
- Dazu verschicken wir Echo Requests von lynx an den Tunnelendpunkt von SixXS:
user@lynx :~ $ ping6 -c 3 2 a 1 :198:2 : a23 ::1 PING 2 a 1 :198:2 : a23 ::1 (2 a 1 :198:2 : a23 ::1) 56 data ' bytes 64 bytes from 2 a 1 :198:2 : a23 ::1: icmp_seq =1 ttl =63 ' time =8. 2 ms 3 packets transmitted , 3 received , % packet loss , time ' 2 3 ms
- Abbildung 5.16: SLAAC Paket 6: Neighbor Solicitation
Da Echo Replies eintreffen, können wir davon ausgehen dass das Routing funktioniert.
- Den Beweis können wir auch mit traceroute6 antreten:
user@lynx :~ $ traceroute6 -n 2 a 1 :198:2 : a23 ::1 traceroute to 2 a 1 :198:2 : a23 ::1 (2 a 1 :198:2 : a23 ::1) , ' 3 hops max , 8 byte packets 1 2 a 1 :198:2 :8 a23 ::1 2.2 4 ms .162 ms .193 ms 2 2 a 1 :198:2 : a23 ::1 13.255 ms 13.412 ms 19.135 ms
An erster Stelle steht der nächste Hop, in unserem Fall die Adresse des Interfaces eth1 von fuzzball.
- Schon in der zweiten Zeile ist das Ziel erreicht.
SLAAC unter Windows 8
Nun werden wir die eben erworbenen Fähigkeiten zur Analyse einer Autoconfiguration auf felis anwenden.
- Bei dieser Gelegenheit werden wir auch Unterschiede entdecken, die durch Aktivierung von Privacy Extensions auftreten.
- Dazu öffnen wir als Administrator ein Terminal und stellen sicher das die Privacy Extensions aktiviert sind.
- Nach dem Betätigen der Tastenkombination Windowstaste+X erscheint ein Menü in dem wir den Punkt Command Prompt (Admin) auswählen:
- Abbildung 5.17 SLAAC unter Windows 8
C :\ Users \ user > netsh interface ipv6 set global randomizeidentifiers = enabled Ok.
Leider kommt es unter Windows 8 beim Betrieb von Wireshark manchmal zu Problemen.
- Der benötigte Treiber zum Mitschnitt von Daten heißt Windows Packet Capture (WinPcap), je nach Update-Stand von felis kann er funktionieren oder auch nicht.
- Als Lösung bietet es sich an, den Verkehr von eth1 auf fuzzball mitzuschreiben, auch dort kommen die Pakete vorbei.
Sobald Wireshark bereit ist, deaktivieren wir die LAN-Verbindung auf felis und aktivieren sie anschließend wieder.
- Bei einer Beobachtung von fuzzball aus, können wir alternativ auch einen Neustart von felis durchführen.
- In beiden Fällen ergibt sich ein Mitschnitt, der dem aus Abbildung 5.17 ähnlich sieht.
Eigene Untersuchungen
Untersuchen Sie die einzelnen Pakete und finden Sie heraus, zu welchem Zweck jedes einzelne versendet wurde.
- Sie können sich dabei auf ICMPv6 beschränken und auch die
Teile von MLDv2, die sich um Multicast DNS drehen, ignorieren.
- Erkennen Sie anhand der Informationen in den Paketen, ob diese sich auf einen zufälligen (Privacy Extensions)
oder auf einen EUI-64-basierten Interface Identifier beziehen?
- Abbildung 5.18: Interner Link mit DNS-Server
Namensauflösung
Was den Nodes am Link jetzt noch fehlt, ist ein Nameserver für die Namensauflösung.
- Ein kleiner Test deckt den Missstand auf:
user@lynx :~ $ ping6 -c 3 ping .
- ipv6 - workshop .
- de unknown host
Ohne die Möglichkeit Namen aufzulösen, verschafft selbst die beste Konnektivität wenig Vorteile.
Zielkonfiguration DNS
Der Router agiert bereits als zentraler Anlaufpunkt für alle Daten die den Link verlassen sollen.
- Es bietet sich daher an, ihm auch die Aufgabe der Namensauflösung zuzuteilen.
- Die Zielkonfiguration ist in Abbildung 5.18 zu sehen.
Der Router selbst, aber auch die Hosts können dann DNSAnfragen an den installierten Resolving DNS Server (RDNSS) weiterleiten.
- Dieser kümmert sich um die Auflösung des Namens und teilt dem Anfragenden das Ergebnis mit.
- Der Einsatz eines Caches sorgt dafür, das zukünftige Anfragen teilweise oder komplett aus diesem beantwortet werden können.
- Die Geschwindigkeit, mit der eintreffende Anfragen beantwortet werden, wird so im Laufe der Zeit optimiert.
Installation von Unbound
Ein schlanker und einfach zu konfigurierender Nameserver ist Unbound.
- Seine Stärke ist das Auflösen von Namen und das Cachen der Ergebnisse.
- Das Ausliefern von Zonendaten hingegen ist nur sehr begrenzt möglich.
- Wenn Sie auch auf diesem Gebiet experimentieren möchten, sollten Sie zu Bind9 als Nameserver greifen.
- Im Workshop werden wir mit Unbound arbeiten, ein Austausch ist aber jederzeit möglich.
Installiert wird Unbound über die Paketverwaltung:
root@fuzzball :~# apt - get install unbound Reading package lists ...
- Done
After this operation , 2 ,261 kB of additional disk space will be used. Do you want to continue [Y/n ]? y Setting up unbound (1.4.16 -1) ... * Starting recursive DNS server unbound [ OK ]
Konfiguration von Unbound
Der Nameserver soll sowohl für die Hosts am Link, als auch für fuzzball selbst, zuständig sein.
- Er muss daher auf der Loopback Address und auf einer der Adressen von Interface eth1 lauschen.
- Auf den ersten Blick mag sich da die Linklocal Address anbieten, schließlich befindet sich keiner der potentiellen Benutzer außerhalb des lokalen Scopes.
- Leider akzeptieren nicht alle Betriebssysteme einen Resolving Nameserver mit einer Link-local Address.
- Manche stören sich auch an der Schreibweise mit Interface hinter der Adresse: fe8 ::1%eth .
- Es bleibt uns also nichts anderes übrig, als eine Global Unicast Address zu verwenden.
- Der Dienst soll auf dem Standard-Port 53 angeboten werden.
- Eine Zugriffskontrolle erlaubt dem Präfix des Links internal den Zugriff auf den DNS-Server.
- Versuchen Sie sich ruhig selbst an der Konfiguration! Mit dem Kommando man unbound.conf erhalten Sie alle benötigten Informationen zur Konfigurationsdatei.
Unter Beachtung der eben genannten Anforderungen ergibt sich eine Konfiguration wie in Abbildung 5.19 gezeigt. Sobald die Konfigurationsdatei geschrieben wurde, starten wir den Nameserver neu:
root@fuzzball :~# service unbound restart * Restarting recursive DNS server unbound [ OK ]
Nameserver testen
Mit dem Kommando host können wir uns von der Funktion des Nameservers überzeugen.
- Das erste Argument ist der aufzulösende Hostname, das zweite und optionale Argument benennt
- Abbildung 5.19 Konfiguration von Unbound
/etc/unbound/unbound.conf
server : verbosity : 1 interface : ::1 interface : 2a01:198:200:8a23::1 port : 53 access - control : ::1/128 allow access - control : 2a01:198:200:8a23::/64 allow
den zu befragenden Nameserver.
- Wir werden natürlich unseren eigenen Nameserver befragen, weshalb wir ihn auf der Loopback Address ansprechen:
user@fuzzball :~ $ host www .
- ipv6 - workshop .
- de ::1
Using domain server : Name : ::1 Address : ::1#53 www .
- ipv6 - workshop .
- de has IPv6 address '
2 1:67 c :26 f4 :8 ::6:8
Nameserver festlegen
Wenn der Server wie erwartet antwortet, definieren wir ihn, falls das System es nicht bereits in vorrauseilendem Gehorsam getan hat, auf fuzzball als Standard-Nameserver:
root@fuzzball :~# resolvconf -u root@fuzzball :~# cat /etc/resolv.conf nameserver ::1
In der Datei /etc/resolv.conf sind unter Ubuntu GNU/Linux die Adressen der Nameserver des Systems hinterlegt.
- Das eben ausgeführte Kommando hat die Datei überschrieben und dabei die Loopback Address als neue Nameserver-Adresse festgelegt.
- Mit dem Kommando cat haben wir uns den Inhalt der Datei anzeigen lassen.
Erreichbarkeit testen
Die Erreichbarkeit des Nameservers testen wir sicherheitshalber auch von einem der Hosts aus.
- Zum Beispiel durch eine einfache Namensauflösung auf lynx:
user@lynx :~ $ host www .
- ipv6 - workshop .
- de 2 a 1 :198:2
Using domain server : Name : 2 a 1 :198:2 :8 a23 ::1 Address : 2 a 1 :198:2 :8 a23 ::1#53 www .
- ipv6 - workshop .
- de has IPv6 address 2 1:67 c :26 f4 :8 ::6:8:8 a23 ::1
Die korrekte Auflösung zeigt uns, dass der Nameserver funktioniert und von den Hosts erreicht und verwendet werden kann.
Die RDNSS Option
Nameserver-Adressen lassen sich auch als Option im Router Advertisement unterbringen und so bequem auf dem Link verteilen.
- Die Option heißt RDNSS Option, ist in RFC 6106 [JPBM10] spezifiziert, und reiht sich ein in die lange Liste der ICMPv6-Optionen.
- Insgesamt bietet sich uns damit der gleiche Komfort wie beim Betrieb eines sehr einfach gehaltenen DHCP-Servers, nur eben ohne einen dedizierten DHCP-Server für derartige Informationen bereitstellen zu müssen.
RDNSS Option im Router Advertisement
Mit der Verteilung der Router Advertisements hatten wir Radvd beauftragt.
- Wir ergänzen die Konfigurationsdatei gemäß Abbildung 5.20 um die RDNSS Option.
Damit die Änderungen wirksam werden, ist ein Neustart von Radvd erforderlich:
root@fuzzball :~# service radvd restart Stopping radvd : radvd. Starting radvd : radvd.
Router Advertisement
Selbstverständlich schauen wir uns das neue Router Advertisement in Wireshark an.
- Auf fuzzball fangen wir eines auf Interface eth1 auf.
- Mit dem notwendigen Vorgehen sind wir inzwischen bestens vertraut.
- In Abbildung 5.21 ist das Router Advertisement zu sehen.
Neu hinzugekommen ist die ICMPv6-Option vom Typ 25.
- Sie enthält die Gültigkeitsdauer des Nameservers in Sekunden sowie die Adresse des Nameservers selbst.
- Die Gültigkeit mag auf den ersten Blick sehr kurz erscheinen, schließlich ändern sich die Adressen von Nameservern üblicherweise nicht jede
- Abbildung 5.20: Konfiguration von Radvd mit RDNSS Address
- Abbildung 5.21: Router Advertisement mit RDNSS Address
/etc/radvd.conf
interface eth1 { AdvSendAdvert on ; MinRtrAdvInterval 15; MaxRtrAdvInterval 6 ; AdvCurHopLimit 64; AdvManagedFlag off ; AdvOtherConfigFlag off ; AdvMobRtrSupportFlag off ; AdvDefaultPreference medium ; AdvDefaultLifetime 3 ; AdvReachableTime ; AdvRetransTimer ; AdvLinkMTU 128 ; prefix 2 a 1 :198:2 :8 a23 ::/64 { AdvOnLink on ; AdvAutonomous on ; AdvRouterAddr off ; AdvValidLifetime 36 ; AdvPreferredLifetime 18 }; RDNSS 2 a 1 :198:2 :8 a23 ::1 { }; AdvSourceLLAddress on ; };
Minute.
- Wie so häufig, müssen wir auch hier wieder eine alte Denkweise abschütteln.
- Es ist unter IPv6 keine Seltenheit, wenn ein Link mit mehreren Routern ausgestattet ist.
- Und jeder Router preist unter Umständen seine ganz eigenen Nameserver an.
- Verlässt ein Router den Link, sollten auch alle Konfigurationsvariablen die er zuvor verteilt hat, zeitnah an Gültigkeit verlieren.
- Als Höchstwert für die RDNSS-Lifetime wird das doppelte maximale Sendeintervall (MaxRtrAdvInterval) empfohlen.
- Mit 60 Sekunden sind wir unter diesem empfohlenen Höchstwert geblieben.
Betriebssysteme und die RDNSS Option
Die hostseitige Unterstützung für die RDNSS Option ist leider nicht in allen Betriebssystemen vorhanden.
- Die Betriebssysteme iOS und OS X von Apple geben ein gutes Bild ab, was die Unterstützung der RDNSS Option angeht.
- Googles Android funktionierte zwar schon sehr früh gut mit IPv6, wertete aber auch Anfang 2013 noch nicht die RDNSS Option aus.
Unter Linux extrahiert das von vielen Distributionen und Desktop- RDNSS Option Umgebungen verwendete Programm NetworkManager die Na- unter Debian meserver-Adressen aus den Router Advertisements.
- Anschlie- GNU/Linux ßend fügt es die Informationen in die Datei /etc/resolv.conf des jeweiligen Systems ein.
- Wir hatten den NetworkManager auf lynx in Abschnitt 4.1 Debian GNU/Linux 6 vorläufig entmachtet.
- Jetzt wo das Netz in seinen Grundzügen steht, darf der NetworkManager wieder die Kontrolle über die Interfaces auf lynx übernehmen.
Wir starten ihn wieder:
root@lynx :~# / etc / init .d/ network - manager start Starting network connection manager : NetworkManager .
Damit der NetworkManager auch nach einem Neustart noch arbeitet, fügen wir ihn wieder in die Boot-Sequenz ein.
root@lynx :~# update - rc .
- d network - manager enable update - rc .d: using dependency based boot sequencing
- Abbildung 5.22 NetworkManager: Einstellungen und Profile
- Abbildung 5.23 Profil Auto eth0 auf lynx
Konfiguration durch NetworkManager
Auf dem Desktop befindet sich der NetworkManager in der oberen Leiste.
- Ein Symbol bestehend aus zwei verbundenen Computern bietet Zugriff auf die Oberfläche des Programms.
- Mit einem Linksklick werden die verfügbaren Profile angezeigt und mit einem Rechtsklick gelangt man in das Konfigurationsmenü.
- In letzteres begeben wir uns und wählen dann den Punkt Edit Connections (Abbildung 5.22) aus.
Nun öffnet sich eine nach Interfaces sortierte Liste verfügbarer Profile.
- Im Tab Wired suchen wir ein Profil zum Interface eth0, der Name könnte zum Beispiel Auto eth0 lauten.
- Mit einem Klick auf Edit gelangen wir zu den Einstellungen des Profils (Abbildung 5.23).
Die Einstellungen für IPv4 stellen wir auf Disabled, die für IPv6 auf Automatic.
- Weitere Angaben sind nicht nötig für unseren Link, denn dort verteilen wir alle wichtigen Informationen mit den Router Advertisements.
- Wir schließen die offenen Dialoge und aktivieren das eben bearbeitete Profil mit einem Linksklick auf das NetworkManager-Symbol.
- Das Symbol zeigt für einen kurzen Augenblick Aktivität an und beruhigt sich wieder, sobald die Konfiguration erfolgreich verlaufen ist.
Überprüfen der Konfiguration
Davon werden wir uns überzeugen und lassen uns die Adressen des Interfaces anzeigen:
user@lynx :~ $ ip addr show dev eth 2: eth : < BROADCAST , MULTICAST ,UP , LOWER_UP > mtu 15 ' qdisc pfifo_fast state UP qlen 1 link / ether : : :6 : d :1 e brd ff : ff : ff : ff : ff : ff inet6 2 a 1 :198:2 :8 a23 :2 : ff : fe6 : d1e /64 scope ' global dynamic valid_lft 36 sec preferred_lft 18 sec inet6 fe8 ::2 : ff : fe6 : d1e /64 scope link valid_lft forever preferred_lft forever
Es zeigt sich das gewohnte Bild, die Autoconfiguration hat korrekt gearbeitet.
- Mit dem Kommando cat lassen wir uns den Inhalt der Datei /etc/resolv.conf anzeigen:
user@lynx :~ $ cat /etc/resolv.conf # Generated by NetworkManager nameserver 2 a 1 :198:2 :8 a23 ::1
Der NetworkManager hat die Nameserver-Adresse richtig aus dem Router Advertisement extrahiert und sie dem System bekannt gemacht.
- Der obligatorische Test beweist das Funktionieren der Namensauflösung und des Routings auf lynx:
user@lynx :~ $ ping6 -c 3 ping
RDNSS Option unter Windows 8 Windows 8 unterstützt die RDNSS Option leider nicht von Haus aus.
- Es gibt ein Programm namens rdnssd-win32 welches die Funktionalität nachrüstet, dieses stammt aber nicht
- Abbildung 5.24: Einstellungen von LAN1 aufrufen
- Abbildung 5.25: Protokolle von LAN1
von offizieller Seite (http://sourceforge.net/projects/rdnssd-win32/).Die Hoffnungen ruhen auf einer Nachrüstung durch eines der kommenden Service Packs.
- Es bleibt uns nichts anderes übrig, als die Adresse des Nameservers manuell einzutragen.
Dazu öffnen wir das Connection and Sharing Center und wählen dann Change adapter settings (Abbildung 5.24). Ein Rechtsklick auf den Adapter LAN1 und dann auf Properties bringt uns zur Liste der Protokolle.
- In der Protokollliste, dargestellt in Abbildung 5.25, ist IPv4 deaktiviert und IPv6 aktiviert.
Wir wählen IPv6 aus und öffnen mit einem Klick auf Properties den Dialog zur IPv6-Konfiguration.
- Abbildung 5.26: IPv6Konfiguration von LAN1
- Abbildung 5.27: Website des KAME-Projekts
Während die Einstellungen für die Adresse unverändert auf automatically stehen bleiben, erfordern die Nameserver-Einstellungen unser Zutun.
- Wie in Abbildung 5.26 gezeigt, tragen wir die Nameserver-Adresse ein.
Bitte beachten Sie: Ihre Nameserver-Adresse wird anders lauten als jene in den Abbildungen.
- Die korrekte Adresse können Sie Ihrer Radvd-Konfiguration entnehmen.
Nach der Konfiguration schließen wir alle noch offenen Dialoge und schreiten zum Test der Einstellungen. Zur Abwechslung besuchen wir diesmal die Website des Überprüfen der KAME-Projekts unter http:// www.kame.net.
- Mit der Namensauf- Konfiguration lösung und der tanzenden Schildkröte (Abbildung 5.27) ist der Nachweis erbracht, dass auch auf felis alle Einstellungen korrekt vorgenommen wurden.
Seiten in der Kategorie „IPv6/Link“
Folgende 7 Seiten sind in dieser Kategorie, von 7 insgesamt.