Viele Internetnutzer haben eine Dual Stack Internetverbindung mit einer nicht eigenen IPv4 und/oder IPv6 Adresse. Dabei hat man schnell das Problem wenn man auf seine eigenen Dienst zugreifen möchte, keine Verbindung zu Stande kommt. Die IPv4 und die IPv6 Verbindung wechselt eventuell oder die IPv4 ist eine NAT Adresse usw. Es gibt also viele Hürden wieso man nicht an seine Dienst immer dran kommt.
Im besten Fall sucht man sich also einen Punkt im Internet der gut erreichbar ist und der die Anfragen an deine Dienste weiterleitet. Hier in diesem Beispiel mieten wir uns einen Cloud Server mit einer eigenen IPv4 & IPv6 Adresse. Somit sind die Dienste immer über beide Internet Protokolle erreichbar.


Lösungsbeschreibung
Du brauchst folgendes
- Cloud Server -> z.B. Hetzner Cloud (kleinster Server) HIER 20€ STARTGUTHABEN
- VPN Gateway -> z.B. pfSense // Hardware Appliance
Es wird zwischen dem Cloud Server und deinem VPN Gateway ein Wireguard VPN Tunnel aufgebaut. Diese Verbindung kann über IPv4 oder IPv6 aufgebaut werden. Da diese Verbindung sowieso durch deine pfSense initiiert wird, ist es egal ob v4 oder v6.
Auf dem Cloud Server wird die unten stehen WireGuard Konfiguration genommen und somit auch die 4 Wunderregeln für das DNAT (Destination NAT).
[Interface]
Address = 10.0.0.2/24
ListenPort = 51820
PrivateKey = <YOUR-PRIVATE-KEY>
PostUp = iptables -A FORWARD -i eth0 -o wg0 -j ACCEPT
PostUp = iptables -A FORWARD -i wg0 -o eth0 -j ACCEPT
PostUp = iptables -t nat -A PREROUTING -i eth0 -p tcp -m multiport --dport 3000 -j DNAT --to 192.168.77.1
PostUp = iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
PostDown = iptables -D FORWARD -i eth0 -o wg0 -j ACCEPT
PostDown = iptables -D FORWARD -i wg0 -o eth0 -j ACCEPT
PostDown = iptables -t nat -D PREROUTING -i eth0 -p tcp -m multiport --dport 3000 -j DNAT --to 192.168.77.1
PostDown = iptables -t nat -D POSTROUTING -o wg0 -j MASQUERADE
[Peer]
PublicKey = <YOUR-PUBLIC-KEY>
AllowedIPs = 192.168.77.0/24, 10.0.0.0/24
Mit dieser Konfiguration wird der Port 3000 eingehend auf dem Server mittels DNAT auf die Zieladresse 192.168.77.1 weitergeleitet. (PREROUTING)
Mit dem PORTROUTING wird dem Daten-Paket die IP-Adresse des Wireguard Tunnel aufgezwungen.
Die beiden FORWARD Regeln geben dem System die Freigabe Pakete zwischen beiden Interfaces zu verschieben.
Natürlich kann die besonders wichtige Regel “PREROUTING” so angepasst werden das diese für euch passt. Man kann auch UDP Freigaben oder mehrere Ports gleichzeitig freigeben.
Alle weitere Informationen natürlich wie immer im Video.
10. Mai 2023 um 10:54
Hallo Dennis,
sehr schönes Video, vielen Dank 🙂
Was hälst du von einem Portmapper auf dem Cloudserver, um komplett über Wireguard vom Mobilen Endgerät (IPV4) aufs DS-Lite Heimnetz zuzugreifen?
Grüße, Sven
11. Mai 2023 um 11:40
Hallo,
danke für diese super Anleitung! Mit meinen Edgerouter X und meinem VPS Server geht der Tunnel ohne Probleme. Von der Console Richtung Heimnetzwerk kann ich alle Geräte anpingen (192.xxx).
Jetzt habe ich nur das Problem, dass ich über den VPS nicht auf diese zugreifen kann.
Z.B. auf mein NAS – in der wg0.conf habe ich die 192er IP und den Port 5000 angegeben. Leider passiert da nichts.
Via tcpdump sehe ich, dass 0 traffic entsteht – sobald ich vom root aus pinge, entsteht traffic.
Irgendwo habe ich einen Fehler drin – sehe ich nicht, da langsam Betriebsbilnd ^^
Danke für jede Hilfe.
Gruß Mathias
10. Juni 2023 um 10:06
Es gibt auch noch die Möglichkeit mit zwei Befehlen das eigene Netzwerk zu schützen.
(Nicht auf dem VPS sondern dem Client “Zuhause”)
PreUp = iptables -I INPUT -s 10.0.0.2/32 -p tcp –dport 3000 -m state –state NEW,ESTABLISHED -j ACCEPT
PreUp = iptables -A INPUT -i wg0 -j DROP
PostDown = iptables -D INPUT -s 10.0.0.2/32 -p tcp –dport 3000 -m state –state NEW,ESTABLISHED -j ACCEPT
PostDown = iptables -D INPUT -i wg0 -j DROP
Hoffe ich irre mich nicht (auf eigene Gefahr)
iptables -I >> wird zuerst beachtet
iptables -A >> wird zuletzt beachtet
😉 LG
16. Juni 2023 um 01:03
Hier fehlt und auch im Video natürlich noch der Spannende Teil der Konfiguration eines Tunnels vor weck. 🙁
Vielleicht hier noch ergänzen??
16. Juni 2023 um 01:43
wer suchet der finden hier ist es doch
https://schroederdennis.de/tutorial-howto/wireguard-vpn-server-installieren-client-to-server/
18. Juli 2023 um 16:11
Hallo,
erstmal super Video, hab mir alle Schritte unteranderem dank dem Wireguard-Server Installations Guide von dir zusammen gesucht und es funktioniert echt gut. (Ein extra Video mit Step-by-Step-Anleitung wäre trotzdem noch super).
Gibt es die Möglichkeit das man sich mit einem Gerät (z.B. Smartphone) per Wireguard zum Hetzner-Server verbindet und dieser dann mit dem, wie von dir gezeigtem, Tunnel die Verbindung ins Heimnetz herstellt?
LG