ubuntuusers.de

Wireguard:Logfiles

Status: Gelöst | Ubuntu-Version: Ubuntu 21.04 (Hirsute Hippo)
Antworten |

Serengeti

Avatar von Serengeti

Anmeldungsdatum:
24. Februar 2008

Beiträge: 1961

Ich habe schon einige Wireguard konfigurationen angelegt. Bislang haben sie immer funktioniert. In der regel koppiere ich die Einstellungen und passe nur die Public Keys und den port an. Auf einem PC jedoch verzweifle ich gerade. Ich habe sogar mal alles neu gemacht, dennoch klappt die Verbindung nicht. Ich habe es frisch mit 21.04 installiert und dann mit apt wireguard installiert.

Ich möchte nun gerne herausfinden was Wireguard so macht. Laut Internet soll ich mit. echo 'module wireguard +p' | sudo tee /sys/kernel/debug/dynamic_debug/control in der Lage sein nachzuverfolgen was passiert.

Wenn ich das tue gibt mir Journalctl -ke aber nur folgendes aus.

1
2
3
4
5
6
Aug 24 17:51:23 Grosiss-pc kernel: wireguard: WireGuard 1.0.0 loaded. See www.wireguard.com for information.
Aug 24 17:51:23 Grosiss-pc kernel: wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
Aug 24 19:31:21 Grosiss-pc kernel: wireguard: vpn: Peer 2 (192.168.1.1:8462) destroyed
Aug 24 19:31:21 Grosiss-pc kernel: wireguard: vpn: Interface destroyed
Aug 24 19:31:21 Grosiss-pc kernel: wireguard: vpn: Interface created
Aug 24 19:31:21 Grosiss-pc kernel: wireguard: vpn: Peer 3 created

dann kommt nichts mehr.

Hat jemand noch ideen was ich tun könnte um den fehler zu ermitteln?

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14314

Serengeti schrieb:

Ich möchte nun gerne herausfinden was Wireguard so macht. Laut Internet soll ich mit. echo 'module wireguard +p' | sudo tee /sys/kernel/debug/dynamic_debug/control in der Lage sein nachzuverfolgen was passiert.

Wenn ich das tue gibt mir Journalctl -ke aber nur folgendes aus.

Versuch mal als root und nicht mit sudo:

echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control

Siehe danach die Ausgabe von dmesg und nicht die von journalctl.

Das funktioniert aber nur dann, wenn das wireguard-modul auch mit der debug-Option kompiliert worden ist. Nicht alle devs/maintainer/distros machen das so.

Serengeti

(Themenstarter)
Avatar von Serengeti

Anmeldungsdatum:
24. Februar 2008

Beiträge: 1961

Die Ausgabe sieht fast gleich aus.

1
2
3
4
5
6
7
[ 7544.630662] wireguard: vpn: Interface destroyed
[ 7544.682709] wireguard: vpn: Interface created
[ 7544.692972] wireguard: vpn: Peer 5 created
[ 7824.722176] wireguard: vpn: Peer 5 (xxx.xxx.xxx.xxx:8462) destroyed
[ 7824.754285] wireguard: vpn: Interface destroyed
[ 7824.803327] wireguard: vpn: Interface created
[ 7824.807156] wireguard: vpn: Peer 6 created

Ich verwende einen normalen ubuntu desktop 21.04

Serengeti

(Themenstarter)
Avatar von Serengeti

Anmeldungsdatum:
24. Februar 2008

Beiträge: 1961

Ich habe im netz noch ein Beispiel mit tcpdump -n -i vpn icmp gefunden. da findet das system auch nichts

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14314

Serengeti schrieb:

Die Ausgabe sieht fast gleich aus.

Wenn keine "keepalive" und keine "rekeying"-Pakete getauscht werden, ist keine Verbindung vorhanden.

Serengeti

(Themenstarter)
Avatar von Serengeti

Anmeldungsdatum:
24. Februar 2008

Beiträge: 1961

Ha! gelöst. Die Verbindung kommt nur zustande wenn ich einen PersistentKeepalive eintrag setze. Bislang war de nie nötig. Weiss wer warum das hier der Fall ist?

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14314

Serengeti schrieb:

Die Verbindung kommt nur zustande wenn ich einen PersistentKeepalive eintrag setze.

Beim Client oder beim Server? Benutzt Du IP-Adressen für die Endpoints?

Serengeti

(Themenstarter)
Avatar von Serengeti

Anmeldungsdatum:
24. Februar 2008

Beiträge: 1961

Ja. Zur Zeit verwende ich noch IP Adressen.

Keepalive habe ich beim Client eintragen müssen. Nur der hat die IP Adresse des Servers. Der Server weiss die Adressen er Clients nicht.

Meine Clients liegen eh alle hinter einer NAT die ich nicht beeinflussen kann.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14314

Serengeti schrieb:

Keepalive habe ich beim Client eintragen müssen. Nur der hat die IP Adresse des Servers. Der Server weiss die Adressen er Clients nicht.

