Login
Newsletter
Werbung

Do, 1. März 2012, 15:00

IPv6-basiertes Heim-Netzwerk

Eine einfach einzurichtende Lösung für den Einsatz von IPv6 im Heim-Netzwerk, insbesondere im Hinblick auf eine automatische Namensauflösung.

IPv6 wird in großem Maßstab dieses Jahr eingeführt. Viele Provider werden ihre Dienste über das neue Protokoll anbieten.

Ein Vorteil von IPv6 ist die mögliche Erreichbarkeit sämtlicher Rechner des lokalen Netzwerks, ohne dass »Port Forwarding« eingerichtet werden muss. Wenn z.B. einige Rechner per SSH, vom Internet aus, erreicht werden müssen, muss für jede Station eine Port-Weiterleitung parametriert werden, oder nach dem Einloggen auf den Hauptrechner muss eine weitere SSH-Verbindung zum eigentlichen Rechner aufgebaut werden. Mit IPv6 ist dies nicht notwendig, sofern die Adresse der Heim-Rechner bekannt ist.

Einiges ist für den Einsatz in einen Heim Netzwerk-Verbund noch nicht optimal gelöst. Sofern die Geräte nur mit IPv6 versehen sind, versagt die Namensauflösung für das private Netz. Einige Komponenten sind noch nicht ausgereift bzw. sie richten sich an professionelle Anwender.

Damit die Rechner eine Adresse erhalten, sind drei Verfahren etabliert:

  1. Alle Rechner werden von Hand konfiguriert
  2. Die Konfiguration erfolgt per »Router Advertisement«
  3. DHCPv6 wird verwendet

Für den Anwender, der arbeiten und nicht seine Zeit mit das Administrieren verschwenden will, bleibt nur die zustandslose Konfiguration mit »Router Advertisement« oder die DHCP-gestützte automatische Einrichtung übrig. Dabei ist zu beachten, dass DHCPv6 noch einige Mängel aufweist und »Router Advertisement« verwendet werden sollte, damit die Schwächen von DHCPv6 ausgebügelt werden.

Beim Einsatz von DHCPv6 wird den Clients eine Adresse übermittelt, die über längere Zeiträume erhalten bleibt. Wenn nur »Router Advertisement« angewandt wird, ist normalerweise die Adresse des Rechners so aufgebaut, dass die MAC-Adresse als Teil der Adresse erscheint. Somit kann ein Rechner genau identifiziert werden.

Zufällige Adressen sind also oft erstrebenswert. Sie können erzwungen werden, indem in der Datei /etc/sysctl.conf die folgenden Zeilen eingefügt werden:

net.ipv6.conf.all.use_tempaddr=2
net.ipv6.conf.eth0.use_tempaddr=2
net.ipv6.conf.eth1.use_tempaddr=2
...

Die Anzahl der Einträge richtet sich nach den vorhandenen Netzwerkschnittstellen, was im Listing durch das ... ausgedrückt werden soll. Mit dieser Konfiguration wird eine Adresse erzeugt, die von Zeit zu Zeit verändert wird. Die Schnittstelle erhält damit nach wie vor die globale, auf der MAC-Adresse beruhende Adresse und zusätzlich eine als temporär markierte Adresse, die von den Applikationen verwendet wird, um mit der Außenwelt zu kommunizieren.

Ein weiterer Nachteil von DHCPv6, zumindest bei den üblichen Distributionen, die noch stark auf IPv4 und den Desktop-Bereich ausgerichtet sind, ist, dass ein Update des Name-Servers praktisch unmöglich gemacht wird. Bei der Verwendung von »Router Advertisement« ist ein DHCP-Update ohnehin nicht enthalten.

Mit wenig Aufwand lässt sich aber ein Server aufbauen, welcher dafür sorgt, dass die im Netz vorhandenen Systeme bekannt gemacht werden. Auf den Clients sind nur zwei kleine Server, die ohne Konfiguration arbeiten, zu installieren.

DNS mit ICMPv6 nach RFC 4620

RFC 4620 beschreibt als experimentell eingestufte »Node Information Queries«. Bei diesen handelt es sich um eine Erweiterung des Protokolls ICMPv6, welche es erlaubt, IP-Adressen und Namen abzufragen. Damit liegt ein wichtiger Baustein in der Gestalt des Servers ninfod vor. Die Aufgabe von ninfod ist es, Anfragen zu beantworten. Auf dem Server muss dementsprechend eine andere Software eingesetzt werden.

Diese Software ist der von mir geschriebene Ninisd. Ninisd überwacht die Ethernet-Schnittstelle des lokalen Netzwerks. Sobald sich ein neues System bemerkbar macht, werden die globale IP-Adresse sowie der Name abgefragt. Wenn diese Informationen vollständig sind, wird der DNS-Server über den neuen Netzteilnehmer informiert und alle Rechner können namentlich auf ihn zugreifen.

Eine weitere Möglichkeit wäre es gewesen, auf jedem Client einen Daemon vorzusehen, welcher automatisch nach Nachbarn sucht und die ermittelten Daten über eine dafür erstellte DNS-Bibliothek zur Verfügung stellt. Ein Vorteil der Server-basierten Lösung ist jedoch, dass alles an einer zentralen Stelle vorgenommen werden kann und weitere Merkmale leichter zu realisieren sind.

IPv6/IPv4-Übersetzer

Damit eine Kommunikation zwischen IPv4- und IPv6-Teilnehmern erfolgen kann, muss ein Vermittler die IPv6-Nachrichten in IPv4-Nachrichten umwandeln, und das natürlich auch in beide Richtungen.

Vor langer Zeit war unter Linux ptrtd das Objekt der Begierde. Der Entwickler empfiehlt aber inzwischen, den neuen Daemon tayga zu verwenden. Tayga soll sicherer sein und bietet auch die Möglichkeit, IPv4-Adressen für IPv6-Systeme zur Verfügung zu stellen.

DNS64: Für IPv4-Geräte eine IPv6-Adresse nennen

Damit ein IPv6-System ein IPv4-System namentlich ansprechen kann, muss eine IPv6-Adresse für das IPv4-System gebildet werden. Der Übersetzer muss natürlich laufen, damit das Ganze funktioniert.

Der von ISC stammende Server named beherrscht seit der Version 9.8 DNS64 und kann daher als lokaler Name-Server empfohlen werden. Die Einrichtung von named ist nicht kompliziert und kann leicht vorgenommen werden. Ein Nachteil von named ist aber, dass er viele Ressourcen verlangt.

Alternativ zu named können auch Server wie unbound und dnsmasq verwendet werden. Diese beherrschen zwar im Prinzip kein Update per DHCP/DHCPv6, dennoch lassen sich leicht neue Adressen und Namen eintragen. DNS64 wird von beiden Servern nicht unterstützt, daher ist die Verwendung eines speziellen Proxys in der Gestalt von totd notwendig.

Totd ist als Paket für Debian-basierte Distributionen erhältlich, für andere muss er kompiliert werden.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung