Wireguard - "client-to-client"

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
mrserious
Beiträge: 266
Registriert: 22.06.2013 12:12:03

Wireguard - "client-to-client"

Beitrag von mrserious » 09.09.2021 18:18:24

Hallo zusammen,

ich betreibe einen sehr einfachen Wireguard-Aufbau:
Es gibt einen Server, an diesem hängen 2 Clients. Die beiden Clients sind jeweils über einen regulären DSL-Anschluss mit dem Internet verbunden und stellen so eine Verbindung zum Server her.
Ich möchte nun per Wireguard von Client 1 auf Client 2 zugreifen. In OpenVPN gibt es dafür einen config-Parameter "client-to-client", der dies ermöglicht. So muss man nicht erst Routing-Regeln o.ä. einrichten.
Existiert eine vergleichbare Möglichkeit auch bei WireGuard?
Ich habe auf den Clients u.a. folgendes eingetragen, was jedoch leider aus dem Stand nicht funktioniert:

Code: Alles auswählen

AllowedIPs = 10.10.10.0/24
Dies entspricht dem virtuellen Netz, in welchem sich die WireGuard-Systeme alle 3 befinden:

10.10.10.1 - Server
10.10.10.2 - Client 1
10.10.10.3 - Client 2

Bullet64
Beiträge: 49
Registriert: 02.06.2017 19:57:01

Re: Wireguard - "client-to-client"

Beitrag von Bullet64 » 09.09.2021 22:16:49

Geht bei mir ohne Probleme.

Code: Alles auswählen

AllowedIPs = 0.0.0.0/0, ::/0

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Wireguard - "client-to-client"

Beitrag von mat6937 » 09.09.2021 22:33:22

mrserious hat geschrieben: ↑ zum Beitrag ↑
09.09.2021 18:18:24
Ich möchte nun per Wireguard von Client 1 auf Client 2 zugreifen. ...
Ich habe auf den Clients u.a. folgendes eingetragen, was jedoch leider aus dem Stand nicht funktioniert:

Code: Alles auswählen

AllowedIPs = 10.10.10.0/24
10.10.10.1 - Server
10.10.10.2 - Client 1
10.10.10.3 - Client 2
Funktioniert auf dem Client 1, der Ping auch Client 2?

Code: Alles auswählen

ping -c 3 10.10.10.3
oder:

Code: Alles auswählen

fping -a -q -g 10.10.10.0/24
?

EDIT:

Hast Du auf dem Server:

Code: Alles auswählen

net.ipv4.ip_forward=1
konfiguriert?

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Wireguard - "client-to-client"

Beitrag von reox » 10.09.2021 09:58:42

Bullet64 hat geschrieben: ↑ zum Beitrag ↑
09.09.2021 22:16:49
Geht bei mir ohne Probleme.

Code: Alles auswählen

AllowedIPs = 0.0.0.0/0, ::/0
Das löst aber das Problem nicht und routet zusätzlich den gesamten Traffic über wireguard, was ggf nicht gewünscht ist.

mrserious
Beiträge: 266
Registriert: 22.06.2013 12:12:03

Re: Wireguard - "client-to-client"

Beitrag von mrserious » 10.09.2021 17:00:58

Ah, das forwarding hat gefehlt, danke!
Es funktioniert nun ;-)

Btw ist mein SSH-Login sehr langsam über WireGuard, habt ihr dafür eine Erklärung?
Ist momentan noch Debian 10, habe den Kernel aber testweise geupdated, daran lag's schonmal nicht.
Wenn ich den Login mit "-v" laufen lasse sehe ich auch keine Auffälligkeiten.
Per OpenVPN ist alles normal.
DNS habe ich in SSH bereits deaktiviert.

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Wireguard - "client-to-client"

Beitrag von reox » 10.09.2021 18:03:23

langsam in wie fern? es tippt sich einfach "schwerfällig" oder der Verbindungsaufbau dauert sehr lange?

mrserious
Beiträge: 266
Registriert: 22.06.2013 12:12:03

Re: Wireguard - "client-to-client"

Beitrag von mrserious » 10.09.2021 18:25:11

Tschuldige, hätte ich direkt präziser beschreiben sollen:

Ja, der Verbindungsaufbau ist recht langsam (dauert etwa 20s), danach bedient sich aber alles gewohnt flink.

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Wireguard - "client-to-client"

