Block > IPv6

Da ja gestern World IPv6 Launch war, wollte auch ich moeglichst viel per IPv6 erreichbar machen. Wie man das ueber einen dedizierten Host nutzt hab ich ja schonmal beschrieben.

Hier geht es nun aber um die Einrichtung auf dem Host, das Aendern der DNS-Zone und das Ausliefern der Webseiten ueber IPv6. Ausserdem noch, wie man sich per IPv6 mit Freenode verbindet.

Voraussetzung

Einrichtung

Hat man bei ip addr schon sowas aehnliches

inet6 2a00:1828:2000:305::7d5/64 scope global

stehen, kann man sich freuen, denn dann braucht man auf dem Host nix mehr zu machen ;)

Ansonsten muss man erst mal in der /etc/rc.conf das Modul ipv6 in das Modules array schreiben.

Danach aktiviert man IPv6 z.B. auf dem Device eth0 (IP natuerlich anpassen):

# ip -6 addr add 2a00:1828:2000:305::7d5/64 dev eth0

Um das dauerhaft aktiv zu machen, kann man sich das entweder in ein init Skript schreiben oder in eine Datei, die auf jeden Fall beim Start ausgefuehrt wird.

Und nun muss man nur noch das Netzwerk neustarten:

# /etc/rc.d/network restart

Ob man nun IPv6 hat, kann man mit ping6 testen:

$ ping6 heise.de

DNS Zone

Um auch im DNS einen AAAA Record zu haben, muss man die Zone der Domain aendern. Das macht man normalerweise ueber das Adminpanel des Anbieters.

Wenn moeglich, kann man da auch ein Reverse DNS eintragen.

Nach spaetestens einem Tag sollte das dann weltweit im DNS Record drin sein :)

Pruefen kann man das per:

$ dig AAAA yhaupenthal.org

Nutzung

Ich habs zwar schonmal beschrieben, aber doppelt haelt besser ;)

In einer Shell verbindet man sich via

$ ssh -N -D[port] [user]@[host]

mit dem Host.

Die Optionen: -N fuehrt auf der Serverseite nix aus und -D[port] bindet alles von der Serverseite auf diesen (lokalen) Port.

Chromium/$Anwendung startet man dann mit:

$ chromium --proxy-server="socks://localhost:[port]"

Ob man nun per IPv6 unterwegs ist, kann man z.B. hier nachschauen.

Webserver

Ich nutze als Webserver Lighttpd. Die Konfiguration ist da ziemlich einfach. Folgendes muss hinzu/geaendert werden (so spart man sich den Aufwand alles doppelt zu bearbeiten):

$SERVER["socket"] == "127.0.0.1:80" {
    include "website.conf"
}
$SERVER["socket"] == "[::1]:80" {
    include "website.conf"
}

Natuerlich muss hier der Pfad zur Config und die IP-Adresse angepasst werden.

Fuer SSL genau das Gleiche, nur mit 443 statt 80 als Port sowie eine entsprechend andere Config (website_ssl.conf).

Bevor man neu startet, sollte man noch die Syntax pruefen:

# lighttpd -t -f /pfad/zur/config.conf

Und dann neu starten:

# /etc/rc.d/lighttpd restart

Weechat

Freenode kann man am Besten ueber irc.ipv6.freenode.net erreichen. Ich will zusaetzlich noch SSL, daher hab ich in meiner Config stehen:

freenode.addresses = "irc.ipv6.freenode.net/6697"
freenode.ipv6 = on
freenode.ssl = on
freenode.ssl_dhkey_size = 1024
freenode.ssl_verify = off

Leider passt das SSL-Zertifikat noch nicht zur Namen, daher muss man ssl_verify noch deaktivieren.

Fazit

Alles ziemlich simpel, hat man in hoechstens ein paar Stunden (wenn man von 0 anfaengt) alles konfiguriert.

Damit ist nun meine Website per IPv4 und IPv6 erreichbar, beides auch ueber SSL :)

Geschrieben: 2012-06-07, 19:20 - Tags: linux, ipv6, weechat, lighttpd, dns, archlinux