Hetzner Srv - Proxmox -> OPNsense -> HAProxy - Hairpin Verständnisfrage/Problem

Started by greenhornxxl, October 22, 2025, 09:00:43 AM

Previous topic - Next topic
Hallo zusammen

Ich habe folgendes Sezenario/Setup:

Proxmox Server auf einem dedizierten Hetzner Server mit einer öffentlichen IPv4 und DNS-Namen.
Port 22 + 8006 terminieren auf dem Proxmox. Alle anderen Ports werden weitergereicht zur OPNsense.

Zwischen ProxMox und WAN Opnsense existiert das Netz 172.17.110.0/31 [172.17.110.1 ist das OPNsense WAN-Interface]
Im LAN der OPNsense 10.20.30.0/24

Auf der Opensense ist der HAProxy konfiguriert für Vaultwarden inkl. Lets Encrypt Zertifikat.

Von Extern (Internet) funktioniert der Aufruf von Vaultwarden per DNS-Name ohne Probleme.

Aus dem internen Netz [LAN-Interface] 10.20.30.0/24 wird die Seite per DNS Name nicht angezeigt bzw. ist nicht zu öffnen.

Wenn ich das richtige verstehe ich dies ein Hairpin Problem und ich muss eine SNAT Regel setzen, allerdings habe ich hier einen Knoten im Kopf und verstehe nicht welche Übersetzung ich hier auswählen muss ? Oder bin ich hier auf dem falschen Weg ?

Besten Dank für eure Unterstützung vorab.





Entweder Du nutzt NAT Reflection oder Du trägst in den internen DNS (Unbound) einen Override für den Namen auf die lokale IP ein. Das sollte natürlich die vom HAproxy sein, nicht die vom Zielserver, der ja kein HTTPS spricht.
Intel N100, 4* I226-V, 2* 82559, 16 GByte, 500 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

Hallo meyergru

Besten Dank für die Info.

Die Clients benutzen einen Windows DNS Server vom AD Controller.

Das NAT Reflection habe ich unter Firewall -> EInstellungen -> Erweitert aktiviert, allerdings zeigt dies keine Veränderung im Verhalten.
Muss ich hier noch etwas an anderer Stelle konfigurieren ?

Besten Dank




Ja, in der Port-Forwarding Regel selbst, entweder "Enabled" oder "System Default" (wenn es dort an ist).
Intel N100, 4* I226-V, 2* 82559, 16 GByte, 500 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

Quote from: greenhornxxl on October 22, 2025, 11:07:44 PMDie Clients benutzen einen Windows DNS Server vom AD Controller.

Das ist ja aber kein Problem. Trag doch einfach beim Windows DNS die Sense als deinen DNS (Forwarder) ein. Macht doch eh mehr Sinn, wenn am Ende EINER im Netz das DNS nach draußen spricht und nicht jeder nen anderen Weg und andere DNS Antworten bekommt? Zudem Caching, Resolving yada yada etc. etc. also macht ja durchaus Sinn.

Und dann einfach intern via den Unbound auf der Sense Split-DNS fahren. Kein NAT refrickel, kein Basteln, geht einfach den gleichen Weg (Proxy->Server) wie extern auch. Nur dass eben ne andere IP zurück kommt und der HAproxy ggf. auch intern auf seine IP hören sollte. Gibt sogar noch einen Bonus: wenn du einen Dienst hast, der ggf. nur intern erreichbar sein soll (ohne Prompt/Passwort/etc.) kann man das via 2 Frontends sehr angenehm trennen (geht mit einem Frontend auch, aber dann eben mit ACLs und Co.)

Zudem bei NAT: Solang du nur WAN/LAN hast, ist das noch überschaubar. Sobald aber mehrere Interfaces im Spiel sind, macht NAT Reflection unnötige Regeln für alle anderen Interfaces die da sind, dabei brauchst du ggf. nur eben LAN wegen deiner Clients. Darum würde ich generisch auf Einschalten von NAT Reflection verzichten und wenn du lieber NAT statt Split-DNS und Proxy machen willst die Regel einfach selbst anlegen. Dann gibts auch keine unnötigen Regeln im Filter.

Cheers!
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense than no(n)sense at all! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.