Wireguard Server zwischen zwei Netzen - keine Kommunikation S2S

Hallo,

ich habe ein Routing Problem und komme nicht weiter.

Seit ich Glasfaser und nur IPV6 habe, habe ich mir einen kleine VPS Server mit unbegrenztem Traffic gemietet. Darauf ist nur ein Wireguard Server mit UI installiert.

Zum einen verbindet sich im Urlaub mein GLinet Router des Wohnwagen mit dem WG Server und sämtlicher Traffic geht durch den Tunnel, somit auch egal wenn der Router über das Camping WLAN online geht. Das funktioniert soweit einwandfrei.

Auch für alle unsere Geräte sind eigene Tunnel eingerichtet, die genutzt werden wenn wir über fremde WLANs online gehen, auch das funktioniert.

Bisher läuft zuhause noch eine Fritzbox am Glasfaser Modem. Um mein Netz künftig mit VLANs versuche ich eine pfSense aufzubauen. Diese soll über einen Tunnel den Zugriff auf das Wohnwagen Netz ermöglichen.

Status:

Beide Tunnel werden problemlos aufgebaut. Von einem Client im Wohnwagen aus kann ich sowohl den Server als auch die pfSense anpingen und auch auf die Webinterface des WG Server und der pfSense unten den 10.252.1er IP-Nummern zugreifen. Internet hat der Client auch. Auf das 192.168.0.0 Heimnetz komme ich aber nicht, weder Ping noch sonst etwas. In der pfSense ist eine Firewall Regel auf dem WG Interface eingerichtet die alles zu läßt. Irgendwie fehlt die Route ins 192.168.0.0er Netz aber wo und wie.

Aus dem Heimnetz sieht es schlechter aus. Die pfSense kann den WG Server und den Wohnwagen mit den 10.252.1er Nummern anpingen. Ein Client aus dem 192.168.0.0er Netz kann nur die pfSense mit der lokalen als auch der 10.252.1.2 anpingen und unter beiden IP-Nummern das Webinterface erreichen. Bei Ping an Server und Wohnwagen kommt Timeout. Webinterface vom WG Server und vom Wohnwagen Router sind entsprechend auch nicht erreichbar. Unter Diagnose - Routen zeigt die pfSense eine Route zum 10.252.1.0/24 über tun_wg0 an. Warum kommt der Client nicht über die pfSense hinaus, ausgehender Verkehr sollte doch gehen und für eingehenden Verkehr gibt es die oben schon erwähnte Regel die alles zu läßt.

Das die pfSense aktuell noch hinter der Fritzbox hängt sollte durch den WG Tunnel doch kein Problem sein, oder?

Könnt ihr mir bitte helfen. Wo sollte ich anfangen und wie?

Gruß

Thomas

Moin, du hast aber gewaltig an (Rück)Routen gespart😬

Auf dem GLinet oder der sense im Wohnwagen gibt es wahrscheinlich eine Default-Route zu dem Server oder?

Auf der pfSense sind welche AllowedIPs eingetragen im WG?

Wie @m-electronics schon schreibt , fehlen mit sicherheit deine Routen auf den jeweiligen routern … bitte hier nochmal nacharbeiten , dann klappt das auch.

ggf könntest du mal deine Routing einträge an den jeweiligen knoten posten

Hallo,

erst einmal vielen Dank für die Antworten. Genau an den Stellen komme ich mit meinem Wissen aber nicht mehr weiter. Im GLinet habe ich nichts gefunden, wo ich Routen setzen könnte.

Die WG Client Konfiguration auf dem GLinet sieht so aus
[Interface] Adress = 10.252.1.3/32 DNS 1.1.1.1
[Peer] Allowed IPs = 0.0.0.0/0, 10.252.1.0/24, 192.168.0.0/24

Die WG Client Konfiguration auf der pfSense sieht so aus
[Interface] Adress = 10.252.1.2/32
[Peer] Allowed IPs = 10.252.1.0/24, 192.168.5.0/24

Die pfSense zeigt eine Route ins 10.252.1.0/24 über tun_wg aber keine Route zum 192.168.5.0/24.
Hier müsste wohl unter System - Routing eine Route gesetztwerden aber mit welchem Gateway? Etwas mit tun_wg wird mir nicht angeboten und ein WAN-Gateway dürfte falsch sein.
Muss für Wireguard noch ein Gateway auf die Schnittstelle angelegt werden? Mit welcher IP?

Ich hoffe diese Informationen helfen schon weiter bei der Lösungsfindung.

Danke und Gruß

Thomas

Hast du denn das WG-Interface auch unter “Interfaces” angelegt und zugewiesen oder nicht. Das musst du nämlich machen. Dann kannst du auch FW-Rules auf diesem Interface definieren.

Du musst unter System → Routing ein GW erstellen mit der IP des Gl-iNets. Und darauf das 192.168.5.0/24 routen. Und du brauchst auf dem GLinet auch nicht alle Netze einzeln in die AllowedIPs eintragen, die sind sowieso bei 0.0.0.0/0 dabei…:slightly_smiling_face:

Aber du musst auch auf das Routing auf dem “Server” aufpassen

