Wireguard VPS Server – Zugriff auf lokale Rechner

ille99

Newbie
Registriert
Juli 2024
Beiträge
7
Hallo zusammen,
ich habe mir einen VPS-Server bei Ionos gemietet und dort
einen Wireguard-Server installiert.

In meinem Heimnetz habe ich eine Z-Box mit Ubuntu-Server 24.04 LTS laufen und dort den
Wireguard-Client.

Der Aufbau des Tunnels funktioniert und ich kann von beiden Seiten Server und Client anpingen.

Was nicht funktioniert ist der Ping vom Wireguard-Server auf die PC im Netzwerk des Clients.
Auf dem Client ist eine frische Ubuntu-Server-Installation. Firewall ist nicht aktiv.

Wireguard-Tunnel IPs: 10.0.0.x

Lokale PC: 192.168.1.x

Wie bekomme ich das zum Laufen?

Meine Configs sehen so aus:

Server:

[Interface]
Address = 10.0.0.1/24
SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens6 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens6 -j MASQUERADE
ListenPort = 51820
PrivateKey = xxxx

[Peer]
PublicKey = xxxx
AllowedIPs = 10.0.0.0/24, 192.168.1.0/24
PersistentKeepalive = 25

Client:
[Interface]
Address = 10.0.0.3/24
SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING ->
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING>
PrivateKey = xxxx

[Peer]
PublicKey = xxxx
AllowedIPs = 10.0.0.0/24
Endpoint = xxx.xxx.xxx.xxx:51820
PersistentKeepalive = 25



Hat jemand eine Idee?
Ich werde hier noch verrückt….
 
Du machst auf beiden Seiten NAT, das wird natürlich nicht funktionieren. Wie kommt man darauf? Ich empfehle dringend, dich mit den Grundlagen IP-Routing zu befassen, das wirst du noch brauchen, wenn du so ein VPN zielgerichtet warten willst. Denn es ist mit der Ersteinrichtung nicht getan, du musst das Netz ja auch mit Updates am Laufen halten.

Die Frage ist: Warum überhaupt NAT? Kannst du im Heimnetz nicht mit statischen Routen arbeiten?
 
Okay, ich habe mich tatsächlich noch nicht mit den Grundlagen wirklich befasst. Muss ich wohl nachholen. Meinen Aufbau habe ich aber nach der Anleitung von Apfelcast gemacht und danach soll der Zugriff auf die lokalen PC/Server vom VPS-Server möglich sein.
Hast Du einen Vorschlag wie ich meine Config entsprechend anpassen kann?
 
ille99 schrieb:
Client:
[Interface]
Address = 10.0.0.3/24
SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING ->
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING>
PrivateKey = xxxx

[Peer]
PublicKey = xxxx
AllowedIPs = 10.0.0.0/24
Endpoint = xxx.xxx.xxx.xxx:51820
PersistentKeepalive = 25
Unter AllowedIPs in der Client Config eine bestimmte Adresse (192.168.1.x/32) oder das ganze Netz (192.168.1.0/24) hinzufügen.

Wenns Windows Clients im privaten Netz sind, dann kann auch je nach Netzwerkprofil ICMP in der Firewall geblockt sein.

riversource schrieb:
Du machst auf beiden Seiten NAT, das wird natürlich nicht funktionieren.
Und ja, das würde ich bei ner Peer to Peer Verbindung auch weg lassen.

Habe nur die Hälfte gelesen, sorry.
 
Zuletzt bearbeitet:
ille99 schrieb:
Hast Du einen Vorschlag wie ich meine Config entsprechend anpassen kann?
Die Frage ist: Was soll denn erreicht werden? Willst du nur vom VPS aus auf Heimrechner zugreifen? Sollen die Heimrechner auch auf den VPS zugreifen? Gibt es weitere VPN Clients, die sich mit dem VPS verbinden, und dann auf die Heimrechner zugreifen sollen, z.B. mobile Endgeräte? Und soll der Zugriff auf diese VPN Clients aus dem Heimnetz heraus dann auch funktionieren? Gibt es in deinem Heimnetz Dienste, die den Zugriff nur aus dem LAN Adressbereich zulassen und fremde Adressen ablehnen? Brauchst du Namensauflösung fürs Heimnetz? Kannst du in deinem Internetrouter statische Routen konfigurieren?
 
Hatte gestern noch den Client geschrottet; heute neu aufgesetzt. Ich will von außerhalb des Heimnetzes auf
eine NAS, einen Nextcloud-Server und andere Geräte zugreifen. Die Heimrechner müssen nicht auf den VPS zugreifen. Ich habe auf dem VPS den NGINX-Proxy-Manager installiert und darüber sollen die Zugriffe geregelt werden.
 
Da sind zwei völlig gegensätzliche Anforderungen in deinem Post. Zum einen willst du von außen auf Geräte im Heimnetz zugreifen, zum anderen einen Zugriff über einen Reverse Proxy. Fürs Erstere bräuchte man VPN Tunnel auch auf den mobilen Clients, für letzteres braucht man theoretisch gar kein VPN (kann es aber über ein VPN machen). Die Anforderungen sowohl an den VPN Tunnel als auch an die Serveranwendungen sind sehr unterschiedlich, über den Reverse Proxy lassen sich auch nur web-basierte Dienste nutzen.

Soll das beides realisiert werden? Oder nur eins von beiden?
 
Okay, dann ist es das Letztere. Also Zugriff von außen über einen Reverse Proxy. Allerdings hänge ich an einem DS-Lite-Anschluss. Dann wohl per VPN-Tunnel vom VPS zu einem Client in meinem Netz.
 
ille99 schrieb:
Allerdings hänge ich an einem DS-Lite-Anschluss.
Das ist ja kein Problem. Du kannst ja von außen auf IPv6 Freigaben zugreifen. Den Weg kann ja auch der Reverse Proxy nehmen. Die Dienste hängen über den Proxy dann ja eh im Netz, da schadet es auch nicht, wenn sie an deinem Heimzugang freigegeben werden.

Aber um auf Wireguard zurückzukommen: Laufen die Dienste, auf die du zugreifen willst, auf dem gleichen Rechner, auf dem auch der Wireguard Client läuft? Das hätte dann Einfluss auf die NAT Einstellung.
 
Nein, auf dem WG-Client läuft keiner der Dienste auf die ich zugreifen will.
 
Ok. Server:
Code:
[Interface]
Address = 10.0.0.1/32
SaveConfig = true
ListenPort = 51820
PrivateKey = xxxx

[Peer]
PublicKey = xxxx
AllowedIPs = 10.0.0.0/24, 192.168.1.0/24

Client
Code:
[Interface]
Address = 10.0.0.3/32
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o <INT> -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o <INT> -j MASQUERADE
PrivateKey = xxxx

[Peer]
PublicKey = xxxx
AllowedIPs = 10.0.0.0/24
Endpoint = xxx.xxx.xxx.xxx:51820
PersistentKeepalive = 25

Damit machst du NAT in dein Heimnetz, sprich: Die Anfragen vom Proxy kommen mit einer lokalen Adresse an. Je nach Dienst kann das erforderlich sein, und solange du nicht lokal auf irgendwas auf dem Wireguard Client zugreifen willst, sollte das funktionieren.
 
Okay, danke. Ich werde das heute oder morgen gleich mal testen.
 
Habe es eben getestet und es läuft wunderbar. Habe den Revers-Proxy auf dem VPS-Server installiert und auch eine Route dorthin mit Port 81 hinbekommen. Bin sehr zufrieden, danke.
 
Zurück
Oben