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 gemäß RFC1918 (mit Adressen wie 10.0.0.0/8, 172.16.0.0/12, oder 192.168.0.0/16) 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 32-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:
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 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"
Wenn Ihr Server IPv6-Verkehr zwischen Ihrem Netzwerk und der Außenwelt routen muss, benötigen Sie zusätzlich die folgenden Zeilen in Ihrer /etc/rc.conf:
ipv6_gateway_enable="YES"
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 |
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<[email protected]>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <[email protected]>.