IPv6, successor to IPv4, is a newer version of the IP protocol designed to fix its flaws, most notably the scarcity of available IP addresses. This protocol handles the network layer; its purpose is to provide a way to address machines, to convey data to their intended destination, and to handle data fragmentation if needed (in other words, to split packets into chunks with a size that depends on the network links to be used on the path and to reassemble the chunks in their proper order on arrival).
Bei Debian-Kerneln wird IPv6 im Core-Kernel ausgeführt (abgesehen von einigen Architekturen, bei denen es als Modul unter dem Namen ipv6
kompiliert wurde). Die IPv6-Äquivalente grundlegender Programme wie ping
und traceroute
heißen ping6
und traceroute6
und sind in den Paketen iputils-ping beziehungsweise iputils-tracepath verfügbar.
Das IPv6-Netzwerk wird ähnlich wie IPv4 in /etc/network/interfaces
konfiguriert. Wenn jedoch dieses Netzwerk global verfügbar sein soll, müssen Sie einen IPv6-fähigen Router haben, um den Datenverkehr an das weltweite IPv6-Netzwerk zu übermitteln.
Beispiel 10.10. Beispiel einer IPv6-Konfiguration
iface enp7s0 inet6 static
address 2001:db8:1234:5::1:1/64
# Disabling auto-configuration
# autoconf 0
# The router is auto-configured and has no fixed address
# (accept_ra 1). If it had:
# gateway 2001:db8:1234:5::1
IPV6 Subnetze haben eine Netzmaske von 64 Bit. Das heißt, es stehen 2
64 eindeutige Adressen innerhalb des Subnetzes zur Verfügung. Das ermöglicht der Stateless Address Autoconfiguration (
SLAAC), eine Adresse basierend auf der MAC-Adresse der Netzwerkkarte auszuwählen. Standardmäßig findet der Kernel automatisch IPv6 Router und konfiguriert das Netzwerk, wenn
SLAAC in Ihrem Netzwerk und IPv6 auf Ihrem Computer aktiviert sind.
This behavior may have privacy implications. If you switch networks frequently, e.g. with a laptop, you might not want your
MAC address being a part of your public IPv6 address. This makes it easy to identify the same device across networks. A solution to this are IPv6 privacy extensions (which Debian enables by default if IPv6 connectivity is detected during initial installation), which will assign an additional randomly generated address to the interface, periodically change them and prefer them for outgoing connections. Incoming connections can still use the address generated by SLAAC. The following example, for use in
/etc/network/interfaces
, activates these privacy extensions for the interface
enp7s0.
Beispiel 10.11. IPv6 Datenschutzerweiterungen
iface enp7s0 inet6 auto
# Prefer the randomly assigned addresses for outgoing connections.
privext 2
IPv6-Verbindungen können auf die gleiche Weise wie bei IPv4 eingeschränkt werden.
nft
kann verwendet werden, um Firewall-Regeln für IPv4 und IPv6 zu erstellen (siehe
Abschnitt 14.2.3, „Die Syntax von nft
“).
Falls keine native IPv6-Verbindung verfügbar ist, kann als Rückgriff ein Tunnel über IPv4 verwendet werden. Hurricane Electric ist ein (kostenloser) Anbieter solcher Tunnel:
Um einen Hurricane Electric Tunnel zu verwenden, müssen Sie ein Konto registrieren, sich anmelden, einen kostenlosen Tunnel auswählen und die Datei /etc/network/interfaces
mit dem generierten Code bearbeiten.
Sie können den Daemon radvd
(aus dem gleichnamigen Paket) installieren und konfigurieren, wenn Sie den konfigurierten Computer als Router für ein lokales Netzwerk verwenden möchten. Dieser IPv6-Konfigurations-Daemon hat eine ähnliche Rolle wie dhcpd
in der IPv4-Welt.
Anschließend muss die Konfigurationsdatei /etc/radvd.conf
erstellt werden (siehe /usr/share/doc/radvd/examples/simple-radvd.conf
als Ausgangspunkt). In unserem Fall muss nur das Präfix verändert werden, das durch das von Hurricane Electric bereitgestellte ersetzt werden muss; es ist in der Ausgabe des Befehls ip a
zu finden im Absatz zur he-ipv6
-Schnittstelle.
Dann führen Sie systemctl start radvd
aus und das IPv6-Netzwerk sollte dann funktionieren.