Diensttauglich

Für eine vollwertige IPv6-Umgebung sind außer diversen Services eine Brücke zwischen IPv4- und IPv6-Welt und eine IPv6-fähige externe Anbindung samt grundlegender Sicherheitsüberlegungen notwendig.

vorlesen Druckansicht 2 Kommentare lesen
Lesezeit: 5 Min.
Von
  • Benedikt Stockebrand

Nachdem die ersten beiden Artikel dieser Serie den grundsätzlichen Aufbau eines IPv6-Netzes dargestellt haben, ist das nächste Ziel die Bereitstellung weiterer wichtiger IPv6-fähiger Netzdienste.

Erfreulicherweise sind viele Programme in aktuellen Versionen IPv6-fähig, sodass man nur noch in wenigen Fällen selbst zum Compiler greifen muss. Für einen Überblick, welche Dienste per IPv6 zur Verfügung stehen, hilft bei Solaris 9 und den BSDs ein

# netstat -a -f inet6 

und bei Linux ein

# netstat -a -A inet6 

weiter. Bei allen vorgestellten Unixen bis auf Debian Woody ist die OpenSSH schon IPv6-fähig; der Kasten „OpenSSH selbst gebaut“ erklärt, wie man die OpenSSH für das inzwischen etwas betagte Woody und andere Unixe aus den Quellen selbst bauen kann.

Mehr Infos

OpenSSH selbst gebaut

Zum Kompilieren der OpenSSH sind zunächst die Quellen von www.openssh.org/pub/OpenSSH und die Libraries zlib und libssl einschließlich der dazugehörigen Header-Dateien notwendig. Für Debian Woody heißen die Pakete der Libraries zlib1g-dev und libssl-dev, außerdem fehlt hier die PAM-Library libpam0g-dev.

Nach dem Auspacken der Quellen lässt sich mit

# ./configure --sysconfdir=/etc/ssh
# make && make install

die OpenSSH bauen und installieren. Nur bei Debian braucht das configure-Script zusätzlich die Option „-with-pam“, damit man sich per SSH mit einem Passwort einloggen kann. Außerdem braucht Debian in /etc/ssh/sshd_config die Optionen

UsePAM yes
UsePrivilegeSeparation no

um einige spezielle Probleme zwischen Linux und der OpenSSH einzufangen.

Damit der sshd beim Booten startet, ist auĂźerdem wieder einmal ein Boot-Skript erforderlich. Dazu kann man ein eventuell vorhandenes Skript benutzen, das fĂĽr eine IPv4-only-Version der OpenSSH gedacht ist. Alternativ genĂĽgt eine Datei /etc/init.d/sshd mit dem Inhalt

#! /bin/sh
case "$1" in
start) /usr/local/sbin/sshd
;;
stop) kill `cat /var/run/sshd.pid`
;;
esac

die mit chmod 755 /etc/init.d/sshd ausfĂĽhrbar gemacht und wie gewohnt mit Symlinks als /etc/rc[2345].d/S99sshd eingerichtet wird, sodass bei zukĂĽnftigen Reboots der sshd automatisch startet.

Ähnlich sieht es mit dem inetd für Solaris und die BSDs und dem xinetd für Debian und Fedora Core 2 aus: Alle sind IPv6-fähig. Debian benutzt per Default allerdings einen nur IPv4-tauglichen inetd, sodass es hier nötig ist, den xinetd nachzuinstallieren. Der (x)inetd ist deshalb interessant, weil sich einfache Protokolle mit ihm ohne weitere Anpassungen IPv6-fähig machen lassen; nur wenn IP-Adressen in den Daten ausgetauscht oder zu der existierenden Verbindung vom Betriebssystem abgefragt werden, hilft der Kunstgriff nicht weiter.

