Wer auf seinen Servern bereits IPv6 eingerichtet hat und somit im Dual-Stack Betrieb fährt, kann mitunter auf folgendes Problem stoßen: bei den VirtualHost-Einträgen des Webservers Apache müssen pro Host neben den IPv4-Adressen zusätzlich auch die IPv6-Adressen eingetragen werden, damit das System korrekt zuordnen kann.

Beim Betrieb von Admin-Panels, welche (noch) keine IPv6-Unterstützung haben (zB ISPConfig 2), hat man dazu keine Möglichkeit.

Abhilfe schafft hier, einen Reverse-Proxy HAProxy aufzusetzen, der alle Anfrangen über IPv6 an eine IPv4-Adresse weiterleitet und somit die bisherige Apache-Konfiguration ohne Änderungen weiter verwendet werden kann.

Installation von HAProxy

apt-get install haproxy

Konfiguration von HAProxy

Die Standard-Konfiguration in der Datei /etc/haproxy/haproxy.cfg kann übernommen werden.

  • beim Block "global" - keine Änderung
  • beim Block "defaults" die beiden Zeilen zufügen:
    option http-server-close
    option forwardfor
  • die nachfolgenden Blöcke entfernen
  • diese Blöck hinzufügen (die IPv4 und IPv6 IP-Adressen jeweils duch seine eigene ersetzen; der erste Block ist für Post 80, der zweite optional für Port 443):
    listen  ipv6proxy80     2a01:xxx:xxx:82a4::2:80
            mode            http
            server          ipv4server80    176.x.x.182:80
            maxconn         4000
     
    listen  ipv6proxy443    2a01:xxx:xxx:82a4::2:443
            mode            tcp
            server          ipv4server443   176.x.x.182:443
            maxconn         4000

In der Datei /etc/default/haproxy muss noch der Parameter ENABLED von 0 auf 1 gesetzt werden.

Danach den Proxy starten mit /etc/init.d/haproxy restart

Falls beim Starten eine Fehlermeldung auftaucht, dass Adressen nicht gebunden werden können muss in der Datei /etc/sysctl.conf "net.ipv4.ip_nonlocal_bind=1" eingetragen werden und die Änderungen mit sysctl -p übernommen werden.

Konfiguration von Apache

  1. In der Datei ports.conf muss nun definiert werden , dass Apache nur noch auf IPv4-Adressen lauscht und nicht (wie standardmäßig eingestellt) auch auf IPv6.
    Dazu werden die Einträge 80 und 443 geändert auf 0.0.0.0:80 und 0.0.0.0:443.
  2. Nach einem Neustart wird man feststellen, dass in den Logfiles die eigene IPv6-Adresse (des Proxies) anstatt der IP-Adresse des Benutzers geloggt wird. Um dies zu ändern, aktiviert man das Modul RPAF mittels a2enmod rpaf und trägt in der Datei rpaf.conf bei RPAFproxy_ips seine eigene(n) IPv6-Adresse(n durch Space getrennt) ein.
  3. Nach einem Neustart des Apache sollte das Setup abgeschlossen sein. Mit einem Online-Tool wie zB www.ipv6proxy.net kann nun geprüft werden, ob die IPv6-Weiterleitung funktioniert, es sollte der entsprechende Host angezeigt werden.
Wir benutzen Cookies

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.

Außerdem stimmen Sie vollumfänglich unserer Datenschutzerklärung zu (siehe unten "Weitere Informationen")