UDP-Port weiterleiten über Wireguard
Guten Abend zusammen,
Mit meinem Vodafone LTE Anschluss gibt es für mich leider keine öffentliche IP-Adresse, das das Ganze hinter einem NAT steckt.
Aus diesem Grund habe ich mir einen Ionos VPS besorgt, über den alles laufen sollte was von außen zugänglich sein soll.
Leider bin ich dabei an meine Grenzen gestoßen.
Geplant war, die einzelnen zu öffnenden Ports über einen SSH Tunnel an die jeweiligen Proxmox Container und VM's weiterzuleiten.
Was anfangs auch ganz gut geklappt hat. Bis mir dann aufgefallen ist, dass nur TCP Ports getunnelt werden können.
Der Plan war anschließend das Ganze mit Wireguard zu realisieren. Dabei habe ich es bisher aber auch nur geschafft TCP Ports weiterzuleiten.
Bei der Weiterleitung von UDP Ports bin ich bis jetzt gescheitert.
Folgende iptables werden in der Wireguard config beim VPS verwendet (Bisher nur als Test):
Auf den Clients werden diese iptables verwendet:
Ich würde gerne zwei OpenVPN Instanzen lokal auf meinem Proxmox Server betreiben. Bitte keine Kommentare über die Sinnhaftigkeit, ich bin mir selbst bewusst, dass sowas etwas speziell ist.
Zudem würde da noch Nextcloud dazu kommen. Dies stellt allerdings kein Problem dar, da ich die TCP Ports getunnelt bekomme.
OpenVPN "lauscht" auf dem Testcontainer mit der IP 172.16.0.3 am Port 1802. Eine nginx Testseite bei 172.16.0.2 hört auf Port 80, was auch funktioniert.
Die Ports sind mit UFW freigegeben.
Springt jemandem von euch da ein offensichtlicher Fehler ins Auge? Habe ich irgendwas übersehen?
Gibt es vielleicht eine elegantere Lösung?
Wäre über jeden Tipp dankbar.
Beste Grüße
Engelbert
Mit meinem Vodafone LTE Anschluss gibt es für mich leider keine öffentliche IP-Adresse, das das Ganze hinter einem NAT steckt.
Aus diesem Grund habe ich mir einen Ionos VPS besorgt, über den alles laufen sollte was von außen zugänglich sein soll.
Leider bin ich dabei an meine Grenzen gestoßen.
Geplant war, die einzelnen zu öffnenden Ports über einen SSH Tunnel an die jeweiligen Proxmox Container und VM's weiterzuleiten.
Was anfangs auch ganz gut geklappt hat. Bis mir dann aufgefallen ist, dass nur TCP Ports getunnelt werden können.
Der Plan war anschließend das Ganze mit Wireguard zu realisieren. Dabei habe ich es bisher aber auch nur geschafft TCP Ports weiterzuleiten.
Bei der Weiterleitung von UDP Ports bin ich bis jetzt gescheitert.
Folgende iptables werden in der Wireguard config beim VPS verwendet (Bisher nur als Test):
PostUp = iptables -A FORWARD -i ens192 -o wg0 -p tcp --syn --dport 80 -m conntrack --ctstate NEW -j ACCEPT
PostUp = iptables -A FORWARD -i ens192 -o wg0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
PostUp = iptables -A FORWARD -i wg0 -o ens192 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
PostUp = iptables -t nat -A PREROUTING -i ens192 -p tcp --dport 80 -j DNAT --to-destination 172.16.0.2
PostUp = iptables -t nat -A POSTROUTING -o wg0 -p tcp --dport 80 -d 172.16.0.2 -j SNAT --to-source 172.16.0.1
PostUp = iptables -A FORWARD -i ens192 -o wg0 -p udp --dport 1802 -m conntrack --ctstate NEW -j ACCEPT
PostUp = iptables -t nat -A PREROUTING -i ens192 -p udp --dport 1802 -j DNAT --to-destination 172.16.0.3
PostUp = iptables -t nat -A POSTROUTING -o wg0 -p udp --dport 1802 -d 172.16.0.2 -j SNAT --to-source 172.16.0.1
PostDown = iptables -D FORWARD -i ens192 -o wg0 -p tcp --syn --dport 80 -m conntrack --ctstate NEW -j ACCEPT
PostDown = iptables -D FORWARD -i ens192 -o wg0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
PostDown = iptables -D FORWARD -i wg0 -o ens192 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
PostDown = iptables -t nat -D PREROUTING -i ens192 -p tcp --dport 80 -j DNAT --to-destination 172.16.0.2
PostDown = iptables -t nat -D POSTROUTING -o wg0 -p tcp --dport 80 -d 172.16.0.2 -j SNAT --to-source 172.16.0.1
PostDown = iptables -D FORWARD -i ens192 -o wg0 -p udp --dport 1802 -m conntrack --ctstate NEW -j ACCEPT
PostDown = iptables -t nat -D PREROUTING -i ens192 -p udp --dport 1802 -j DNAT --to-destination 172.16.0.3
PostDown = iptables -t nat -D POSTROUTING -o wg0 -p udp --dport 1802 -d 172.16.0.3 -j SNAT --to-source 172.16.0.1
Auf den Clients werden diese iptables verwendet:
PostUp = iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -s 172.16.0.0/24 -o eth0 -j MASQUERADE
Ich würde gerne zwei OpenVPN Instanzen lokal auf meinem Proxmox Server betreiben. Bitte keine Kommentare über die Sinnhaftigkeit, ich bin mir selbst bewusst, dass sowas etwas speziell ist.
Zudem würde da noch Nextcloud dazu kommen. Dies stellt allerdings kein Problem dar, da ich die TCP Ports getunnelt bekomme.
OpenVPN "lauscht" auf dem Testcontainer mit der IP 172.16.0.3 am Port 1802. Eine nginx Testseite bei 172.16.0.2 hört auf Port 80, was auch funktioniert.
Die Ports sind mit UFW freigegeben.
Springt jemandem von euch da ein offensichtlicher Fehler ins Auge? Habe ich irgendwas übersehen?
Gibt es vielleicht eine elegantere Lösung?
Wäre über jeden Tipp dankbar.
Beste Grüße
Engelbert
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2164503348
Url: https://administrator.de/forum/udp-port-weiterleiten-ueber-wireguard-2164503348.html
Ausgedruckt am: 22.04.2025 um 10:04 Uhr
6 Kommentare
Neuester Kommentar