Beim xinetd ist in der Konfiguration der Services, deren IPv6-Unterstützung aktiviert werden soll, lediglich eine Zeile „flags = IPv6“ hinzuzufügen (bei Debian in /etc/xinetd.conf für alle Services, bei Fedora in /etc/xinetd.d/<Service> mit separaten Konfigurationsdateien für alle Services); Listing 1 zeigt das am Beispiel des Echo-Services. Bei schon existierenden Konfigurationen, die aber nicht aktiv sind, muss man außerdem eventuell die Zeile „disable = yes“ löschen.

Der inetd bei den BSDs und Solaris unterscheidet sich vom xinetd zunächst in der Syntax. Hier gibt man für den Service in /etc/inetd.conf in der Protokollspalte statt „tcp“ oder „udp“ einfach „tcp6“ oder „udp6“ an, um den Service mit IPv6 zu verwenden, wie Listing 2 für den Echo-Service zeigt. Dabei unterscheiden sich die BSDs und Solaris in einem wichtigen Punkt: Während die BSDs zwei separate Zeilen erwarten, eine für IPv4 und eine für IPv6, reicht bei Solaris ein Eintrag mit Protocol „tcp6“ oder „udp6“ aus, um den Service sowohl für IPv4 als auch IPv6 zur Verfügung zu stellen. Streng genommen ist es keine Eigenschaft des inetd, sondern eine Einstellung im Kernel, IPv4-Adressen transparent in „IPv6 mapped IPv4 addresses“ umzuwandeln oder nicht.

Auch E-Mail funktioniert bei FreeBSD 5.3, NetBSD 1.6.2, OpenBSD 3.6 und Solaris schon ohne Änderungen. Bei Debian Woody wird Exim über den inetd gestartet. Wenn statt des inetd der xinetd läuft und in der xinetd-Konfiguration wie oben beschrieben der SMTP-Service mit IPv6-Unterstützung konfiguriert ist, wird auch Debians Exim IPv6-fähig. Alternativ kann man Exim als Standalone-Server starten. Fedora bringt ein Sendmail mit, das prinzipiell IPv6-fähig ist, dessen Konfiguration aber kein IPv6 erlaubt. Der Kasten „Sendmail mit IPv6“ erläutert die Details.

Etwas schlechter sieht es rund um das World Wide Web aus: Gängige Browser unterstützen zwar IPv6, aber weder der Apache 1.x noch Squid als Proxy sind IPv6-fähig. Als Ausweg bietet sich der IPv6-fähige Apache 2 an, der auch die Proxy-Funktionen des Squid ersetzen kann. Wie weit selbst geschriebene Module, CGI-Programme und ähnliches zum Beispiel zu Logging-Zwecken IP-Adressen benutzen und deshalb um die Unterstützung von IPv6-Adressen angepasst werden müssen, lässt sich nur im Einzelfall prüfen.

Noch durchwachsener sieht es rund um RPC und damit NFS aus: Während Solaris, Free- und NetBSD einen IPv6-fähigen rpcbind mitbringen, hinken Linux und OpenBSD leider noch hinterher.

Die Suche nach IPv6-fähiger Peripherie ist derzeit praktisch aussichtslos: Ein IPv6-fähiger Netzdrucker ist genauso wenig bekannt wie ein IPv6-fähiges PXE-ROM, mit dem ein Rechner über ein IPv6-Netz booten könnte. Es bleibt nur zu hoffen, dass der Marktdruck in Südostasien in der nächsten Zeit die Hersteller dazu veranlasst, IPv6 in Appliances zu unterstützen.

Wer aktuelle Open-Source-Projekte beobachtet, stellt fest, dass viele schon IPv6 unterstĂĽtzen oder zumindest an der IPv6-UnterstĂĽtzung arbeiten, auch wenn oft wenig davon nach auĂźen dringt. OpenLDAP, Courier-imapd und BSD-lpd funktionieren beispielsweise per IPv6, CUPS soll ab Version 1.2 IPv6 unterstĂĽtzen.

Den vollständigen Text finden Sie in der aktuellen Print-Ausgabe der iX.

Mehr Infos

IPv6-Tutorial

(un)