Hallo,

das WG-Interface und eine Regel, die erst einmal alles zu lässt, sind angelegt.

Beim Gateway in der pfSense wird es schon schwierig, was ist aus Sicht der pfSense die IP des GL-iNet? 192.168.5.200 wird nicht akzeptiert da nicht im IP Bereich der tun_wg Schnittstelle.
10.252.1.0 wird akzeptiert bringt aber keine Veränderung im Verhalten oder der Erreichbarkeit.

Welche Routen braucht der WG Server und wie kann ich die auf einem Debian VPS kontrollieren und ggfs. permanent setzen?

Gruß

Thomas

Die .0 ist ja auch die Netzadresse, die bringt natürlich gar nichts. Die IP, die See GL-iNet auf dem WG-Tunnel hat muss da hin.

Welche GUI nutzt du auf dem VPS?

Als erstes zu deinen Fragen, auf dem VPS Server läuft zum einen Plesk, zum anderen Wireguard-UI.

Im Gateway habe ich die 10.252.1.3 eingetragen, ändert aber nichts.

Ich habe Dennis Blog zu Routen unter Debian gefunden. Auf dem WG Server sieht es so aus.
IP Adressen: neben der normalen für ens6 auchwg0: <POINTOPOINT,NOARP,UP,LOWER_UP> inet 10.252.1.1/24 scope global wg0, sieht für mich ok aus.

Routen: default via xxx dev ens6 proto dhcp src xxx metric 100 und
10.252.1.0/24 dev wg0 proto kernel scope link src 10.252.1.1

Fehlen hier jetzt sowohl die Route zu 192.168.0.0/24 über wg0 und 192.168.5.0/24 über wg0 oder reicht die Route für das Tunnelnetz?

Ein ip route add 192.168.0.0/24 dev wg0 führt zumindest dazu, das ich aus dem Wohnwagen Geräte im 192.168.0.0er Netz anpingen kann. Auf die Webinterface komme ich damit noch nicht.

Anders herum führt ein zusätzliches ip route add 192.168.5.0/24 dev wg0nicht dazu, dass ich aus dem Heimnetz den GLinet unter seiner 192.168.5.0er Adresse anpingen kann. Fernzugriff auf das LAN ist im GLinet aktiviert.

Warum geht Ping in Richtung 192.168.0.0 aber in Richtung 192.168.5.0 nicht? Die Firewall Regel auf der pfSense für die Schnittstelle läßt derzeit IPV4 alles zu.

Kannst du mal bitte eins nach dem anderen auflisten:

  1. WG-Peer-Config der pfSense
  2. WG-Peer-Config GL-iNet
  3. WG-Peer-Config(s) WG-Server

WG-Peer pf Sense:
Tunnel tun_WG0; Endpoint=Dyndns VPS Server Port 51820; Allowed IPs=10.252.1.0/24 und 192.168.5.0/24

WG-Peer GLinet:
[Interface] Address = 10.252.1.3/32; DNS = 1.1.1.1; [Peer] AllowedIPs = 0.0.0.0/0, 10.252.1.0/24, 192.168.0.0/24; Endpoint = Dyndns VPS Server Port 51820
PersistentKeepalive = 15

WG-Peer Config WG-Server:
Wg0.conf [Interface] Address = 10.252.1.1/24 ListenPort = 51820
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens6 -j MASQUERADE
PreDown = PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens6 -j MASQUERADE
Table = auto
# Name: Wohnwagen
[Peer]
AllowedIPs = 10.252.1.3/32
PersistentKeepalive = 15

# Name: pfSense
[Peer]
AllowedIPs = 10.252.1.2/32
PersistentKeepalive = 15

Aha! Auf dem WG-Server fehlt ja alles noch. Da steht in den Allowed-IPs ja nur die jeweilige IP im WG-Transfernetz (10.252.1.0/24) drin und nicht jeweils die Netze, die noch dahinter erreichbar sind. Also beim GL-iNet 192.168.5.0/24 und bei der pfSense 192.168.0.0/24. Die musst du da schon reinschreiben. Sonst erlaubt WireGuard den Traffic nicht. (Wie das dann vorhin ging, weiß ich nicht)

Jetzt wo du es sagst, da stimmt was mit dem Wireguard-UI nicht, dort wird nämlich angezeigt
Fridolin = Wohnwagen

Aber das wird ja nicht wirklich umgesetzt, diese AllowedIPs dort.

Ich habe die Allowed IPs jetzt manuell in die wg0.conf eingetragen und den kompletten Server neu gestartet. Keine Änderung in der Erreichbarkeit.

Ich muss mich tiefer in die Materie einlesen, finde aber kein vergleichbare Anleitung.

Erst einmal Danke, bin für jede weiter Hilfe und Anregung Dankbar.

Was hast du wo genau eingetragen?

In der wg0.conf des Wireguard Server habe ich bei den beiden Peers die jeweils entfernten 192.168er Netze unter Allowed IPs hinzugefügt.

