OPNsense Forum

International Forums => German - Deutsch => Topic started by: cxenan on November 12, 2023, 05:40:55 PM

Title: NAT Port Forward durch VPN zum Webserver
Post by: cxenan on November 12, 2023, 05:40:55 PM
Hallo zusammen,
ich plane gerade für ein kleines Projekt einen Webserver den ich Zuhause hoste aus dem Internet verfügbar zu machen.

Da ich bereits eine OPNsense mit statischer IP auf einem VPS, eine OPNsense bei mir Zuhause und zwischen beiden einen WG Site2Site tunnel habe, war mein Plan meine Domain auf die OPNsense auf dem VPS ziegen zu lassen und den Traffic durch den VPN zu mir nach Hause an den Webserver weiterzuleiten.

(https://forum.opnsense.org/index.php?action=dlattach;topic=36964.0;attach=30813;image)

Der VPN steht. ich kann von der VPS OPNsense auch den Webserver pingen und andersherum, sprich die Routen durch den VPN sollten ja passen. Ich bekomme das mit dem NAT Port Forward aber nicht richtig hin. Ich lege die entsprechenden Einträge für HTTP & HTTPS auf der OPNsense Firewall an, aber bekomme die Seite einfach nicht geladen.

Jetzt meine Frage. Habe ich einen Denkfehler und das funktioniert so überhaupt nicht? Wo liegt mein Fehler? Gibt es bessere Alternativen?

Danke in Gruß!  ???
Title: Re: NAT Port Forward durch VPN zum Webserver
Post by: Monviech (Cedrik) on November 12, 2023, 07:05:09 PM
Bei dem Setup spielt die MTU/MSS eine große Rolle. Durch den Wireguard Tunnel haben die Pakete mehr Overhead.

Hier muss auf beiden seiten MSS TCP Clamping passieren, ansonsten funktioniert z.B. SSH oder HTTPS nicht.

Das hier muss ins wg0.conf der VPS Seite:

[Interface]
MTU = 1420
PostUp = iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
PostDown = iptables -D FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Falls das nicht klappt, reduziere die MTU des Parent Interfaces auch auf 1420.

In der OPNsense gibt es Normalization Options. Hier hab ich das erklärt:
https://docs.opnsense.org/manual/how-tos/wireguard-s2s.html

Es liegt ziemlich sicher an der MTU/MSS Problematik. Ich route IPv6 in VPS rein und dort musste ich das alles anpassen.
Title: Re: NAT Port Forward durch VPN zum Webserver
Post by: cxenan on November 13, 2023, 08:50:34 AM
Danke für die schnelle Hilfe.

Eine Frage habe ich aber noch.

Wenn ich das richtig sehe, kann ich nur die MTU über die GUI einstellen, aber nicht die PostUp / PostDown Konfiguration. Wenn ich mich jetzt per SSH auf die OPNsense einwähle, wo finde ich die wg0.conf um die Config anzupassen?

Danke schonmal!   :o
Title: Re: NAT Port Forward durch VPN zum Webserver
Post by: Patrick M. Hausen on November 13, 2023, 09:09:49 AM
Du kannst die Config nicht sinnvoll manuell bearbeiten - die wird bei jedem Reboot aus der zentralen XML-Config wieder überschrieben.
Title: Re: NAT Port Forward durch VPN zum Webserver
Post by: cxenan on November 13, 2023, 10:21:01 AM
Wie setzte ich die PostUp / PostDown config dann am sinnvollsten um?
Title: Re: NAT Port Forward durch VPN zum Webserver
Post by: Patrick M. Hausen on November 13, 2023, 10:24:12 AM
Die brauchst du nicht, Monviech bezog sich m.E. auf den Linux-VPS und hatte übersehen, dass du dort auch eine OPNsense betreibst. Die Kommandos in seinem Beitrag sind für Linux. Du kannst die MSS direkt in den Interface Settings einstellen.
Title: Re: NAT Port Forward durch VPN zum Webserver
Post by: Monviech (Cedrik) on November 13, 2023, 12:57:04 PM
Wenn auf beiden Seiten OPNsensen sind, befolge einfach das Tutorial was ich verlinkt habe, dann klappt alles.

Ich hab übersehen dass es keine VPS ist. Danke Patrick für die klarstellung.
Title: Re: NAT Port Forward durch VPN zum Webserver
Post by: chrs on November 13, 2023, 06:20:06 PM
Quote from: Monviech on November 12, 2023, 07:05:09 PM
Bei dem Setup spielt die MTU/MSS eine große Rolle. Durch den Wireguard Tunnel haben die Pakete mehr Overhead.

Hier muss auf beiden seiten MSS TCP Clamping passieren, ansonsten funktioniert z.B. SSH oder HTTPS nicht.

Nur zum Verständnis gefragt: Warum eigentich funktioniert die path MTU discovery nicht? Natürlich könnte es langsamer sein weil die Verhandlung zu Beginn der Verbindung länger dauert oder Pakete fragmentiert werden, aber durchkommen sollte es nach meinem Verständnis schon.

Grüße, chris
Title: Re: NAT Port Forward durch VPN zum Webserver
Post by: Patrick M. Hausen on November 13, 2023, 06:43:52 PM
WireGuard setzt als Default für den Tunnel 1420. Das klappt oft aber nicht immer. Bei PPPoE mit 1492 Byte MTU und IPv6 für den Transport der "eingepackten" WG-Pakete sind es 8 Byte zu wenig.

Man kann dann entweder die MTU in WG heruntersetzen oder mit MSS Clamping arbeiten.

Ich nehme für mobile Verbindungen 1280, was gleichzeitig das Minimum für IPv6 ist.