Beitrag von mat6937 » 10.09.2021 19:31:47

mrserious hat geschrieben: ↑ zum Beitrag ↑
10.09.2021 18:25:11
Ja, der Verbindungsaufbau ist recht langsam (dauert etwa 20s), ...
Du schreibst oben:
Per OpenVPN ist alles normal.
D. h. mit OpenVPN ist das "SSH-Login" schnell und mit WireGuard ist das "SSH-Login" langsam?
Zeig mal vom Client, ein traceroute via OpenVPN und via WireGuard, zur IP-Adresse auf dem der sshd-Server lauscht bzw. erreichbar ist.

mrserious
Beiträge: 266
Registriert: 22.06.2013 12:12:03

Re: Wireguard - "client-to-client"

Beitrag von mrserious » 11.09.2021 11:03:01

Genau so ist es, ja.
Und auch nach dem Verbindungsaufbau lässt sich SSH wie gewohnt flink bedienen, daher glaube ich auch nicht, dass es ein Problem mit der Route ist.
Ein Traceroute liefere ich aber gern nachher nach.

mrserious
Beiträge: 266
Registriert: 22.06.2013 12:12:03

Re: Wireguard - "client-to-client"

Beitrag von mrserious » 11.09.2021 15:28:51

So,

hier die Traceroutes.
Wenig überraschend gehen sie nur über einen Hop.

per openVPN:

Code: Alles auswählen

traceroute 10.20.20.1
traceroute to 10.20.20.1 (10.20.20.1), 30 hops max, 60 byte packets
 1  server (10.20.20.1)  30.886 ms  35.908 ms  35.911 ms
per wireGuard:

Code: Alles auswählen

traceroute 10.10.10.1
traceroute to 10.10.10.1 (10.10.10.1), 30 hops max, 60 byte packets
 1  10.10.10.1 (10.10.10.1)  29.289 ms  30.595 ms  38.842 ms
Mir ist außerdem aufgefallen, dass iperf3 quasi ein leeres Ergebnis liefert, per openVPN bekomme ich Werte.
Hier vom selben Client aus:

Code: Alles auswählen

iperf3 -c 10.10.10.1 -i 1 -t 300
Connecting to host 10.10.10.1, port 5201
[  5] local 10.10.10.2 port 42276 connected to 10.10.10.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  69.5 KBytes   569 Kbits/sec    2   1.34 KBytes       
[  5]   1.00-2.00   sec  0.00 Bytes  0.00 bits/sec    1   1.34 KBytes       
[  5]   2.00-3.00   sec  0.00 Bytes  0.00 bits/sec    0   1.34 KBytes       
[  5]   3.00-4.00   sec  0.00 Bytes  0.00 bits/sec    2   1.34 KBytes       
[  5]   4.00-5.00   sec  0.00 Bytes  0.00 bits/sec    1   1.34 KBytes       
[  5]   5.00-6.00   sec  0.00 Bytes  0.00 bits/sec    1   1.34 KBytes
Mache ich das per openVPN...

Code: Alles auswählen

iperf3 -c 10.20.20.1 -i 1 -t 300
Connecting to host 10.20.20.1, port 5201
[  5] local 10.20.20.2 port 49718 connected to 10.20.20.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  2.97 MBytes  24.9 Mbits/sec   15    171 KBytes       
[  5]   1.00-2.00   sec  2.83 MBytes  23.8 Mbits/sec    2    137 KBytes       
[  5]   2.00-3.00   sec  2.77 MBytes  23.3 Mbits/sec    0    150 KBytes       
[  5]   3.00-4.00   sec  2.46 MBytes  20.7 Mbits/sec    0    158 KBytes       
[  5]   4.00-5.00   sec  2.77 MBytes  23.2 Mbits/sec    0    169 KBytes
Habt ihr Ideen?
Finde das merkwürdig, denn die Tunnelverbindung kommt ansich korrekt zustande, ich kann wie gesagt z.B. SSH darüber nutzen...

mrserious
Beiträge: 266
Registriert: 22.06.2013 12:12:03

Re: Wireguard - "client-to-client"

Beitrag von mrserious » 11.09.2021 15:35:53

Ergänzung:

