Fragen & Antworten: IPv6

Fragen & Antworten: IPv6

Praxis & Tipps | FAQ

Mit etwas Wissen kann man mithilfe von IPv6 etwa alle PCs im (W)LAN von draußen fernwarten. Das geht sehr komfortabel, wenn jeder PC einen eigenen DynDNS-Namen bekommt.

Was ist dieses IPv6, das mir der Router neuerdings anbietet?

Das Internet Protocol (IP) ist die Grundlage aller Internetanwendungen. Darauf setzen andere Protokolle auf, meist TCP (Transmission Control Protocol) und UDP (User Datagram Protocol). Diese transportieren wiederum die bekannteren Dienste wie HTTP(S) für Webseiten und Cloudanwendungen, SMTP, POP, IMAP für E-Mail oder DNS für die Namensauflösung.

IPv6 löst allmählich das veraltete Transportprotokoll IPv4 ab, weil dessen vergleichsweise kleiner Raum von gerade mal rund 4 Milliarden Adressen (232) – also weltweit erreichbarer Geräte – längst erschöpft ist. Die in Routern bei IPv4 eingesetzte Network Address Translation (NAT) kaschiert das Problem nur, indem sie alle Stationen eines (W)LANs in Richtung Internet hinter einer IPv4-Adresse verbirgt. IPv6 bläst den Adressraum auf enorme 340 Sextillionen (2128) auf, was auch bei mehrfachen Adressen pro Gerät und riesigen zugeteilten Bereichen fürs lokale Netz für die absehbare Zukunft reichen sollte.

IPv6 hat die Nische verlassen: Nach einem langsamen Start steuern inzwischen nie weniger als ein Fünftel der Besucher heise.de über IPv6 an.

Viele ältere Geräte, die nur IPv4 sprechen, oft etwa Drucker mit (W)LAN-Port, werden aber noch lange in Netzwerken laufen. Deshalb dürfte es geraume Zeit dauern, bis das alte Protokoll verzichtbar wird. Solange werden IPv4 und IPv6 vielerorts parallel laufen (Dual-Stack-Betrieb).


Mit IPv4 geht doch alles. Warum sollte ich IPv6 überhaupt einschalten?

Fragen Sie mal einen Freund, dessen Heimnetz übers TV-Kabel am Internet hängt, wie er von draußen auf seinen heimischen PC oder den Netzwerkspeicher zugreift. Meist kommt die Antwort „gar nicht“, weil viele Nutzer unterwegs nur per IPv4 ins Internet gelangen können. Aus IPv4-Netzen heraus führt kein Weg zu PCs an TV-Kabel-Anschlüssen, weil der dortige Router keine öffentliche IPv4-Adresse bekommt.

Wenn Netze aber IPv6 haben, gibt es noch weitere Vorteile: So können mehrere Server im LAN parallel die gleichen Dienste (Cloud, Mail) anbieten, nicht nur der eine, auf den die IPv4-Portweiterleitung zeigt. Das nützt etwa einem Betreiber kleiner Mailserver für mehrere Domains.

Ebenso kann ein Familien-Admin jeden Host im LAN per RDP oder VNC fernwarten, ohne sich zig verschiedene Portweiterleitungen merken zu müssen. Denn jedes IPv6-erreichbare Gerät kann einen eigenen DynDNS-Namen erhalten, beispielsweise von Anbietern wie DuiaDNS oder Dynv6.

Berichtigung: Überlange IPv6-Adressen und Adresstypen

Der vorletzte Block der Beispieladresse in der obigen Infografik ist versehentlich doppelt aufgeführt. Eine IPv6-Adresse besteht aus 8 Blöcken zu 16 Bit, nicht aus 9.

Die IPv6-Adresstypen sind zudem ungenau dargestellt: Die Link-Local-Adressen (fe80::/10, RFC 4291) von IPv6 entsprechen eher den AutoIP-Adressen (169.254.0.0/16, RFC 3927, früher APIPA) bei IPv4, die sich Betriebssysteme in Netzen setzen, wenn kein Router vorhanden ist. Verkehr darüber wird nicht ins Internet geroutet. Bei IPv6 sind die Unique Local Addresses (fc00::/7, RFC 4193, ULA) das Pendant zu den lokalen IPv4-Adressen (RFC 1918) von IPv4. Auch deren Verkehr leitet der Router nicht ins Internet -- anders als bei IPv4, wo die Netzwerkadressübersetzung (NAT) für den Internetzugang sorgt.

Schließlich ist IPv6 auch nicht mehr die Zukunft, sondern für etliche Teilnehmer längst Gegenwart: Die Telekom hat das Protokoll in ihrem Festnetz 2012 aktiviert, im Mobilfunknetz 2015. Andere Provider folgten im Festnetz schnell, nur im Mobilfunk noch nicht. Bei Redaktionsschluss dieser c’t lag der IPv6-Anteil auf der gut besuchten Seite heise.de in der Spitze bei 37 Prozent. Selbst in schwachen Zeiten fällt der Anteil nicht mehr unter 20 Prozent.

Warum gibt es auf meinem Gerät drei Arten von IPv6-Adressen?

Wie bei IPv4 gibt es bei IPv6 Adressen, die nur innerhalb Ihres Netzwerks gelten, sogenannte verbindungslokale (link local). Die gehören bei IPv6 zum Präfix fe80::/10 und entsprechen den privaten Adressen bei IPv4 (RFC 1918: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, siehe Überblick über IPv4-Adresstypen). Verkehr zwischen diesen Adressen bleibt immer innerhalb Ihres Netzwerks.