Keine Ahnung was über Nacht am VPS Server passiert ist, auf Plesk komme ich ganz normal drauf, auf das Wireguard-UI Webinterface aber nicht mehr. Nach dem Neustart des VPS Servers kam ich gestern Abend noch drauf. Auch mit einem direkten Tunnel meines Laptop zum WG Server nicht. Die Tunnel bauen sich weiterhin auf und Internet geht auch darüber. Kommunikation der 192.168er Netze untereinander nicht, in keine der beiden Richtungen.

Immer noch nicht? Es kann natürlich auch noch Linux an sich sein…

Was sagt: cat ‘/proc/sys/net/ipv4/ip_forward’ ?

Hallo,

einfach nur 1, wenn ich es richtig verstehe heißte das, es ist aktiviert.

ip r zeigt
ip r
default via 87.106.xxx.x dev ens6 proto dhcp src 87.106.xxx.xxx metric 100
87.106.xxx.x dev ens6 proto dhcp scope link src 87.106.xxx.xxx metric 100
212.227.123.16 (Strato DNS) via 87.106.xxx.x dev ens6 proto dhcp src 87.106.xxx.xxx metric 100
212.227.123.17 (Strato DNS) via 87.106.xxx.x dev ens6 proto dhcp src 87.106.xxx.xxx metric 100
prohibit 169.254.169.254
10.252.1.0/24 dev wg0 proto kernel scope link src 10.252.1.1
192.168.0.0/24 dev wg0 scope link
192.168.5.0/24 dev wg0 scope link

Sieht doch nicht so verkehrt aus, oder?

Ne, eigentlich nicht. Kannst du mal von der pfSense einen Traceroute machen zu einer IP im GL-iNet-LAN? Und schauen, ob es schon beim Server hängen bleibt oder nicht?

Traceroute von der pfSense zum Wohnwagen Router im Tunnelnetz
1 10.252.1.1 15.012 ms 14.466 ms 14.556 ms
2 10.252.1.3 41.252 ms 43.663 ms 42.535 ms

Zum selben Router unter seiner 192.168.5er IP
1 10.252.1.1 14.093 ms 14.652 ms 14.380 ms
2 10.252.1.2 14.426 ms 14.406 ms 14.163 ms
3 10.252.1.1 28.569 ms 28.334 ms 28.420 ms
4 10.252.1.2 28.508 ms 28.646 ms 28.449 ms
5 * 10.252.1.1 42.892 ms 43.082 ms
6 10.252.1.2 43.365 ms 42.448 ms 42.595 ms
7 * 10.252.1.1 57.573 ms 57.307 ms
8 10.252.1.2 57.528 ms 57.368 ms 57.456 ms
9 * 10.252.1.1 70.675 ms 71.358 ms
10 10.252.1.2 72.427 ms 72.043 ms 71.310 ms
11 10.252.1.1 86.675 ms * 87.187 ms
12 10.252.1.2 86.991 ms 85.545 ms 86.487 ms
13 10.252.1.1 100.118 ms * 99.704 ms
14 10.252.1.2 99.510 ms 99.201 ms 99.817 ms
15 10.252.1.1 114.461 ms 114.479 ms *
16 10.252.1.2 114.372 ms 114.764 ms 114.719 ms
17 10.252.1.1 128.695 ms 128.008 ms 128.992 ms
18 10.252.1.2 127.515 ms 127.964 ms 129.766 ms

Sieht nach einem Ping-Pong zwischen pfSense 10.252.1.2 und WG Server 10.252.1.1 aus, warum?

Auf die 192.168.5.9 im Wohnwagen sieht genauso nach Ping-Pong aus.
1 10.252.1.1 16.445 ms 14.015 ms 14.280 ms
2 10.252.1.2 14.720 ms 14.054 ms 14.540 ms
3 10.252.1.1 29.132 ms 28.207 ms 28.487 ms
4 10.252.1.2 28.586 ms 28.526 ms 28.537 ms
5 * 10.252.1.1 42.883 ms 42.890 ms
6 10.252.1.2 42.411 ms 42.481 ms 42.562 ms
7 * 10.252.1.1 56.610 ms 57.042 ms
8 10.252.1.2 56.484 ms 56.423 ms 56.441 ms
9 * 10.252.1.1 71.461 ms 70.863 ms
10 10.252.1.2 70.752 ms 70.767 ms 71.405 ms
11 10.252.1.1 85.321 ms * 86.035 ms
12 10.252.1.2 85.400 ms 86.293 ms 84.388 ms
13 10.252.1.1 100.544 ms * 101.409 ms
14 10.252.1.2 100.340 ms 100.605 ms 100.323 ms
15 10.252.1.1 115.497 ms 115.601 ms *
16 10.252.1.2 114.304 ms 112.795 ms 113.568 ms
17 10.252.1.1 128.712 ms 130.317 ms 127.411 ms
18 10.252.1.2 126.787 ms 128.816 ms 126.742 ms

Im Wohnwagen Router ist Fernzugriff auf das LAN aktiviert.
Unter der GLinet Oberfläche ist das ja ein modifizierter OpenWRT Router, da muss doch was möglich sein. Wichtiger wäre natürlich der Zugriff vom Wohnwagen auf das Heimnetz.