IPv6-Testbetrieb für heise online [2. Update]

Seite 4: Der IPv6-Tag am 16. September

Inhaltsverzeichnis

Am IPv6-Tag sollen unsere Seiten auch unter dem Namen www.heise.de per IPv6 ausgeliefert werden. Derzeit liegt der IPv6-Verkehr unter 1 % der Zugriffe. Weil noch kein großer Provider einen Zugang anbietet, wird das wohl auch einige Zeit so bleiben. Daher lohnt es sich noch nicht, die gesamte Server-Landschaft inklusive Loadbalancer und Datenbanken IPv6-tauglich zu machen. Vielmehr soll der schon als www.six.heise.de erreichbare Proxy auch den IPv6-Verkehr für www.heise.de abwickeln. Das ist sogar etwas einfacher als bei www.six.heise.de, weil der Proxy sich die URL-Umschreibung sparen kann.

Zunächst bekommt der Proxy eine zusätzliche IPv6-Adresse (2a02:2e0:3fe:100::7), damit in der Apache-Konfiguration daran ein zusätzlicher Virtual Host hängen kann. Zur Vereinfachung verbindet ein Eintrag in /etc/hosts dies Adresse mit dem Namen wwwself-if.heise.de, der nur für die Apache-Konfiguration benutzt wird. Dort sieht der Eintrag ganz ähnlich aus, wie bei www.six.heise.de:

<VirtualHost wwwself-if.heise.de:80>
ServerName www.heise.de
ServerAdmin webadmin@heise.de
# Directory / greift nicht bei Proxy
<Location />
Order allow,deny
allow from all
</Location>

# Dies ist der spannde Teil, die Proxy-Konfiguration
ProxyPass / http://www‌.heise.de/
ProxyPassReverse / http://www‌.heise.de/
ProxyRequests Off

# mod_proxy_html kann selbst mit gzip nichts anfangen
# deshalb muss das Ent- und Packen explizit hier stehen
SetOutputFilter INFLATE;DEFLATE
</VirtualHost>

Fast genauso sieht der Eintrag für den Port 443 aus, auf dem der per HTTPS erreichbar ist. Damit das funktioniert, haben wir das SSL-Zertifikat für www.heise.de auf den Proxy kopiert. Denn der muss in die HTTP-Anforderungen hineinschauen und deshalb die Pakete entschlüsseln. Anschließend verpackt er sie wieder, um per IPv4 und HTTPS die geforderten Seiten zu holen und sie mit demselben Zwischenschritt weiterzuleiten. Der Proxy steht in demselben Rechenzentrum wie die IPv4-Server und ist auch sonst genauso gut gesichert. Das zwischenzeitliche Entpacken der Daten stellt also keine Sicherheitslücke dar.

Dann fehlt nur noch der DNS-Eintrag mit dem AAAA-Record. Den machen wir am 16.9. und löschen ihn am Abend wieder. Unser DNS läuft ohnehin mit einer sehr kurzen Lebensdauer der Antworten (TTL, Time to live). Daher sollte der AAAA-Record nach dem Abschalten bei uns auch recht schnell wieder aus den DNS-Caches verschwinden. Wer etwas Ähnliches vorhat und mit längerer TTL arbeitet, sollte sie schon im Vorfeld herunterfahren, damit die DNS-Umschaltung schnell funktioniert.

Mit dem DNS-Eintrag könnten wir uns auf fantastische Weise in den Fuß schießen: Falls der Proxy den Namen www.heise.de per DNS auflöst, bekommt er seine eigene Adresse und leitet die Anfragen also an sich selbst weiter – und der Leser bekommt nie etwas zu sehen. Daher muss die IPv4-Adresse (und nur diese) von www.heise.de in der hosts-Datei stehen. Und in /etc/host.conf muss die Zeile order hosts,bind sicherstellen, dass der Proxy wirklich den hosts-Eintrag dem DNS vorzieht. ()