Außerdem hat Ihr Rechner mindestens eine global gültige IPv6-Adresse, über die er IPv6-Server im Internet erreicht. Der Server muss sich nicht mehr hinter der bei IPv4 unumgänglichen Adressumsetzung (NAT) des Routers verstecken und ist direkt aus dem Internet erreichbar, wenn die IPv6-Firewall des Routers – nach Freigabe des Admins – den Verkehr durchlässt.

Schließlich bieten viele Router noch Unique-Local-Adressen (ULA, Bereich fc00::/7, praktisch immer fd00::/8). Mit denen kann man beispielsweise in Unternehmen den Verkehr zwischen eigenständigen Abteilungsnetzwerken routen, auch wenn diese keinen Internetzugang haben.

Infos zu weiteren IPv6-Adressbereichen und den Serverbetrieb:

IPv6-Adresstypen
Serverbetrieb mit dynamischen IPv6-Adressen

Warum hat mein Rechner mal mehr, mal weniger, aktuell gerade vier globale IPv6-Adressen?

Jeder Host darf sich selbst anhand des vom Router vorgegebenen Präfixes (siehe unten) etliche IPv6-Adressen setzen. Das nutzt man zum Verschleiern des Surf-Verhaltens (Privacy Extensions): Der Rechner erwürfelt sich regelmäßig einen neuen Host-Part und verwendet diese Adresse für neue Verbindungen. Etwas später verwirft er die abgelaufenen. IPv6-Adressen mit konstantem Host-Part nutzt der Rechner für unverlangt eingehenden IPv6-Verkehr, also etwa für Serverfunktionen oder Fernsteuerung.

Was ist denn ein Präfix?

Das Präfix ist der vordere Teil der IPv6-Adresse, den typischerweise Ihr Provider zuteilt. Bei den meisten Anschlüssen ändert er sich bei einer Neueinwahl, Firmenkunden bekommen auch feste Präfixe. Anhand des Präfixes der Zieladresse entscheidet Ihr Router, ob er das Paket zum Provider schicken muss, ob es an einen anderen Router im Netz geht oder ob es im lokalen Netz, also seinem (W)LAN, bleibt.

Die für Serverdienste nötige globale IPv6-Adresse mit konstantem Host-Part versteckt sich bei modernen Betriebssystemen zwischen den wechselnden temporären Adressen (Privacy Extensions) und den lokal gültigen.

Der hintere Teil, die letzten 64 Bit der Adresse, sind die Gerätekennung im lokalen Netz, auch Interface Identifier (IID) oder Host-ID. Damit besteht das kleinstmögliche Präfix ebenfalls aus 64 Bit, was man als /64 kennzeichnet. Viele Provider spendieren aber größere, beispielsweise die Telekom ihren xDSL-Kunden ein /56. Damit lassen sich 256 eigene Subnetze betreiben: 56 Bit ins Internet, 8 Subnetz-Bits, 64 Bit innerhalb des Subnetzes für die Hosts.

Der vordere Teil der IPv6-Adresse (Präfix) entscheidet, ob der Router ein Paket zum Provider, an einen anderen Router im eigenen Netz oder gar nicht weiterleitet. Teilt der Provider beispielsweise ein /56-Präfix zu, kann man 256 Subnetze bilden.

Kann man die irre langen IPv6-Adressen kürzer schreiben?

Ja, dafür gibts zwei Regeln. Erstens können Nullen am Anfang eines Viererblocks entfallen. Zweitens darf man eine durchgehende Kette von Nullen durch zwei Doppelpunkte ersetzen, aber nur einmal. Aus 2001:0db8:00cd:7320:0000:0000:0000:0012 wird so 2001:db8:cd:7320::12.

Bei DynDNS-Diensten für IPv6-Server soll ich den konstanten Host-Part der Adresse angeben. Mein Gerät zeigt auf seiner Ethernet-Schnittstelle aber einen ganzen Heuhaufen von IPv6-Adressen an. Wie finde ich die Stecknadel?

Bei der üblicherweise verwendeten Adressvergabemethode SLAAC (Stateless Address Autoconfiguration: Router annonciert Präfix, Hosts setzen Adresse selbst) hängt es vom Betriebssystem ab: Windows verrät per ipconfig auf der Kommandozeile die „Verbindungslokale IPv6-Adresse“. Ihr hinterer 64-Bit-Teil ist der gewünschte Host-Identifier, auch IID, den Windows immer auch bei einer globalen Adresse setzt.

Unter Linux lassen Sie mit ip -6 ad sh <Interface-Name> | grep mng die konstanten IPv6-Adressen des gewünschten Interfaces ausgeben. Die zum Bereich 2000::/3 (2000::/16 bis 3fff::/16) gehörende globale Adresse enthält den gesuchten IID. Ist die Liste leer, hilft ip -6 ad sh <Schnittstellenname> | grep "global dyn" weiter.

Bei macOS 10.x wirft ifconfig <Interface-Name> | grep "conf secured" direkt die globale IPv6-Adresse mit konstantem Host-Part aus.

Vergibt der Router in Ihrem Netz IPv6-Adressen hingegen ausschließlich mit DHCPv6, dann werden Sie genau eine globale IPv6-Adresse finden und können die direkt nehmen.

Wie finde ich auf meinem Linux-Server heraus, welche Dienste auf IPv6-Verbindungen lauschen?

Für TCP verrät das auf der Kommandozeile ein sudo lsof -i6 | grep "LISTEN". Alternativ geht auch sudo netstat -6at | grep "LISTEN". Wenn die netstat-Ausgabe die Adressen und Portnummern statt der Host- und Dienstnamen zeigen soll, hängen Sie ein n an den Parameter an. lsof braucht dafür zusätzlich -n -P. UDP-Dienste listet der Befehl sudo lsof -i6 | grep "UDP \*.


Dieser Artikel stammt aus c't 12/2019

Kommentare