Forum: PC Hard- und Software Wireguard Konfiguration


von Tobias P. (hubertus)


Lesenswert?

Hallo Leute
ich habe zu meinem Heimnetz ein VPN mit Wireguard eingerichtet. Die 
Konfiguration sieht so aus:

Host A (192.168.10.1) ist ein öffentlich zugreifbarer VPS Server.
Host B (192.168.10.2) ist ein Rechner in meinem Heimnetz.
Host C (192.168.10.3) ist ein beliebiger Rechner, von dem aus ich in 
mein Heimnetz zugreifen will.

Ich habe jetzt auf allen 3 Hosts ein Wireguard-Interface wg0 
konfiguriert. Host B initiiert aus dem Heimnetz die VPN Verbindung zu A. 
Das funktioniert zuverlässig und von A aus kann ich B pingen
1
HostA# ping 192.168.10.2
2
PING 192.168.10.2 (192.168.10.2) 56(84) bytes of data.
3
64 bytes from 192.168.10.2: icmp_seq=1 ttl=64 time=20.3 ms

funktioniert auf Host A (und auf B auch). Soweit so gut. Von A aus kann 
ich auch SSH Verbindungen zu B aufbauen und umgekehrt.
Ich habe nun auf Host A die IP-Weiterleitung aktiviert
1
sysctl sysctl net.ipv4.ip_forward=1

und von Host C aus verbinde ich mich auch mit Host A via Wireguard. Das 
klappt auch, von C kann ich A pingen
1
HostC# ping 192.168.10.1
2
PING 192.168.10.1 (192.168.10.1) 56(84) bytes of data.
3
64 bytes from 192.168.10.1: icmp_seq=1 ttl=64 time=10.6 ms

es funktioniert also von C aus, und umgekehrt natürlich auch. Dank der 
aktivierten IP-Weiterleitung kann ich von C aus auch B pingen
1
HostC# ping 192.168.10.2
2
PING 192.168.10.1 (192.168.10.2) 56(84) bytes of data.
3
64 bytes from 192.168.10.2: icmp_seq=1 ttl=64 time=30.7 ms

funktioniert wunderbar. Die Rechner in dem VPN können sich also alle 
gegenseitig "sehen".

Allerdings kann ich von C aus keine SSH-Verbindungen zu B öffnen. Dann 
erscheint die Meldung "no route to host". Lustigerweise funktioniert es 
von A aus. Was muss ich noch konfigurieren?

Die Idee wäre am Ende, dass B im Heimnetz als eine Art Router 
funktioniert, der mich auf Zeug in meinem Heimnetz zugreifen lässt. (B 
ist eigentlich nur eine kleine VM die in meinem Proxmox läuft). Muss ich 
noch was an den Routingtabellen ändern oder braucht es noch iptables 
Einträge (nat oder MASQUERADE)? über das VPN soll CIFS möglich sein 
sowie HTTP und RDP.

(Lustig wäre, wenn auf dem VPS zb ein Guacamole läuft, das mich auf 
einen Rechner im Heimnetz zugreifen lässt per RDP.)

Grüsse
Tobias

von Stefan P. (form)


Lesenswert?

Hat C denn in seiner Config für den A-Peer auch einen AllowedIPs-Eintrag 
der auch B mit einschließt?

von Tobias P. (hubertus)


Lesenswert?

Ja, ich habe bei allen Hosts die AllowedIPs auf 192.168.10.0/24 gesetzt. 
Sonst würde auch das Pingen nicht funktionieren, oder?

das sind meine Host configs für wg-quick:

Host A:
1
[Interface]
2
Address = 192.168.10.1/24
3
ListenPort = 51820
4
PrivateKey = <snip>
5
6
[Peer]
7
PublicKey = <snap>
8
AllowedIPs = 192.168.10.2/32
9
10
[Peer]
11
PublicKey = <snip>
12
AllowedIPs = 192.168.10.3/32

Host B:
1
[Interface]
2
Address = 192.168.10.2/24
3
PrivateKey = ----8<-----
4
5
[Peer]
6
PublicKey = ---->8------
7
Endpoint = HostA:51820
8
AllowedIPs = 192.168.10.0/24
9
PersistentKeepalive = 21

Host C:
1
[Interface]
2
PrivateKey = <snip>
3
Address = 192.168.10.3/24
4
5
[Peer]
6
PublicKey = <snap>
7
AllowedIPs = 192.168.10.0/24
8
Endpoint = HostA:51820
9
PersistentKeepalive = 21

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.