Namensgebung
Das direkte Hantieren mit IPv6-Adressen ist zwar möglich, aber mühsam. Deshalb besteht nach dem Aufbau einer Infrastruktur der nächste Schritt in der Einrichtung eines IPv6-fähigen Nameservers und eines Zeitservers, mit denen sich IPv6-Adressen automatisch handhaben lassen.
- Benedikt Stockebrand
Sowohl IPv4- als auch IPv6-Adressen lassen sich statisch in /etc/hosts oder im Fall von Solaris in /etc/inet/ipnodes eintragen - ein Provisorium, weil sich Adressen ändern können. Grundsätzlich kann das DNS-Protokoll einen nur per IPv4 erreichbaren Nameserver nach IPv6-Adressen fragen und umgekehrt - aktuelle Resolver und Nameserver bearbeiten IPv4- und IPv6-Adressen sowohl über IPv4 als auch IPv6.
Die Resolver von Debian, Fedora, FreeBSD, NetBSD und OpenBSD sind in diesem Sinn aktuell. Nur bei Solaris 9 hängt es von der Subrelease ab, ob der Resolver Anfragen per IPv6 stellen kann; mit den „Recommended Patches“ lassen sich aber auch ältere Subreleases schnell auf den heutigen Stand bringen. Bind 9 unterstützt Anfragen über IPv6 seit der ersten Version und ist im Folgenden Gegenstand der Betrachtung.
Resolver-Konfiguration
Damit ein IPv6-fähiger Nameserver nutzbar ist, muss zuerst der Resolver passend konfiguriert sein. Für den zukünftigen Nameserver „dns0.example.com“ mit der Adresse 2001:db8::1 und die Domain „example.com“ sieht das in /etc/resolv.conf wie zu erwarten so aus:
search example.com
nameserver 2001:db8::1
Außerdem legt /etc/nsswitch.conf fest, dass der Client tatsächlich den Nameserver befragt. Für Linux, FreeBSD und NetBSD lautet der entsprechende Eintrag
hosts: files dns
und fĂĽr Solaris
ipnodes: files dns
An der Resolver-Konfiguration hat sich also gegenüber IPv4 nichts wesentlich geändert. Neben dem Resolver benötigen alle Rechner DNS-Utilities aus der Bind-9-Distribution, vor allem dig und nsupdate. Auf einem Nameserver muss außerdem ein vollwertiger Bind 9 installiert sein.
Debian benötigt mindestens das Paket dnsutils, für Fedora sollte auch bei einer Minimalinstallation das Paket bind-utils installiert sein. Für beide gibt es ein separates Paket bind9 samt Nameserver.
OpenBSD enthält schon in der Core Installation Bind 9 - leider unvollständig, sodass hier für einen angehenden Nameserver etwas Nacharbeit erforderlich ist. Der Kasten „Nachschlag für OpenBSD: dnssec-keygen“ dokumentiert die Details. FreeBSD bringt ab der Version 5.3 einen Bind 9 im Core-System mit, für ältere Versionen gibt es einen Port. Bei NetBSD muss der komplette Bind 9 aus der Ports Collection installiert werden, auch wenn ein Client nur die Utilities braucht.
Nachschlag fĂĽr OpenBSD: dnssec-keygen
Leider fehlt bei OpenBSD der Befehl dnssec-keygen aus der Bind-9-Distribution. Am einfachsten lässt er sich aus dem Source Tree nachträglich bauen und installieren. Dazu besorgt man von ftp.openbsd.org oder einem Mirror die Datei src.tar.gz für die passende OpenBSD-Version, packt sie nach /usr/src aus und übersetzt und installiert laut Jakob Schlyter vom OpenBSD-Projekt mit
# cd /usr/src/usr.sbin/bind
# make -f Makefile.bsd-wrapper
# cd bin/dnssec && make install
das Ganze nach. Es bleibt zu hoffen, dass OpenBSD in kommenden Versionen den Befehl mitinstalliert.
Für Solaris schließlich gibt es Paket SMCbind, das Bind 9 enthält.
Nach der eigentlichen Installation muss bei NetBSD und Solaris auf Nameservern mit rndc-confgen -a explizit ein Key generiert werden, mit dem das Control Utility rndc anschlieĂźend den Nameserver steuern kann.
Weil NetBSD und Solaris Bind-8-Versionen der DNS-Tools mitbringen, muss man bei ihnen besonders darauf achten, nicht versehentlich die alten Versionen der DNS-Befehle aufzurufen. Wer seinen Nameserver lieber aus den Quellen kompiliert, findet sie unter ftp.isc.org/isc/bind9/.
Den vollständigen Text finden Sie in der aktuellen Print-Ausgabe der iX.
IPv6-Tutorial
- Der erste Teil beschreibt die Konfiguration von Routern und Hosts.
- Teil 2 geht auf die DNS-Einrichtung unter IPv6 ein.
- Teil 3 beschreibt die Nutzung weiterer wichtiger Netzdienste und die Integration von IPv4 und IPv6.
(un)