Problem mit HAproxy
-
Hallo,
ich habe (nach Hilfe aus der Runde) folgendes am Laufen:
Es wird auf Webserver im LAN von extern zugegriffen. Diese sind als Subdomains beim Hoster eingetragen und werden per A-Record an meine externe IP-Adresse weitergeleitet.
Auf der pfSense läuft HAproxy und leitet die Anfragen an den jeweils zuständigen Server im LAN weiter (subdomain1.mydomain.com -> landet auf dem internen Server "server1", subdomain2.mydomain.com auf dem "server1" …).
Funktioniert! - dachte ich -.
Nun sind die Subdomains schon zum (mindestens) dritten Mal nicht erreichbar (TimeOut).
Ping auf die Subdomains ergibt die richtige (meine externe) IP-Adresse.
Dieser Zustand hat die letzten Male mehrere Stunden angedauert, dann war wieder alles erreichbar ...Neustarten von HAproxy brachte keine Veränderung.
In den Logs finde ich nichts was ich damit in Zusammenhang bringen könnte:
Der Neustart von HAproxy wird vermerkt: "... Proxy xxxx started"
Normalerweise taucht ja pro Connect noch folgender Eintrag auf: "Connect from xx.xxx.68.219:52760 to xx.xx.xx.xx[=meine IP]:80 (benno-merged/HTTP)"
Während des "Ausfalls" gibt's gar keine Einträge im Log.Wo kann ich da ansetzen? Hat jemand eine Idee?
Gruss
E -
Am Einfachsten bei den Firewallregeln? Die müssen ja da sein, damit der Traffic beim HAProxy überhaupt ankommt. Ergo mach bei den Firewall Regeln nen Haken bei LOG rein und schau, ob es grüne allow Hits für die Regel gibt oder ob der Traffic von außen überhaupt nicht an der Firewall ankommt. Dann weißt du ob du überhaupt an der pfSense suchen musst. Sind die Namen dynamisch? Ändert sich da vllt. die IP?
Gruß
-
Am Einfachsten bei den Firewallregeln? Die müssen ja da sein, damit der Traffic beim HAProxy überhaupt ankommt.
Die Regel lautet:
IPv4 TCP * * xx.xxx.xx.xx * * none EXTERN to WAN-INGOING
Das ist korrekt (für die externe IP-Adresse xx.xxx.xx.xx), oder?
Da kommt auch 'was an … (ich kann momentan nicht von extern testen, aber es kommen von verschiedenen IPs Pakete an, die durchgehen - auch wenn die Zielports nicht "80" sind, wie im HAproxy für die Subdomains eingestellt).
Die IP-Adresse (und Namen) sind fix und ändert sich auch nicht ...Gruss
E -
Naja dass Pakete auf anderen Ports durchgehen ist ja kein Wunder, wenn du keinen Port sondern * angegeben hast. Wenn du nur Web machst auf der IP würde ich eben auch nur 80,443 aufmachen und sonst nichts ;)
Wenn die Pakete ankommen ist der nächste Check erstmal, wer auf denen lauscht. Hast du deine WebUI noch auf 80/443 hören? Wenn ja streitet die sich ggf. mit HaProxy um die Ports?
-
Naja dass Pakete auf anderen Ports durchgehen ist ja kein Wunder, wenn du keinen Port sondern * angegeben hast. Wenn du nur Web machst auf der IP würde ich eben auch nur 80,443 aufmachen und sonst nichts ;)
(das war der Zustand vor den Problemen - der ist jetzt wieder eingestellt. Es sollte also nur noch 80 durchgehen).
Wenn die Pakete ankommen ist der nächste Check erstmal, wer auf denen lauscht. Hast du deine WebUI noch auf 80/443 hören? Wenn ja streitet die sich ggf. mit HaProxy um die Ports?
Daran hatte ich überhaupt noch nicht gedacht! Die Ports für die WebUI sind jetzt geändert …
HAproxy ist neu gestartet. Mal sehen, ob sich 'was tut ...
Gruss
E -
Zwischenupdate:
… die Sinnhaftigkeit der Portumstellung für die WebUI zweifle ich inzwischen an. Die WebUI war sowieso nur aus dem LAN erreichbar, damit also eigentlich die externe IP nicht betroffen ... Aber geschadet hat's nichts.
Mir ist inzwischen noch ein anderer Fehler aufgefallen: einer der von aussen erreichbaren Server steht in einer DMZ. Vermutlich war es also notwendig, die Durchlass-Regel auch für die DMZ zu erstellen. Das habe ich getan. Einen Ausfall habe ich seit der Änderung nicht mehr bemerkt, aber was nicht ist, kann ja noch werden ... :-(
Gruss
E