Server mit IPv6 betreiben / httpd_vhost.pl fügt zusätzliche IPs zu jedem VirtualHost hinzu

  • Ich "kämpfe" grad mit httpd_vhosts.pl (Reihe 6 alles aktuell)


    1.) Bei den Kunden, die ich importiert habe, findet sich in der auch noch die IP vom alten Server in der VirtualHost Config.

    Ich finde nicht heraus, wo die alten IP noch herkommt.

    Im vadmin Schema ist die weder bei ip_old noch bei ip gesetzt. Und es ist auch nicht die Standard IP.

    Eine grep Suche in /opt/pdadmin/ unde /usr/local/pd-admin2 findet die alte IP auch nicht.

    -> Wo kann die noch herkommen!?


    Code
    <VirtualHost 85.neu.neu.neu:80 2a01:neu:neu:neu::neu:80 78.alt.alt.alt:80>
    ...
    </VirtualHost>


    2.) Wie kann ich den SSL VirtualHost Eintrag für den Host beeinflussen?
    Der Eintrag für Port 80 befindet sich im Template.
    Der Eintrag für Port 443 wird aber erzeugt.
    Konkret möchte ich die IP6 Adresse des Hosts in der 443 Config haben.

    -> Wie geht das? Gibt es einen "Standard ipv6" conf-Key?


    Mein jetziger Workaround ist, den erzeugten Eintrag für die ip4 Standard IP zu kopieren und in das Template mit der ip6 einzutragen.
    Das funktioniert, ist aber nicht besonders schön...

  • Lösen sich die betroffenen Domains DNS-mäßig noch auf die alte Domain auf? Ich hab da was im Kopf, dass das abgefragt wird beim generieren. Ich kann mich aber irren.


    Ich hab auch mal versucht, die Host Dienste per ipv6 zugänglich zu machen. Da ich keine andere Möglichkeit kenne, habe ich es wie von Dir angedacht so gelöst, dass ich einen eigenen Container in die template Datei eingefügt habe.

    Grundsätzlich hats funktioneirt, allerdings wirft das administrator und das customer Interface dann einen Lizenzfehler wenn man per ipv6 daher kommt. Weil die Lizenz ist ja auf die ipv4 Adresse ausgestellt und das wird an dieser Stelle geprüft.

  • Ich hab es ganz einfach mit einem Proxy gelöst:

    Dadurch wird auch das Problem mit der Lizenz gelöst.


    Der vhost für Port 80 leitet direkt auf HTTPS weiter. Da steht also nicht viel drin.

  • Zitat

    Lösen sich die betroffenen Domains DNS-mäßig noch auf die alte Domain auf?

    Ich kann nicht sagen woran es gelegen hat, aber die alten IPs sind nun verschwunden.
    Die Hauptdomain hat einen Catchall DNS Eintrag auf die alte IP.
    Also irgendwas.hauptdomain.tld löst auf die alte IP auf.

    Auf dem Server haben die einzelnen Domains ganz normal auf die neue IP aufgelöst.
    Wären das Queries der Art kunde.tld.hauptdomain.tld gewesen, dannh hätte ich mir das erklären können...


    Update:

    Ich hatte doch was geändert. Ich hatte einen Catch-All Eintrag unterhalb der Subdomain des Servers im DNS hinterlegt, der dann auf die Server IP auflöst.

    D.h. beim Schreiben der http.conf wird noch irgendwas unterhalb des Servernamens aufgelöst und die IP hinzugefügt.
    Ich tippe auf http://www.sub.domain.tld



    Zum Thema IPv6 für die Hauptdomain

    Sumeragi ich weiß nicht wie das mit dem Proxy funktionieren soll.
    Request IP6:443 --Proxy auf--> domain:443 ist doch im Zweifel eine Endlosschleife, weil domain:443 auch präferiert IP6 nutzt und wieder bei sich selbst landet.
    Die config ballert bei mir demnach auch alle Worker voll :(


    Ein Proxy direkt auf die IP würde theoretisch funktionieren, wenn man nicht die OWASP WAF Regel aktiv hat um Zugriff direkt auf die IP zu blockieren

    Code
    SSLProxyCheckPeerCN off
    ProxyPass "/" "https://$$STANDARD_IP/" connectiontimeout=5 tmmeout=30
    ProxyPassReverse "/" "https://$$STANDARD_IP/"

    Ich habe jetzt _erstmal_ den Apache für IP6 deaktiviert Listen $$STANDARD_IP:80, was aber den großen Nachteil hat, dass die initialen Zugriffe per Browser schnarch langsam sind, weil der erst merken muss, dass auf IP6 nix reagiert.


    Den AAAA IP6 Eintrag für die Domain benötige ich zwingend, weil IP6 auch für ausgehende SMTP Verbindungen genutzt wird und somit auch der Reverse PTR gesetzt ist und der AAAA nötig wird.


    Gibt es ggf. eine offiziell "richtige" Lösung dafür Daniel Bradler ?

  • Bei mir ruft der Proxy den Server immer über die IPv4 Adresse auf. Eine Endlosschleife oder ähnliches habe ich bisher nicht beobachten können. Aber sicherlich sollte ein Aufruf auf per IP und Übergabe des Hostnamens funktionieren.

  • Mhh, dann scheinst du aber in der /etc/gai.conf IPv4 zu bevorzugen!?


    Klappen tut es jetzt mit einem ReverseProxy auf die STANDARD_IP mit beibehaltung des Hostnames per ProxyPreserveHost On :)

  • kai

    Hat das Label [erledigt] hinzugefügt.
  • kai

    Hat den Titel des Themas von „httpd_vhosts.pl Verhalten / Dokumentation“ zu „Server mit IPv6 betreiben / httpd_vhost.pl fügt zusätzliche IPs zu jedem VirtualHost hinzu“ geändert.
  • Hatte noch Probleme beim Erneuern des Zertifikates mit dem automatisch erzeugtem non tls ipv6 Eintrag.

    Dieser hatte zu einer Endlosschleife geführt


    <VirtualHost xxxx:xxxx:xxxx:xxxx::xxxx:80>

    ServerName meinserver.example.org

    Redirect 301 / http://meinserver.example.org/

    </VirtualHost>



    Das habe ich durch einen "führenden" Eintrag in httpd24.conf-template verhindern können (und oben ergänzt).

    Code
    <VirtualHost xxxx:xxxx:xxxx:xxxx::xxxx:80>
      ServerName $$SERVERNAME
      RedirectMatch 301 ^(?!/.well-known/acme-challenge).* https://$$SERVERNAME$0
      Alias /.well-known/acme-challenge/ /opt/pdadmin/etc/ssl-validation/.well-known/acme-challenge/
    </VirtualHost>