| Studienarbeit zu IPv6 | ||
|---|---|---|
| Zurück | Nach vorne | |
Unmittelbar nach der Installation, auch mit dem Bootparameter bf24, um mit einem 2.4er Kernel zu installieren, hat das System keinerlei Unterstützung für IPv6.
Um einen Kernel zu kompilieren, der einen IPv6 Stack enthält, müssen zunächst die Kernel-Sourcen per "apt-get install kernel-sources-2.4.18" nachinstalliert werden. Ausserdem werden ein paar zusätzliche Pakete zum späteren konfigurieren und kompilieren benötigt. Dies sind kernel-package, bin86 und libncurses-dev. Die als .tar.bz2 vorliegenden Kernelsourcen werden dann in /usr/src entpackt, die Standardkonfiguration von /boot/config-2.4.18-bf24 als .config in das Kernelverzeichnis kopiert. Ein Aufruf von "make menuconfig" bringt das übliche Konfigurationsmenü, in dem dann unter "Networking Options" der Punkt "The IPv6 Protocol" ausgewählt wird. Da es sich um experimentellen Code handelt muss auf jeden Fall unter "Code maturity options" die Option "Prompt for developement and/or incomplete drivers" aktiviert werden. Der neue Kernel wird dann mit dem Aufruf "make-kpkg --revision ipv6.01 kernel-image" kompiliert, so dass nach Vollendung ein .deb-Paket in /usr/src zu finden ist. Dieses Paket wird mittels dpkg installiert. Nach einem Reboot mit dem neuen Kernel kann dann per modconf das neue Modul ausgewählt werden. Nach Aufruf von "/etc/init.d/networking restart" sind dann auch die Interfaces auf IPv6 Link-Local Adressen konfiguriert.
Um die Konfiguration zu testen wurde dann noch das Paket iputils-ping installiert, das den ping6 Befehl enthält.
Hier ist zu sehen, dass sobald der Kernel IPv6 unterstützt, auch automatisch eine Link-Local-Adresse generiert wird, in der die MAC-Adresse enthalten ist. Ausserdem wurde das loopback-Interface automatisch mit der entsprechenden IPv6-Adresse initialisiert.Hierbei muss erwähnt werden, dass die MAC-Adresse der Netzwerkkarte nicht unverändert in die Link-Local-Adresse einfliesst. Im ersten Oktett wurde das vorletzte Bit auf 1. Auf diese Weise wird die Information kodiert, dass es sich um eine weltweit eindeutige Adresse handelt.
Bei der direkten Verwendung von Link-Lokalen Adressen ist es unbedingt notwendig, das Interface mit anzugeben. Der IPv6-Stack hat nämlich keine Möglichkeit, allein aus der angegebenen Link-Lokalen IPv6-Adresse die Information zu ermitteln, über welches Netzwerkinterface dieses Paket gesendet werden muss. Es ist nämlich durchaus denkbar, dass ein Rechner mit zwei Netzwerken direkt verbunden ist, und dieselbe Link-Lokale Adresse von zwei verschiedenen Stationen in beiden Netzen verwendet wird. Diese Einschränkung ist auch der Grund, aus dem es nicht praktikabel ist, nur mit Link-Lokalen Adressen zu arbeiten, selbst wenn eine flache Netzwerkstruktur, d.h. ein Routerloses Netzwerk, verwendet wird.
Der nächste Schritt zu einem komplexeren Netzwerk ist die Verwendung von Site-Local Adressen. Da zu einem späteren Zeitpunkt noch eine Aufteilung in mehrere Netze stattfinden soll, werden hier zunächst Adressen mit dem Präfix fec0:1::/64 vergeben, und zwar die Adresse 4 für den Linux-Rechner.
Unter Debian GNU/Linux erfolgt die Konfiguration aller Netzwerkinterfaces zentral in der Datei /etc/network/interfaces. Nach der Installation enthält sie bereits die Einstellungen für IPv4, es muss nur noch ein Eintrag für IPv6 vorgenommen werden.
Um diese Einstellung wirksam werden zu lassen wird einmal "/etc/init.d/networking restart" aufgerufen. Der Erfolg lässt sich per ifconfig überprüfen.
Ausserdem ist es jetzt möglich, die benachbarten Rechner auch per ping6 an die Site-Local-Adressen anzusprechen. Auf die Konfiguration der hier getesteten Gegenstellen wird noch näher eingegangen. Es ist sehr hilfreich, dass der ifconfig Befehl nicht einfach nur die IPv6-Adressen ausgibt, sondern automatisch darüber informiert, aus welchem Adressraum diese Adresse stammt, so wie hier die beiden Angaben "Scope: Site" und "Scope: Link".
Es werden standardmässig keine IPv6-Fähigen Dienste installiert.
Der per default installierte Telnet-Client ist in der Lage, Verbindungen zu IPv6 Telnet Servern aufzubauen.
Um experimentelle Debian-Pakete installieren zu können, die IPv6 unterstützen, muss in der Datei /etc/apt/sources.list die Zeile
deb http://ftp.bononia.it/debian-ipv6 woody ipv6eingefügt werden. Wenn danach die Pakete openbsd-inetd und apache installiert werden sowie das ssh-Paket aktualisiert wird, ist bereits die Standard-Website und der SSH-Daemon erreichbar. Ausserdem habe ich in der /etc/inetd.conf einen Eintrag für den Echo-Server eingefügt und den Telnet-Server aktiviert. Dadurch lässt sich die Erreichbarkeit des Rechners von jedem anderen Betriebssystem prüfen, weil auf allen getesteten Plattformen zumindest ein Telnet-Client vorhanden ist.
Da die reine Verwendung von Link-Lokalen Adressen nicht praktikabel ist, und von einigen Anwendungen die notwendige Angabe des Interfaces nicht verarbeitet werden kann, mussten Site-Lokale Adressen verwendet werden. Allerdings bestehen manche Programme darauf, dass gar keine IPv6-Adressen explizit angegeben werden, sondern dass immer symbolische Namen verwendet werden, die dann vom Resolver der lokalen Station aufgelöst werden. Daher war es notwendig, auf dem Linux-Rechner ausserdem einen Nameserver einzurichten, der von Namen auf Site-Lokale IP-Adressen und umgekehrt abbilden kann. Hierbei handelt es sich um den Bind9, allerdings in der Debian-Version, die keine Anfragen über IPv6, aber AAAA-Records unterstützt.
Obwohl der FTP-Server vsftp IPv6 unterstützen soll, war es nach der Installation nicht möglich, nach dem erfolgreichen Login Daten zu übertragen, weder für Verzeichnislistings noch für Dateien.
Um eine Liste der Dienste zu bekommen, die auf IPv6-Verbindungen warten, kann die Ausgabe des Befehls "netstat -an" dienen. Aus dem folgenden Beispiel ist zu erkennen, dass es einen echo-, einen http-, einen ssh- und einen telnet-Server gibt, die auf den jeweiligen Well-Known-Ports lauschen.
Um einen IPv6-fähigen Browser zu bekommen wurde einfach Mozilla in der Version 1.0.0 aus dem Stable-Zweig der Debian-Distribution installiert. Dieser unterstützt sowohl die direkte Angabe von IPv6-Adressen in eckigen Klammern, für den lokal installierten Apache also "http://[::1]/", als auch die Namensauflösung über AAAA-Records per IPv4.
| Zurück | Zum Anfang | Nach vorne |
| FTP | Microsoft Windows 2000 |