IPv6 ist die neueste Version des bekannten IP-Protokolls, das auch als IPv4 bezeichnet wird. IPv6 bietet gegenüber IPv4 mehrere Vorteile sowie viele neue Funktionen:
IPv6 hat einen 128 Bit großen Adressraum, der 340.282.366.920.938.463.463.374.607.431.768.211.456 Adressen erlaubt. Dies behebt das Problem der immer knapper werdenden IPv4-Adressen und einer eventuellen Erschöpfung des IPv4-Adressraums.
Router speichern nur noch Netzwerk-Aggregationsadressen in ihren Routingtabellen. Dadurch reduziert sich die durchschnittliche Größe einer Routingtabelle auf 8192 Einträge. Dies ist mit den Problemen bei der Skalierbarkeit von IPv4 verbunden, da jeder zugeordnete Block von IPv4-Adressen erfordert, dass Routing-Informationen zwischen vielen Routern im Internet ausgetauscht werden müssen. Die Routing-Tabellen wurden mit der Zeit so groß, dass ein effizientes Routing jetzt kaum noch möglich ist.
Die automatische Konfiguration von Adressen, die im RFC2462 beschrieben wird.
Verpflichtende Multicast-Adressen.
Integriertes IPsec (IP-Security).
Eine vereinfachte Headerstruktur.
Unterstützung für mobile IP-Adressen.
Die Umwandlung von IPv4- in IPv6-Adressen.
FreeBSD enthält die IPv6-Referenzimplementation von KAME und erfüllt damit bereits alle für die Nutzung von IPv6 nötigen Voraussetzungen. Dieser Abschnitt konzentriert sich auf die Konfiguration und den Betrieb von IPv6.
Es gibt verschiedene Arten von IPv6-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.
Die kanonische Form einer IPv6-Adresse
lautet x:x:x:x:x:x:x:x
, wobei jedes
„x“ für einen 16-Bit-Hexadezimalwert steht. 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 IPv4-Notation.
2002::10.0.0.1
ist also 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.
Benutzen Sie ifconfig(8), um die IPv6-Adresse eines FreeBSD-Systems anzuzeigen:
#
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.
Einige IPv6-Adressen sind reserviert. Eine Zusammenfassung dieser Adressen finden Sie in Tabelle 31.3, „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 sind die kompatiblen IPv4-Adressen. |
::ff:xx:xx:xx:xx | 96 Bit | Eine auf IPv6 abgebildete IPv4-Adresse. | Die niedrigen 32 Bit sind IPv4-Adressen für Hosts, die kein IPv6 unterstützen. |
fe80::/10 | 10 Bit | link-local | Entspricht 196.254.0.0/16 bei IPv4. |
fc00::/7 | 7 Bit | unique-local | Diese einzigartigen Adressen sind für die lokale Kommunikation bestimmt und werden nur innerhalb von abgegrenzten Standorten (Sites) weitergeleitet. |
ff00:: | 8 Bit | Multicast | |
2000::-3fff:: | 3 Bit | Globaler Unicast | Alle globalen Unicast-Adressen stammen aus diesem
Pool. Die ersten 3 Bit lauten
001 . |
Weitere Informationen zum Aufbau von IPv6-Adressen finden Sie im RFC3513.
Um ein FreeBSD-System als IPv6-Client zu
konfigurieren, fügen Sie folgende Zeile in
/etc/rc.conf
ein:
ifconfig_rl0
_ipv6="inet6 accept_rtadv"
rtsold_enable="YES"
Die erste Zeile ermöglicht der angegebenen Schnittstelle, Router-Solicitation-Nachrichten zu empfangen. Die zweite Zeile aktiviert den Router-Solicitation-Daemon rtsold(8).
Falls die Schnittstelle eine statisch zugewiesene IPv6-Adresse benötigt, fügen Sie einen Eintrag mit der statischen Adresse und dem zugehörigen Präfix für das Subnetz hinzu:
ifconfig_rl0
_ipv6="inet62001:db8:4672:6565:2026:5043:2d42:5344
prefixlen64
"
Um einen Standardrouter festzulegen, fügen Sie die Adresse hinzu:
ipv6_defaultrouter="2001:db8:4672:6565::1
"
Um sich mit anderen IPv6-Netzwerken zu verbinden, benötigen Sie einen Provider oder einen Tunnel, der IPv6 unterstützt:
Fragen Sie einen Internetprovider, ob er IPv6 anbietet.
SixXS bietet weltweit IPv6-Tunnelverbindungen an.
Hurricane Electric bietet weltweit IPv6-Tunnelverbindungen an.
Die Verwendung des Ports
/usr/ports/net/freenet6
für
Einwahlverbindungen.
Dieser Abschnitt beschreibt, wie Sie die Anweisungen
eines Tunnel-Providers dauerhaft in
/etc/rc.conf
einrichten.
Der erste Eintrag in /etc/rc.conf
erzeugt die generische Tunnelschnittstelle
gif
:0
gif_interfaces="gif0
"
Als nächstes konfigurieren Sie die
IPv4-Adressen der lokalen und entfernten
Endpunkte. Ersetzen Sie
MY_IPv4_ADDR
und
REMOTE_IPv4_ADDR
durch die
tatsächlichen IPv4-Adressen:
gifconfig_gif0="MY_IPv4_ADDR REMOTE_IPv4_ADDR
"
Um die zugewiesene IPv6-Adresse als
Endpunkt für den IPv6-Tunnel zu
verwenden, fügen Sie folgende Zeile für
FreeBSD 9.x
(und neuer)
ein:
ifconfig_gif0_ipv6="inet6 MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR
"
Legen Sie dann die Standardroute für das andere Ende
des IPv6-Tunnels fest. Ersetzen Sie
MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR
mit der Adresse des Standard-Gateways des Providers:
ipv6_defaultrouter="MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR
"
Wenn das FreeBSD-System IPv6-Verkehr zwischen dem Netzwerk und der Außenwelt routen muss, aktivieren Sie das Gateway mit dieser Zeile:
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) rl0
verwenden, ist
folgender Eintrag nötig:
rtadvd_interfaces="rl0"
Danach erzeugen Sie die Konfigurationsdatei
/etc/rtadvd.conf
. Dazu ein
Beispiel:
rl0:\ :addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether:
Ersetzen Sie dabei fxp0
durch die zu
verwendende Schnittstelle, und
2001:471:1f11:246::
durch das
entsprechend zugewiesene Präfix.
Bei einem /64
-Subnetz müssen keine
weiteren Anpassungen vorgenommen werden. Anderenfalls muss
prefixlen#
auf den korrekten Wert
gesetzt werden.
Wenn IPv6 auf einem Server aktiviert ist, kann es für die Kommunikation erforderlich sein, IPv4-Adressen auf IPv6-Adressen abzubilden. Diese Kompatibilität erlaubt es, das IPv4-Adressen als IPv6-Adressen dargestellt werden. Die Kommunikation von IPv6-Anwendungen mit IPv4 und umgekehrt kann jedoch ein Sicherheitsrisiko darstellen.
Diese Option dient nur der Kompatibilität und wird in
den meisten Fällen nicht erforderlich sein. Die Option
ermöglicht es IPv6-Anwendungen zusammen
mit IPv4 in einer Dual-Stack-Umgebung
zu funktionieren. Dies ist besonders nützlich für
Anwendungen von Drittanbietern, die evtl. keine
IPv6-Umgebungen unterstützen. Um diese
Funktion zu aktivieren, fügen Sie folgendes in
/etc/rc.conf
hinzu:
ipv6_ip4mapping="YES"
Für einige Administratoren können die Informationen im RFC 3493 (Sektion 3.6 und 3.7) und RFC 4038 (Sektion 4.2) hilreich sein.
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>.