AlgoVPN - Wireguard Windows Client peer Traffic

Mac_Leod

Captain
Registriert
Dez. 2001
Beiträge
3.750
Hi,

ich habe zum Spaß mir mal einen WireGuard Server (Algo VPN) hoch gezogen, welcher bei Hetzner steht. Als nächstes möchte ich mit diversen Clients bissl rum spielen, den Anfang macht der Windows 10 Client.
Nun habe ich ein Problem in der Windows Welt. Das der Client dafür läuft ohne Fehlermeldungen, aber der Traffic läuft nicht über den Tunnel´, sondern weiter über mein NIC. Das virtuelle peer Interface ist aktiv aber nichts geht drüber.
Im Log vom Client, sieht man schön den Handshake und das die Verbindung zum Server steht.
Konfigs passen auf Server und Client. Irgendwie hab ich es gestern Abend doch 1x hin bekommen, als ich den WireGuard Client als Admin gestartet habe, aber selbst das funktioniert gerade nicht.
Mit dem Client an oder aus, ändert sich komischerweise auch nichts beim lokalen routing, ka ob das by design so sein soll.

Hab ich was übersehen?

Grüße
Ergänzung ()

Client OS = Windows 10 1909
Server OS = Ubuntu 20.04 LTS
 
Mac_Leod schrieb:
Konfigs passen auf Server und Client.

Woher weißt du, dass die Configs in Ordnung sind,
obwohl offensichtlich etwas mit dem Routing nicht funktioniert?

Wie sehen denn deine Configs aus?
 
Welche genau möchtest du sehen?
Der wireguard Client ist eine .exe bei der man genau 3 Einträge setzen kann/muss. Pub/Preshared/Ziel IP.
Mehr Möglichkeiten hat man nicht. Fire-and-Forget eben.
Serverseitig gibt es ein Installskript ohne weitere Anpassungen. Der Tunnel steht und im Client Log sieht man sehr gut, wie dieser Aufgebaut wird. Nur eben das Windows schaltet nicht auf den virtuellen Peer Adapter um.
 
Also eigentlich sollte die Konfiguration auf dem Client aus 2 Teilen bestehen.

[Interface]
Address = z.B. 10.0.0.2/24 (Virtuelle IP-Adresse auf dem lokalen WireGuard-Interface)
PrivateKey = PRIVATEKEY-DES-CLIENTS

[Peer]
PublicKey = PUBLICKEY-DES-SERVERS
Endpoint = IP-ADRESSE-DES-SERVERS: PORT
AllowedIPs = Angabe der IP-Adressen, die durch den Tunnel geroutet werden sollen.
Die Angabe "0.0.0.0/0" (ohne Anführungszeichen) definiert eine Default-Route auf dem Client.
Es wird dann also sämtlicher Traffic durch den Tunnel geroutet.
PresharedKey = PRESHAREDKEY

Es geht vor allem um die Zeile, die mit "AllowedIPs" beginnt,
die definiert wie oben angegeben, was durch den Tunnel geroutet werden soll.

Ansonsten einfach mal die Client-Config hier posten.
 
Zuletzt bearbeitet:
ja du hast natürlich Recht, hier die Configs.

Wo bekomme ich den Server Public Key raus? unter /etc/wireguard liegt dieser nicht.

Danke für die Hilfe
 

Anhänge

  • Tun.jpg
    Tun.jpg
    66 KB · Aufrufe: 231
Zuletzt bearbeitet: (ein Frage schon beantwortet)
Den PublicKey des Servers bekommst du z.B. heraus,
wenn du dich per "SSH" auf den Server einloggst und dann den Befehl "wg show" eingibst.

Dann sollte eine Ausgabe angezeigt werden, die beginnt mit "interface: wg0",
in der Zeile darunter steht dann der PublicKey.

Nochmal der Hinweis:
Die Angabe "AllowedIPs" gibt an, welche IP-Adressen durch den Tunnel geroutet werden sollen.
Diese Angabe muss auf dem Server als auch auf dem Client richtig konfiguriert sein.

Auf dem Client sollte z.B. zumindest die virtuelle IP-Adresse des Servers sowie das Netz geroutet werden,
auf das du über den WireGuard-Tunnel zugreifen möchtest. Wenn der Server die virtuelle IP-Adresse
10.0.0.1/24 hat und du auf das Netz 192.168.1.0/24 über den Tunnel zugreifen möchtest, dann musst du "AllowedIPs" auf dem Client wie folgt konfigurieren:

AllowedIPs = 10.0.0.1/32,192.168.1.0/24

Falls noch mehr WireGuard-Clients existieren, dann wäre es sinnvoll direkt das ganze VPN-Netz durch den Tunnel zu routen, damit du die anderen WireGuard-Clients (also nicht nur den Server mit der 10.0.0.1) ebenfalls erreichen kannst. Bei "AllowedIPs" würdest du dann anstatt 10.0.0.1/32 die Angabe 10.0.0.0/24 machen. Das Netz 192.168.1.0/24 (das Netz musst du natürlich an dein Netzwerk anpassen) muss natürlich weiterhin mit angegeben werden, wenn du über den Tunnel darauf zugreifen möchtest.

Mir ist noch aufgefallen, dass du dem Client gar keine virtuelle IP-Adresse gegeben hast.
Unterhalb von [Interface] müssen die Angaben "Address=" sowie "PrivateKey" erfolgen.

Hier ist mal ein Link, wo vollständig erläutert wird, wie die WireGuard-Konfiguration auf dem Server als auch auf dem Client gemacht wird:
https://www.stavros.io/posts/how-to-configure-wireguard/
 
Zuletzt bearbeitet:
Danke für die Grundschulung :) wenn alles funktioniert melde ich mich.
 
Zurück
Oben