Dieses Dokument beschreibt die Vorgehensweise wie man ein OpenBSD-System
IPv6-fähig macht und grundlegene Serverdienste IPv6-gerecht einrichtet.
1. Einrichten eines Tunnels
-----------------------------------------------------------
Es muss als erstes einmal geklärt sein zu welchem Tunnel-Broker ein
Tunnel aufgebaut werden soll. Empfehlen kann ich as8758.net [1] und
sixxs.net [2]. AS8758 ist beheimatet in der Schweiz und SixXS hat
mehrere POPs, verteilt in ganz Europa. In den folgenden Abschnitten wird
davon ausgegangen, dass man ein aktuelles OpenBSD-System zur Verfügung
hat sowie über eine statische IP-Adresse verfügt. Der Aufbau eines
Tunnels mittels dynamischer IP-Adresse ist etwas komplizierter und wird
von vielen Tunnelbrokern nur schlecht unterstützt.
Als erstes muss man sich bei dem jeweiligen Tunnelbroker anmelden und
einen typischen Registrierungs-Prozess durchlaufen bis einem die Daten
der Tunnel-Konfiguration per Email zugesand werden. Ich beziehe mich im
weiteren auf ein realexistierendes Beispiel vom TunnelBroker SixXS.
Wie unter OpenBSD üblich werden die Netzwerk-Konfigurationen über
hostname.$IF Dateien in /etc geregelt. Das folgende Beispiel startet den
Tunnel bei jedem Start des Betriebssystems automatisch. Dies ist der
Inhalt der hostname.gif0. Sollten schon andere Tunnel vorhanden sein
ersetzt man einfach das gif0 durch gifX. X ist dabei die Zahl des noch
freien Tunnel-Devices.
+-------hostname.gif0--------------------------------------
|
| tunnel MEINE_IPV4_ADDR MEIN_IPV4_TUNNELENDE
| inet6 LOCALE_IPV6_ADDR
| !/sbin/route add -inet6 default REMOTE_IPV6_ADDR
|
+----------------------------------------------------------
Wenn man den Tunnel im laufenden Betrieb hochfahren möchte braucht man
die obrigen Zeilen einfach nur in der Shell mittels ifconfig ausführen.
Die Route wird natürlich ohne ifconfig gesetzt.
Um das IPv6-Routing zu überprüfen sollte man als erstes versuchen die
Gegenseite zu 'ping6'en. Sollte dies nicht sofort funktionieren sollte
man ein paar Stunden warten und dies erneut probieren, da viele
TunnelBroker erst sporadisch versuchen ihr Gegenüber zu pingen und dann
das Routing aktivieren. Das kann schon mal etwas dauern.
2. Einrichten von grundlegenden Serverdiensten
-----------------------------------------------------------
Da OpenBSD durch die Kame-Implementation von IPv6 [3] schon von Haus aus
IPv6-fähig ist kann man die meisten Server-Dienste, die sich in der
/etc/inetd.conf befinden durch auskommentieren der jeweiligen Dienste
auf IPv6 trimmen. Es werden nur die Dienste in der inetd.conf
auskommentiere die halt tcp6/udp6 in der Zeile haben und erwünscht sind.
Beispiele könnten dafür kleine Sachen, wie ein ftpd, identd oder auch
pop3 Dienste sein. Der beliebte sshd lauscht automatisch auf IN_ADDR_ANY
und ist nach dem Neustart des Rechners/Dienstes automatisch über die
IPv6-Adresse des Hosts zu erreichen.
Da leider der mitgelieferte Apache von OpenBSD nicht IPv6 fähig ist bin
ich dazu übergegangen den aktuellen Apache2 in der Version 2.0.48 als
WebServer zu benutzen. Die Installation ist dabei denkbar einfach.
2.1. Installation und Konfiguration des Apache2
-----------------------------------------------------------
1. Den tarball von http://httpd.apache.org/ downloaden
2. Entpacken
3. ./configure && make && make install
Bei dieser Vorgehensweise sollte man aber _dringlist_ beachten, dass
diese Installation _alle_ Dateien nach /usr/local/apache2 installiert.
Die Logfiles, Binaries und die Konfigurations-Dateien liegen alle in
diesem Verzeichnis. Ich finde das okay , da man die ganze Installation
somit leicht sichern kann und auch schnell updaten. Man muss einfach nur
den neuen Tarball drüber installieren und man ist somit sehr schnell auf
einem aktuellen Stand, wenn mal wieder neue Sicherheitslücken auftauchen.
Die httpd.conf ist wie gewohnt zu konfigurieren.
Eine weitergehende Konfiguration des Apache2 ist sehr ausführlich im
Internet beschrieben. Es empfielt sich dabei einfach einmal google zu
bemühen. Unterstützung, wie mod_perl oder php4 sind wohl die
bekanntesten Erweiterungen die dem Apache2 in der obrigen Konfiguration
fehlen dürften.
Hinweis: Es ist immens wichtig das man den mitgelieferten Apache von
OpenBSD deaktiviert und ein kleines Start-Script für den
Apache2 in die /etc/rc.local einbaut.
Dies könnte zum Beispiel so aussehen.
+--------------------------------------------------------------
| /usr/local/apache2/bin/apachectl start && echo -n ' apache2'
+--------------------------------------------------------------
Das ist aber eine mehr als einfache Variante die bei Bedarf und erweitert
werden kann.
Es empfielt sich weiterhin einen ALIAS in die Shell des Benutzer
einzubauen, damit auch immer das richtige apachectl ausgeführt wird. Je
nach Konfiguration von $PATH kann es sonst passieren, dass plötzlich das
apachectl des Apache1 versucht den Apache2 zu stoppen/starten usw. Das
führt schnell zu Problemen.
A. Verweise
---------------------------------------
[1] http://tunnelbroker.as8758.net/
[2] http://www.sixxs.net/
[3] http://www.kame.net/
Gordon Bergling (gordon at 0xfce3 dot net)
http://www.0xfce3.net/
|