Teste mal mit und ohne "PersistentKeepalive" (beim WG-Client) am WAN-Interface (d. h. nicht am wg-Interface) des WG-Clienten, mit tcpdump und einem WG-Filter. Z. B.:

sudo tcpdump -c 500 -vvveni <WAN-Interface> 'udp[8:4] >= 0x1000000 and udp[8:4] <= 0x4000000'

(WAN-Interface anpassen und ohne spitze Klammern).

Hast Du beim WG-Client einen festen "ListenPort" konfiguriert? Wenn nicht, dann auch mit einem festen Port und ohne Keepalive testen. Der WG-Server "lernt" die IP-Adresse und den Port des WG-Client. BTW: Das mit dem "lernen" des ListenPort des WG-Clienten durch den WG-Server, funktioniert nicht immer reibungslos bzw. nicht sofort nach dem herstellen einer Verbindung vom WG-Client zum WG-Server. Wenn auch noch DNS für den Endpoint gemacht werden muss, kann es weitere Probleme geben.

Serengeti

(Themenstarter)
Avatar von Serengeti

Anmeldungsdatum:
24. Februar 2008

Beiträge: 1961

Danke für die Rückmeldung. Ich verwende immer feste Ports und für jeden clienten andere.

Ausserdem habe ich etwas Neues entdeckt. Gestern hatte ich (nach Entfernen des keepalive) aus Frust hatte ich dann auch den Server neu gestartet und bin zu Bett. Heute Morgen hatte ich dann, nach Start des Desktops tatsächlich eine Verbindung. Aber das Problem, dass der Server noch immer keine Verbindung zum Client herstellen konnte.

Jetzt das Merkwürdige. Sobald ich auf dem Client einen Ping an den Server absetzen kann ich auch vom Server aus zugreifen (VNC). Das habe ich dann einige stunden so stehen lassen und dann nun wieder probiert. Selber Effekt. Sobald der Client in irgendeiner weise Kontakt aufnimmt, kann ich dann auch vom Server aus darauf zugreifen. Wenn ich nicht selber was mache bleibt tcpdump auf dem VPN still.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14314

Serengeti schrieb:

Jetzt das Merkwürdige. Sobald ich auf dem Client einen Ping an den Server absetzen kann ich auch vom Server aus zugreifen (VNC). Das habe ich dann einige stunden so stehen lassen und dann nun wieder probiert. Selber Effekt. ...

Mit "einige stunden so stehen lassen", meinst Du, der Client hatte VPN-Verbindung zum Server und dann waren beide aber nur aktiv (nicht runtergefahren), aber es hat kein VPN-Traffic mehr statt gefunden?

Unabhängig von den "keepalive Paketen" bzw. von VPN-Traffic, müssen/sollten die WG-Peers noch handshakes für das rekeying austauschen. Z. B.:

Aug 25 19:38:02 XXXXXX user.debug kernel: [ 1195.996199] wireguard: wg1: Sending handshake initiation to peer 2 (192.168.178.13:#####)
Aug 25 19:38:02 XXXXXX user.debug kernel: [ 1196.007481] wireguard: wg1: Receiving handshake response from peer 2 (192.168.178.13:#####)
Aug 25 19:38:02 XXXXXX user.debug kernel: [ 1196.007500] wireguard: wg1: Keypair 20 destroyed for peer 2
Aug 25 19:38:02 XXXXXX user.debug kernel: [ 1196.007504] wireguard: wg1: Keypair 26 created for peer 2

Ist das zwischen deinen WG-Peers der Fall?

EDIT:

Siehe auch auf Client und Server, in der Ausgabe zu "sudo wg", die Angaben bei:

latest handshake:

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14314

...

Serengeti

(Themenstarter)
Avatar von Serengeti

Anmeldungsdatum:
24. Februar 2008

Beiträge: 1961

Ich kanns jetzt leider nicht weiter testen, das Gerät wechselt nun den Haushalt. Da ich eh ein Netzlaufwerk auf Client Seite verbunden habe. Sollte das nun eh kein Problem mehr sein. Ich gehe mal davon aus, dass mein Initiales Problem durch den Neustart des OpenWRT Routers, der als Server fungiert, behoben wurde. Danke lubux für die Unterstützung.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14314

Serengeti schrieb:

Ich gehe mal davon aus, dass mein Initiales Problem durch den Neustart des OpenWRT Routers, der als Server fungiert, behoben wurde.

Nur "davon ausgehen" heißt aber auch, dass man es nicht genau weiß.

M. E. wird wireguard in OpenWRT gepatcht bzw. modifiziert sein und sich deshalb anders verhalten, als ein WG-Server den Du auf bzw. mit Ubuntu (oder gleichwertig) einrichtest/konfigurierst.

Serengeti

(Themenstarter)
Avatar von Serengeti

Anmeldungsdatum:
24. Februar 2008

Beiträge: 1961

Denke ich auch. Ich werde es aber auf jeden Fall weiter beobachten.

Antworten |