Hallo,
ich habe einen Wireguard Server auf einem VPS Server eingerichtet. Angeschlossen sind 2 Netze, Der Server kann beide Router unter ihren Tunnel IPs erreichen aber nicht unter den lokalen IPs.
Die Routen sind aus meiner Sicht eigentlich richtig gesetzt.
ip route
default via 87.106.144.1 dev ens6 proto dhcp src 87.106.144.228 metric 100
10.252.0.0/24 dev wg0 proto kernel scope link src 10.252.0.1
87.106.144.1 dev ens6 proto dhcp scope link src 87.106.144.228 metric 100
192.168.0.0/24 via 10.252.0.2 dev wg0
192.168.5.0/24 via 10.252.0.3 dev wg0
212.227.123.16 via 87.106.144.1 dev ens6 proto dhcp src 87.106.144.228 metric 100
212.227.123.17 via 87.106.144.1 dev ens6 proto dhcp src 87.106.144.228 metric 100
Aus dem 192.168.0er Netz soll nur das 192.168.5er Netz durch den Tunnel erreicht werden.
Aus dem 192.168.5er Netz soll alles durch den Tunnel gehen, Internet durch den Tunnel geht auch. Trotz der obigen Routen erreicht der Server keines der beiden lokalen Netze.
thomas@wg-br:~$ ip route get 10.252.0.2
10.252.0.2 dev wg0 src 10.252.0.1 uid 1000
cache
thomas@wg-br:~$ ip route get 192.168.0.254
192.168.0.254 via 10.252.0.2 dev wg0 src 10.252.0.1 uid 1000
cache
thomas@wg-br:~$ ip route get 192.168.5.200
192.168.5.200 via 10.252.0.3 dev wg0 src 10.252.0.1 uid 1000
cache
thomas@wg-br:~$ ping 192.168.0.254
PING 192.168.0.254 (192.168.0.254) 56(84) bytes of data.
From 10.252.0.1 icmp_seq=1 Destination Host Unreachable
ping: sendmsg: Required key not available
10.252.0.2 ist der Router im 192.168.0er Netz.
10.252.0.3 ist der Router im 192.168.5er Netz.
Was fehlt oder wo liegt der Fehler, dass ich nicht vom Server in eines der Netze und somit auch nicht von einem ins andere Netz komme.
Mit der Hilfe von @m-electronics habe ich es hin bekommen, dass wenn ich beide Netze über einen Cloud Router von IPV64 verbinde alles wie gewünscht funktioniert, nur mit begrenzter Geschwindigkeit und Traffic Limit. Daher würde ich gerne über meinen VPS Server gehen.
Verbinden und im Internet surfen funktioniert aus dem 192.168.5er Netz auch über den VPS aber nicht der Zugriff auf das 192.168.0er Netz. Das funktioniert nur über den Cloud Router.
Im 192.168.0er Netz ist es eine pfSense, für den Cloud Router so:
Die pfSense baut die Verbindung zum VPS auf, mit der Tunnel IP kann ich den Router im 192.168.5er Netz erreichen, alles andere bleibt im Wireguard Server 10.252.0.1 hängen.
Ich habe mich extra an der funktionierenden Konfiguration mit dem Cloud Router orientiert und finde den Unterschied nicht.
Macht der Cloud Router im Hintergrund etwas was auf meinem VPS noch fehlt?
Ist es richtig das die manuell gesetzten Routen bei dev wg0 enden oder müsste da noch etwas stehen wie bei den anderen Routen?
Was müsste denn neben UDP auf dem Wireguard Port sonst noch geöffnet werden?
Aus dem Tunnel ins Internet geht ja, das lässt die Firewall zu, also sollten doch auch 192.168er Netze erreichbar sein oder nicht?
Das reicht auf jeden Fall. Aber du solltest diese Routen (auf Linux zumindest) gar nicht manuell setzen müssen, wenn du in der WG-Config nicht Table=off gesetzt hast und die AllowedIPs richtig gesetzt hast.
auf dem Server gibt es beim Interface keine Allowed IPs und die Peers haben als Allowed IPs nur ihre eigene Tunnel IP /32.
Wenn dies nicht ausreicht, warum kann dann das 192.168.5er Netz, bei dem auf Client Seite Allowed IPs 0.0.0.0/0 steht, ins Internet obwohl im Server kein 0.0.0.0/0 hinterlegt ist?
Wenn das geht weil es der Default Route des Servers entspricht müsste aber doch auch der Zugriff auf das 192.168.0er Netz gehen da der Server dazu ja auch eine Route kennt.
Aktuell habe ich Table = off in der wg0 aktiv. Nehme ich das raus werden unzählige Routen angelegt die aber alle nicht zu einer gewünschten Kommunikation führen. Dennis hatte table = off in einem seiner Videos empfohlen.
Weil wahrscheinlich dieses GL-iNet-Teil NAT auf dem Tunnel macht und somit sieht der Server nur die Tunnel-IP. Und im Server muss dafür auch nicht die 0.0.0.0/0 hinterlegt sein. Nochmal: Es wird in den AllowedIPs das hinterlegt, was über diesen Peer erreicht werden soll… Das ist vom Server aus ja nicht 0.0.0.0/0 sondern die Tunnel-IP/32 und eben auch das 192.168.5.0/24.
also wenn ich es aus der Sicht des Servers sehe, ist das 192.168.0er Netz über den Router 10.252.0.2 und das 192.168.5er Netz über den Router 10.252.0.3 zu erreichen.
Also die wg0 so angepasst: