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.
Die von IPv4 bekannte Broadcast-Adresse
(normalerweise
xxx.xxx.xxx.255
) wird bei IPv6
durch Multicast-Adressen verwirklicht.
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: activeBei
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
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:
Durch die folgende Zeile weisen Sie Ihrer Schnittstelle
fxp0
die statische IP-Adresse 2001:471:1f11:251:290:27ff:fee0:2093
zu:
Um 2001:471:1f11:251::1
als Standardrouter festzulegen, fügen Sie folgende Zeile
in /etc/rc.conf
ein:
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:
Um den lokalen Endpunkt
MY_IPv4_ADDR
über diese
Schnittstelle mit dem entfernten Endpunkt
REMOTE_IPv4_ADDR
zu
verbinden, verwenden Sie folgende Zeile:
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:
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.
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:
Es ist wichtig, die Schnittstelle anzugeben, über die
IPv6-Routen bekanntgemacht werden sollen. Soll rtadvd(8)
fxp0
verwenden, ist folgender Eintrag
nötig:
Danach erzeugen Sie die Konfigurationsdatei
/etc/rtadvd.conf
. Dazu ein Beispiel:
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.
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>.