Merkwürdig ist: Drehe ich bei der iperf3-Messung mit WireGuard Client und Server um... liefert er plötzlich ebenfalls korrekte Bitraten.
Was ist denn hier falsch?

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Wireguard - "client-to-client"

Beitrag von mat6937 » 11.09.2021 15:38:27

mrserious hat geschrieben: ↑ zum Beitrag ↑
11.09.2021 15:28:51
Wenig überraschend gehen sie nur über einen Hop.
Ja, wenn der WG-Server auch der sshd-Server ist.
mrserious hat geschrieben: ↑ zum Beitrag ↑
11.09.2021 15:28:51
Mir ist außerdem aufgefallen, dass iperf3 quasi ein leeres Ergebnis liefert, per openVPN bekomme ich Werte.
Welche MTU hast Du für das WireGuard-Interface/-VPN im Server und im Client konfiguriert?

mrserious
Beiträge: 266
Registriert: 22.06.2013 12:12:03

Re: Wireguard - "client-to-client"

Beitrag von mrserious » 11.09.2021 15:44:22

MTU habe ich händisch nicht angepasst, sollte ich das tun?

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Wireguard - "client-to-client"

Beitrag von mat6937 » 11.09.2021 15:46:20

mrserious hat geschrieben: ↑ zum Beitrag ↑
11.09.2021 15:44:22
MTU habe ich händisch nicht angepasst, sollte ich das tun?
Ja, teste mal auf beiden WG-Seiten (Client und Server) mit einer MTU von z. B. 1392. Wenn es besser wird, kannst Du immer noch optimieren, wenn dir diese MTU zu niedrig ist.

EDIT:

Lt. dem Titel des Threads geht es dir doch um eine Client-to-Client-Verbindung mit WireGuard. Hast Du z. Zt. nur einen Client (neben bzw. am Server) konfiguriert/angelegt?
Zuletzt geändert von mat6937 am 11.09.2021 15:53:36, insgesamt 2-mal geändert.

mrserious
Beiträge: 266
Registriert: 22.06.2013 12:12:03

Re: Wireguard - "client-to-client"

Beitrag von mrserious » 11.09.2021 15:48:36

Gibt's doch nicht!
Es funktioniert :-)

Die Magic musst du mir bitte erklären... habe WireGuard schon unter anderen Debian 11 im Einsatz und hatte damit bisher nie Probleme...

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Wireguard - "client-to-client"

Beitrag von mat6937 » 11.09.2021 15:53:10

mrserious hat geschrieben: ↑ zum Beitrag ↑
11.09.2021 15:48:36
... habe WireGuard schon unter anderen Debian 11 im Einsatz und hatte damit bisher nie Probleme...
Wie ist dort die WG-MTU und die W/LAN/Internet-MTU?

mrserious
Beiträge: 266
Registriert: 22.06.2013 12:12:03

Re: Wireguard - "client-to-client"

Beitrag von mrserious » 11.09.2021 16:29:28

Unveränderte Werte...

Dazu muss ich sagen: Habe das bisher nur im LAN für Testzwecke verwendet, also keine Verbindung über das Internet - im Gegensatz zum hier im Thread beschriebenen VPN.

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Wireguard - "client-to-client"

Beitrag von mat6937 » 12.09.2021 08:34:41

mrserious hat geschrieben: ↑ zum Beitrag ↑
11.09.2021 16:29:28
Unveränderte Werte...
Ja, aber welche Werte?
mrserious hat geschrieben: ↑ zum Beitrag ↑
11.09.2021 16:29:28
... Habe das bisher nur im LAN für Testzwecke verwendet, also keine Verbindung über das Internet - ...
Lt. deinen Beiträgen hast Du doch zwei WG-Clients am WG-Server.
Teste mal von einem WG-Client zum anderen WG-Client (statt vom WG-Client zum WG-Server). Z. B.:

Code: Alles auswählen

traceroute 10.10.10.3

Code: Alles auswählen

iperf3 -c 10.10.10.3 -i 1 -t 300

mrserious
Beiträge: 266
Registriert: 22.06.2013 12:12:03

Re: Wireguard - "client-to-client"

Beitrag von mrserious » 29.09.2021 20:07:32

Entschuldigt, ich habe momentan keinen Zugang zu diesem Netz, ich melde mich gern wieder, sobald ich ihn zurück habe ;-)
Danke euch bis hierher!

Antworten