|
Bei IPv6 (auch als IPng oder IP next generation bekannt) handelt es sich um die neueste Version des bekannten IP-Protokolls (das auch als IPv4 bezeichnet wird). FreeBSD enthält, genauso wie die anderen frei erhältlichen BSD-Systeme, die IPv6-Referenzimplementation von KAME. FreeBSD erfüllt damit bereits alle für die Nutzung von IPv6 nötigen Voraussetzungen. Dieser Abschnitt konzentriert sich daher auf die Konfiguration und den Betrieb von IPv6.
Anfang der 90er Jahre wurde man auf den stark steigenden Verbrauch von IPv4-Adressen aufmerksam. Im Hinblick auf das Wachstums des Internets gab es zwei Hauptsorgen:
Die drohende Knappheit von IPv4-Adressen. Dieses Problem konnte durch die Einführung von privaten Adressräumen (mit Adressen wie 10.0.0.0/8 oder 192.168.0.0/24) sowie der Entwicklung von Network Address Translation (NAT) weitestgehend entschärft werden.
Die immer größer werdenden Einträge in Router-Tabellen. Dieses Problem ist auch heute noch aktuell.
IPv6 ist in der Lage, diese, aber auch viele andere Probleme zu lösen:
IPv6 hat einen 128 Bit großen Adressraum. Es sind also theoretisch 340.282.366.920.938.463.463.374.607.431.768.211.456 Adressen verfügbar. In anderen Worten: Für jeden Quadratmeter der Erdoberfläche sind etwa 6,67 * 10^27 IPv6-Adressen verfügbar.
Router speichern nur noch Netzwerk-Aggregationsadressen in Ihren Routingtabellen. Dadurch reduziert sich die durchschnittliche Größe einer Routingtabelle auf 8192 Einträge.
Weitere nützliche Eigenschaften von IPv6 sind:
Die automatische Konfiguration von Adressen, die im RFC2462 beschrieben wird.
Anycast-Adressen (“eine-von-vielen”)
Verpflichtende Multicast-Adressen
Die Unterstützung von IPsec (IP-Security)
Eine vereinfachte Headerstruktur
Mobile IP-Adressen
Die Umwandlung von IPv4- in IPv6-Adressen
Weitere Informationsquellen:
Beschreibung von IPv6 auf playground.sun.com
Es gibt verschiedene Arten von IPv6-Adressen: Unicast-, Anycast- und Multicast-Adressen.
Unicast-Adressen sind die herkömlichen Adressen. Ein Paket, das an eine Unicast-Adresse gesendet wird, kommt nur an der Schnittstelle an, die dieser Adresse zugeordnet ist.
Anycast-Adressen unterscheiden sich in ihrer Syntax nicht von Unicast-Adressen, sie wählen allerdings aus mehreren Schnittstellen eine Schnittstelle aus. Ein für eine Anycast-Adresse bestimmtes Paket kommt an der nächstgelegenen (entsprechend der Router-Metrik) Schnittstelle an. Anycast-Adressen werden nur von Routern verwendet.
Multicast-Adressen bestimmen Gruppen, denen mehrere Schnittstellen angehören. Ein Paket, das an eine Multicast-Adresse geschickt wird, kommt an allen Schnittstellen an, die zur Multicast-Gruppe gehören.
Anmerkung: Die von IPv4 bekannte Broadcast-Adresse (normalerweise xxx.xxx.xxx.255) wird bei IPv6 durch Multicast-Adressen verwirklicht.
Tabelle 25-2. Reservierte IPv6-Adressen
IPv6-Adresse | Präfixlänge | Beschreibung | Anmerkungen |
---|---|---|---|
:: | 128 Bit | nicht festgelegt | entspricht 0.0.0.0 bei IPv4 |
::1 | 128 Bit | Loopback-Adresse | entspricht 127.0.0.1 bei IPv4 |
::00:xx:xx:xx:xx | 96 Bit | Eingebettete IPv4-Adresse | Die niedrigen 32 Bit entsprechen der IPv4-Adresse. Wird auch als “IPv4-kompatible IPv6-Adresse bezeichnet”. |
::ff:xx:xx:xx:xx | 96 Bit | Eine auf IPv6 abgebildete IPv4-Adresse | Die niedrigen 32 Bit entsprechen der IPv4-Adresse. Notwendig für Rechner, die IPv6 nicht unterstützen. |
fe80:: - feb:: | 10 Bit | link-local | Entspricht der Loopback-Adresse bei IPv4 |
fec0:: - fef:: | 10 Bit | site-local | |
ff:: | 8 Bit | Multicast | |
001 (im Dualsystem) | 3 Bit | Globaler Unicast | Alle globalen Unicastadressen stammen aus diesem Pool. Die ersten 3 Bit lauten “001”. |
Die kanonische Form von IPv6-Adressen lautet x:x:x:x:x:x:x:x, jedes “x” steht dabei für einen 16-Bit-Hexadezimalwert. Ein Beispiel für eine IPv6-Adresse wäre etwa FEBC:A574:382B:23C1:AA49:4592:4EFE:9982.
Eine IPv6-Adresse enthält oft Teilzeichenfolgen aus lauter Nullen. Eine solche Zeichenfolge kann zu “::” verkürzt werden. Bis zu drei führende Nullen eines Hexquads können ebenfalls weggelassen werden. fe80::1 entspricht also der Adresse fe80:0000:0000:0000:0000:0000:0000:0001.
Eine weitere Möglichkeit ist die Darstellung der letzten 32 Bit in der bekannten (dezimalen) IPv4-Darstellung, bei der Punkte (“.”) zur Trennung verwendet werden. 2002::10.0.0.1 ist also nur eine andere Schreibweise für die (hexadezimale) kanonische Form 2002:0000:0000:0000:0000:0000:0a00:0001, die wiederum der Adresse 2002::a00:1 entspricht.
Sie sollten nun in der Lage sein, die folgende Ausgabe zu verstehen:
# ifconfig rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255 inet6 fe80::200:21ff:fe03:8e1%rl0 prefixlen 64 scopeid 0x1 ether 00:00:21:03:08:e1 media: Ethernet autoselect (100baseTX ) status: active
Bei fe80::200:21ff:fe03:8e1%rl0 handelt es sich um eine automatisch konfigurierte link-local-Adresse. Sie wird im Rahmen der automatischen Konfiguration aus der MAC-Adresse erzeugt.
Weitere Informationen zum Aufbau von IPv6-Adressen finden Sie im RFC3513.
Es gibt derzeit vier Möglichkeiten, sich mit anderen IPv6-Rechnern oder Netzwerken zu verbinden:
Die Teilnahme am experimentellen 6bone.
Die Teilnahme am IPv6-Netzwerk Ihres Providers. Wenn Sie daran interessiert sind, wenden Sie sich an Ihren Provider.
Die Verwendung eines 6-nach-4-Tunnels (RFC3068).
Die Verwendung des Ports /usr/ports/net/freenet6 bei der Einwahl ins Internet.
In diesem Abschnitt wird die Einrichtung einer Verbindung zum 6bone beschrieben, da dies derzeit der beliebteste Weg ist.
Suchen Sie sich zuerst auf der Internetseite des 6bone-Projekts einen 6bone-Knoten in Ihrer Nähe. Schreiben Sie an die verantwortliche Person und mit etwas Glück erhalten Sie entsprechende Anweisungen, um Ihre Verbindung einzurichten. Dazu gehört üblicherweise die Einrichtung eines GRE-(gif)-Tunnels.
Typischerweise wird ein gif(4)-Tunnels wie folgt eingerichtet:
# ifconfig gif0 create # ifconfig gif0 gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280 # ifconfig gif0 tunnel MY_IPv4_ADDR HIS_IPv4_ADDR # ifconfig gif0 inet6 alias MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR
Ersetzen Sie die in Großbuchstaben geschriebenen Werte durch die Informationen, die Sie für Ihren 6bone-Knoten erhalten haben.
Die gezeigten Befehle bauen den Tunnel auf. Überprüfen Sie die korrekte Funktion, indem Sie ff02::1%gif0 anping6(8)en. Sie sollten zwei Antworten erhalten.
Anmerkung: Bei ff02:1%gif0 handelt es sich um eine Multicast-Adresse. %gif0 legt fest, dass die Multicast-Adresse der Schnittstelle gif0 verwendet werden soll. Da wir eine Multicast-Adresse angeping6(8)t haben, sollte der andere Endpunkt des Tunnels ebenfalls antworten.
Eine Route zu Ihrem 6bone-Knoten können Sie einfach wie folgt einrichten:
# route add -inet6 default -interface gif0 # ping6 -n MY_UPLINK
# traceroute6 www.jp.FreeBSD.org (3ffe:505:2008:1:2a0:24ff:fe57:e561) from 3ffe:8060:100::40:2, 30 hops max, 12 byte packets 1 atnet-meta6 14.147 ms 15.499 ms 24.319 ms 2 6bone-gw2-ATNET-NT.ipv6.tilab.com 103.408 ms 95.072 ms * 3 3ffe:1831:0:ffff::4 138.645 ms 134.437 ms 144.257 ms 4 3ffe:1810:0:6:290:27ff:fe79:7677 282.975 ms 278.666 ms 292.811 ms 5 3ffe:1800:0:ff00::4 400.131 ms 396.324 ms 394.769 ms 6 3ffe:1800:0:3:290:27ff:fe14:cdee 394.712 ms 397.19 ms 394.102 ms
Diese Ausgabe kann auf Ihrem Rechner unterschiedlich sein. Sie sollten aber jetzt die IPv6-Seite www.kame.net erreichen und die tanzende Schildkröte sehen können - vorausgesetzt, Sie haben einen IPv6-fähigen Browser wie www/mozilla, Konqueror (als Teil des Pakets x11/kdebase3) oder www/epiphany installiert.
Ursprünglich gab es zwei verschiedene DNS-Einträge für IPv6. Da A6-Einträge von der IETF für obsolet erklärt wurden, sind AAAA-Einträge nun Standard.
Weisen Sie die erhaltene IPv6-Adresse Ihrem Rechnernamen zu, indem Sie den Eintrag
MYHOSTNAME AAAA MYIPv6ADDR
in Ihre primäre DNS-Zonendatei einfügen. Falls Sie nicht für Ihre DNS-Zone verantwortlich sind, bitten Sie den dafür Zuständigen, diese Änderung durchzuführen. Die aktuellen Versionen von bind (Version 8.3 oder 9) sowie dns/djbdns (bei Verwendung des IPv6-Patches) unterstützen AAAA-Einträge.
Dieser Abschnitt beschreibt die Konfiguration eines Rechners, der in Ihrem LAN als Client, aber nicht als Router verwendet wird. Um die Schnittstelle während des Systemstarts mit rtsol(8) automatisch einzurichten, fügen Sie folgende Zeile in /etc/rc.conf ein:
ipv6_enable="YES"
Durch die folgende Zeile weisen Sie Ihrer Schnittstelle fxp0 die statische IP-Adresse 2001:471:1f11:251:290:27ff:fee0:2093 zu:
ipv6_ifconfig_fxp0="2001:471:1f11:251:290:27ff:fee0:2093"
Um 2001:471:1f11:251::1 als Standardrouter festzulegen, fügen Sie folgende Zeile in /etc/rc.conf ein:
ipv6_defaultrouter="2001:471:1f11:251::1"
Dieser Abschnitt beschreibt, wie Sie Ihren Rechner mit Hilfe der von Ihrem Tunnel-Anbieter, beispielsweise 6bone, erhaltenen Anweisungen dauerhaft für die Nutzung von IPv6 einrichten. Um den Tunnel beim Systemstart wiederherzustellen, passen Sie /etc/rc.conf wie folgt an:
Listen Sie die einzurichtenden Tunnelschnittstellen (hier gif0) auf:
gif_interfaces="gif0"
Um den lokalen Endpunkt MY_IPv4_ADDR über diese Schnittstelle mit dem entfernten Endpunkt REMOTE_IPv4_ADDR zu verbinden, verwenden Sie folgende Zeile:
gifconfig_gif0="MY_IPv4_ADDR REMOTE_IPv4_ADDR"
Um die Ihnen zugewiesene IPv6-Adresse als Endpunkt Ihres IPv6-Tunnels zu verwenden, fügen Sie folgende Zeile ein:
ipv6_ifconfig_gif0="MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR"
Nun müssen Sie nur noch die IPv6-Standardroute angeben. Diese legt das andere Ende des IPv6-Tunnels fest.
ipv6_defaultrouter="MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR"
Dieser Abschnitt beschreibt die Einrichtung von rtadvd(8), das Sie bei der Bekanntmachung der IPv6-Standardroute unterstützt.
Um rtadvd(8) zu aktivieren, fügen Sie folgende Zeile in /etc/rc.conf ein:
rtadvd_enable="YES"
Es ist wichtig, die Schnittstelle anzugeben, über die IPv6-Routen bekanntgemacht werden sollen. Soll rtadvd(8) fxp0 verwenden, ist folgender Eintrag nötig:
rtadvd_interfaces="fxp0"
Danach erzeugen Sie die Konfigurationsdatei /etc/rtadvd.conf. Dazu ein Beispiel:
fxp0:\ :addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether:
Ersetzen Sie dabei fxp0 durch die zu verwendende Schnittstelle.
Anschließend ersetzen Sie 2001:471:1f11:246:: durch das Präfix der Ihnen zugewiesenen Verbindung.
Wenn Sie eine /64-Netzmaske verwenden, müssen Sie keine weiteren Anpassungen vornehmen. Anderenfalls müssen Sie prefixlen# auf den korrekten Wert setzen.
Zurück | Zum Anfang | Weiter |
PLIP - Parallel Line IP | Nach oben | ATM - Asynchronous Transfer Mode unter FreeBSD 5.X |
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 17:56:55