Mehrere Standorte via Wireguard verbinden

Guten Abend zusammen, ich steh momentan etwas auf dem Schlauch.
Ich habe um mein Problem etwas zu verdeutlichen ein wunderschönes Bild angehängt :grin:

Und zwar möchte ich via Wireguard Bridge an Standort 1 - von Standort 2 aus auf Standort 3 zugreifen.

Dafür laufen auf der Bridge 2 Configs

  • WG 0 stellt die Verbindung zwischen Standort 1 und 2 her
  • WG1 stellt die Verbindung zwischen Standort 1 und 3 her

Pings / etc von Standort 1 zu 3 gehen ohne Probleme,

allerdings versteht die Bridge an Standort 1 nicht die Anfragen die von Standort 2 für 3 bestimmt sind.
Ich vermute die Ursache bei der Bridge.

Hoffe das waren jetzt nicht zuviel „Standort“ also bitte steinigt mich nicht :innocent:

Moin, hast du wirklich eine Bridge die auch Bridge heißt (auf L2-Basis) angelegt und da die WGs draufgepackt? Das geht nicht, da WireGuard nicht L2 ist. Du musst wenn dann routen.

Den Begriff Bridge hab ich frei gewählt ist also so gesehen keine wirkliche „Bridge auf L2 Basis“

Ursprünglich lief die WG 1 Config auf der pfsense am selben Anschluss, diese hat die Anfrage von der Bridge entgegengenommen und an Standort 3 weiter geroutet. Auf die Art und weise lief es.

Aus Gründen der „Performance“ und um die pfsense etwas zu entlasten hab ich mich dazu entschieden die Config auf die Bridge auszulagern

Wie stell ich das mit dem Routing auf der WG Bridge an?

Was für ein Produkt ist den die „Bridge“?

Produkt :thinking:Ubuntu 24.04

Also ein Linux-Router im Prinzip.
Aber warum hast du es dann nicht auf deiner pfSense gelassen? Oder ist noch was anderes dein main-router?

Weil:

  1. Neugier obs geht
  2. Entlastung alte Sophos SG135 (pfsense Kiste ) und Zentralisierung von Wireguard auf einer Linux VM (Proxmox auf leistungsfähigerer Hardware)

Ah ok, verstehe. Doch gehen tut das auf jeden Fall.
Du hast wahrscheinlich eine einzige Sache vergessen, die ich auf Raw-Linux-Kisten auch gerne vergesse.

Was steht in der /etc/sysctl.conf drin bei net.ipv4.ip_forward ?

net.ipv4.ip_forward 1

also das sollte stimmen

Hmm, hast du mal mit einem Traceroute geschaut wo es hängen bleibt?

So wie vermutet Side 2 gibt die Anfrage weiter an Site 1 und ab da passiert nichts mehr

traceroute to 192.168.2.1 (192.168.2.1), 30 hops max, 60 byte packets
1 10.2.2.1 (10.2.2.1) 44.706 ms 44.677 ms 65.966 ms

Von welcher IP machst du den Traceroute?
Die AllowedIPs müssten eigentlich ja stimmen, sonst würden ja die direkten Pings auch nicht gehen…

Standort 2 die 10.2.2.1 ist die Adresse des WG Servers / Bridge an Side 1

der Trace von Side 1 schaut so aus

traceroute to 192.168.2.1 (192.168.2.1), 30 hops max, 60 byte packets
1 192.168.2.1 (192.168.2.1) 37.908 ms 40.740 ms 40.756 ms

Zeig bitte mal die Allowed-IPs.

Von welcher Config? bin etwas konfus :unamused:

Von beiden WG-Configs auf der Bridge und auch auf den beiden anderen Standorten.

Standort 1 Config wg0

Description Soda Buberg

[Interface]
Address = 10.2.2.1/24
MTU = 1420
SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens18 -j MASQUERADE
ListenPort = 51827
PrivateKey = xxxxxxMpWGo2g=

[Peer]
PublicKey = xxxxxxxxHXXTKfW3Y=
AllowedIPs = 10.2.2.0/24, 192.168.178.0/24
Endpoint = xxxxx:24039
PersistentKeepalive = 25

Standort 1 Config wg1

Description: Verbindung IF

[Interface]
PrivateKey = xxxxxxh/umn2w=
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens18 -j MASQUERADE
ListenPort = 51821

Peer: FirtzboxIF

[Peer]
PublicKey = xxxxxx2g=
PresharedKey = xxxx0zzA=
AllowedIPs = 192.168.2.0/24
Endpoint = xxxx.dyndns.org:58051
PersistentKeepalive = 25

Standort 2 Config

[Interface]
Address = 10.2.2.2/24
MTU = 1420
SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 MASQUERADE
ListenPort = 35688
PrivateKey = xxxxD0oHHM=

[Peer]
PublicKey = xxxxxZskjU=
AllowedIPs = 10.2.2.0/24, 192.168.0.0/23, 172.20.1.0/24, 172.30.1.0/24, 192.168.2.0/24
Endpoint = xxxxx:51827
PersistentKeepalive = 25

an die von Standort 3 komm ich derzeit nicht ran, ist ja ne Fritzbox

Blick ich heute so schnell nicht mehr durch, machen wir morgen weiter.

1 Like

geht mir genau so, dank dir bis hierher für deine Hilfe :beers:

1 Like

Moin, heute passt es leider auch nicht mehr rein.