Suchfunktion hat die Lösung für dich:
IKEv2 VPN Server für Windows und Apple Clients mit Raspberry Pi
Zwei Mobilfunkrouter (TP-Link MR200) per VPN verbinden, ev. per externen VPN-Gateway (VPS-Server)
Feste IPs zuhause in pfsense via WireGuard Tunnel
Und....immer darauf achten das du nicht Opfer eine NAT (IP Translation) Tücke wirst !!
Wie Portforwarding über 2 miteinander verbundenen pfSense realisieren
IKEv2 VPN Server für Windows und Apple Clients mit Raspberry Pi
Zwei Mobilfunkrouter (TP-Link MR200) per VPN verbinden, ev. per externen VPN-Gateway (VPS-Server)
Feste IPs zuhause in pfsense via WireGuard Tunnel
Und....immer darauf achten das du nicht Opfer eine NAT (IP Translation) Tücke wirst !!
Wie Portforwarding über 2 miteinander verbundenen pfSense realisieren

dafür gibts genug Anleitungen u.A.
Die jibbet hier im Forum ooch.Einzelne Ports sollen an einzelne Geräte weitergeleitet werden.
Das geht mit stinknormalem Port Forwarding ala Eingangsport --> lokale Ziel IP und ZielportMir liegt nur eine IP vom Ionos Server vor.
Das kann nicht sein wenn da Wireguard drauf rennt. Genau wie OpenVPN nutzt Wireguard eine eigenes IP Netz für das interne Client Server VPN Netz, sprich die Verbindung der WG Clients zum WG Server. Das ist wie bei OVPN ein eigenes IP Netz. Man hat also bei diesen VPN Protokollen immer mindestens 2 IP Netze !