tezzla
Goto Top

WireGuard mit OPNsense

Hallo zusammen,

ich versuche ein Setup mit WireGuard und OPNsense, mal zum Testen.
Ich bekomme leider zum Verrecken keinen Handshake hin und stehe etwas auf dem Schlauch.

Nach Anleitung, bspw. die Offizielle von OPNsense oder die von @aqui, sind Server und Endpoints konfiguriert. DNS Name wird aufgelöst, die PublicKeys habe ich mehrfach kontrolliert, IPs mit korrekter Notation hinterlegt, wg0 assigned (ohne Interface IP), Firewallregeln geprüft, Dienst mehrfach neu gestartet, ganze Appliance neugestartet,... Auf dem FW UDP Port ist im Log auch Traffic zu sehen, wenn ich einen Verbindungsversuch unternehme. Im Log beim WireGuard Server wird der Client auch gelistet, im Tab Handshake auch, aber es wird keiner gemacht (mit "0" markiert).

Hier hat jemand das gleiche Problem.

Habe keine Idee mehr, wo ich noch schauen könnte.
Vielleicht jemand von euch?

VG
Tezzla

Content-Key: 666829

Url: https://administrator.de/contentid/666829

Printed on: February 22, 2024 at 03:02 o'clock

Member: aqui
aqui May 18, 2021 updated at 10:38:10 (UTC)
Goto Top
Grundlagen zu dem Thema hast du alle gelesen ?
Merkzettel: VPN Installation mit Wireguard

Vor allem aber in den Firewall Regeln ein PERMIT vom Wireguard UDP Port 51820 (Sofern du den Default verwendest ?!) auf die WAN IP Adresse erlaubt ?!
Screenshots deines Setups und auch des Log Outputs wären wie immer zielführend für eine Hilfe.
Mitglied: 148121
148121 May 18, 2021 updated at 10:36:20 (UTC)
Goto Top
Hatte ich gerade erst hier eine beispielhafte Anleitung für verfasst ...
ROS 7 - Richtige Wireguard-Config

Gruß w.
Member: Tezzla
Tezzla May 18, 2021 at 10:40:51 (UTC)
Goto Top
Zitat von @aqui:
Grundlagen zu dem Thema hast du alle gelesen ?
Merkzettel: VPN Installation mit Wireguard
Ja, wie oben sogar namentlich erwähnt face-smile

Vor allem aber in den Firewall Regeln ein PERMIT vom Wireguard UDP Port 51820 (Sofern du den Default verwendest ?!) auf die WAN IP Adresse erlaubt ?!
Jap, man sieht auch die Verbindung im LiveLog.

Screenshots deines Setups und auch des Log Outputs wären wie immer zielführend für eine Hilfe.
Ich werds gleich nochmal bauen, habe es eben aus Frust alles in die Tonne geworfen.
Member: Tezzla
Tezzla May 18, 2021 at 10:42:11 (UTC)
Goto Top
Zitat von @148121:
Hatte ich gerade erst hier eine beispielhafte Anleitung für verfasst ...
ROS 7 - Richtige Wireguard-Config

Habs fast exakt genauso gebaut außer andere interne Subnetze und UDP Port.
Mitglied: 148121
148121 May 18, 2021 updated at 10:47:24 (UTC)
Goto Top
Naja es funktioniert ja schon bei hunderten Installationen mit OpnSense, ohne deine exakten Settings hier vorliegen zu haben ist ja wie immer nur Raten mit der berühmten Glaskugel face-smile.
Member: aqui
aqui May 18, 2021 at 10:46:32 (UTC)
Goto Top
Jap, man sieht auch die Verbindung im LiveLog.
Dann sollte ja eigentlich alles im grünen Bereich sein wenn dort keine Errors zu sehen sind ! face-wink
Wie gesagt: Screenshots des Setups und ggf. Regelwerkes des WAN und wg0 Ports wären hilfreich.
Member: Tezzla
Tezzla May 18, 2021 at 10:49:08 (UTC)
Goto Top
WAN Port war nur Source any mit UDP 51820 auf This Firewall (testweise auch WAN_address, war aber egal).
Beim wg Interface hab ichs auch mal mit any-any versucht.

Ich werds gleich nochmal bauen, kann das mittlerweile fast blind klicken und tippen. face-smile
Member: Tezzla
Tezzla May 18, 2021 at 11:40:43 (UTC)
Goto Top
Server
serverconfig

Client
endpointconfig

Clientlist
listconfig

Regeln
firewallrules_wg0
firewallrules_wan

WAN Regel wird auch angewendet, steht so im Live Log der opnsense

Wireguard.conf auf dem Client
[Interface]
PrivateKey = <...>
Address = 192.168.123.100/32
DNS = 1.1.1.1

[Peer]
PublicKey = <....>
AllowedIPs = 192.168.123.0/24
Endpoint = <...>:51820

Result: Kein Handshake.
Mitglied: 148121
148121 May 18, 2021 updated at 11:45:56 (UTC)
Goto Top
Allowed IPs für den Endpoint ist auf der OpnSense falsch eingetragen. Schau dir mein Beispiel nochmal ganz genau an face-wink.
Member: Tezzla
Tezzla May 18, 2021 updated at 11:53:49 (UTC)
Goto Top
Zitat von @148121:
Allowed IPs für den Endpoint ist auf der OpnSense falsch eingetragen. Schau dir mein Beispiel nochmal ganz genau an face-wink.

Ich schnall's nicht.
Der Client soll erstmal nur mit dem wg subnet kommunizieren. Kein LAN Segment dahinter.
Ich kann nicht mal den wg Server anpingen, was bei dem Regelwerk ja aber drin sein sollte oder seh ich's jetzt einfach nicht?! face-big-smile
Mitglied: 148121
148121 May 18, 2021 updated at 11:55:42 (UTC)
Goto Top
Trag im Endpoint der OpnSense folgende Adresse ein
192.168.123.100/32
Member: Tezzla
Tezzla May 18, 2021 updated at 12:10:10 (UTC)
Goto Top
Keine Veränderung, no handshake.
Hab grad auch nochmal (und nochmal) die PublicKeys überschrieben. Sind aber auch alle an den richtigen Stellen eingefügt: Der vom Client im Endpoint auf der opnsense. Der vom Server im Client unter [peer].
Mitglied: 148121
148121 May 18, 2021 updated at 12:14:46 (UTC)
Goto Top
Also laut deinem Screenshot läuft ja bereits Traffic in beide Richtungen.
Wenn kein Handshake da ist müssen schon die Keys falsch sein.

Werf mal TCPdump an.
Member: Tezzla
Tezzla May 18, 2021 at 12:15:21 (UTC)
Goto Top
Der Client sagt im Log "Handshake did not complete after 5 seconds".
Ich werd nachher mal mit Wireshark gucken.
Mitglied: 148121
148121 May 18, 2021 updated at 12:17:36 (UTC)
Goto Top
Zitat von @Tezzla:

Der Client sagt im Log "Handshake did not complete after 5 seconds".
Dann sind meistens die Keys nicht in Ordnung. Tippe ich zu 95% drauf. Da passiert schnell mal ne Verwechslung.
Member: Tezzla
Tezzla May 18, 2021 updated at 12:24:27 (UTC)
Goto Top
Das kann ich ausschließen.
Habs wie zwei Posts weiter oben mehrmals hin und her geprüft, auch durch Notepad gejagt und verglichen: Der vom Client in den opnsense Endpoint, der vom Server in den Client unter [peer]. Mehr isses ja nich..

Dienste neu gestartet, Interfaces deaktiviert/aktiviert, Wireguard deaktiviert, aktiviert,...
Im List Config Tab steht noch die 192.168.123.0/24 bei allowed IPs, auch wenn ich sie im Endpoint geändert und diesen sogar schon neu angelegt habe. Manchmal vermute ich, dass das in der Appliance verbuggt ist.
Mitglied: 148121
148121 May 18, 2021 updated at 12:31:05 (UTC)
Goto Top
Zitat von @Tezzla:

Das kann ich ausschließen.
Habs wie zwei Posts weiter oben mehrmals hin und her geprüft, auch durch Notepad gejagt und verglichen: Der vom Client in den opnsense Endpoint, der vom Server in den Client unter [peer]. Mehr isses ja nich..
Public und Private Key lässt sich da aber schnell verwechseln wenn man nicht aufpasst face-wink.
Dienste neu gestartet, Interfaces deaktiviert/aktiviert, Wireguard deaktiviert, aktiviert,...
Im List Config Tab steht noch die 192.168.123.0/24 bei allowed IPs, auch wenn ich sie im Endpoint geändert und diesen sogar schon neu angelegt habe. Manchmal vermute ich, dass das in der Appliance verbuggt ist.
Kannst du ja selbst prüfen indem du dir mal mit den Settings ne OpnSense VM aufsetzt.
Member: aqui
Solution aqui May 18, 2021 updated at 15:04:53 (UTC)
Goto Top
Und vermutlich machst du bei den Allowed IPs auch noch einen Denkfehler. Siehe Wireguard "Merkzettel" oben. Lesen hilft wirklich... face-wink
Dein VPN internes IP Netz ist ja die 192.168.123.0 /24
Gesetzt den Fall dein Server hat die .1 und die Clients 1 bis x fangen bei .11 und höher an aufsteigend dann steht in den "Allowed IPs" beim Server:
[Interface]
Address = 192.168.123.1/24
PrivateKey = AB1234P6j2O0PH1838gYnv5p5n27HVmVWJRjZr12345=
ListenPort = 51820

[Peer]
PublicKey = 4321Abc06YX3gA4P0sQzywNX8c1sHSeu+oqsrI84321=
AllowedIPs = 192.168.123.11/32, <lokales_client1_netz>

[Peer]
PublicKey = xYZab12=ABRHJZgfr=QzywNX8c1sHSeu+oqsrI8432JUH5Fbf
AllowedIPs = 192.168.123.12/32, <lokales_client2_netz>


Entsprechend dann beim Client 1:
[Interface]
Address = 192.168.123.11/24
PrivateKey = OMjSCv6e/iXECZwq0ZVL5Ywf/KzZvdsGpYKv1512345=

[Peer]
PublicKey = cA+mynt84tVH1gPaUN66E8K0nfzvpsQMohrEbz54321=
Endpoint = <opnSense_addresse>:51820
AllowedIPs = 192.168.123.1/32, <lokales_server_netz>


Da ist in deinem Setup bei den internen IP Adressen und des Allowed Statement etwas nicht richtig !
Deine Interface Deklaration hat immer die FALSCHE Subnetzmaske und ebenso ist bei der Peer Dekalartion einen FALSCHE Subnetmaske ! Das solltest du besser korrigieren !
Mitglied: 148121
Solution 148121 May 18, 2021 updated at 15:01:52 (UTC)
Goto Top
Jetzt sehr ichs auch auf seinem Bild, der Client hat die falsche Interface Maske, 32 statt richtigerweise ne 24er.
Member: aqui
aqui May 18, 2021 at 15:03:19 (UTC)
Goto Top
Kollege @Tezzla sollte doch besser nochmal die Wireguard Doku ganz genau lesen ! face-wink
https://www.wireguard.com/
Member: Tezzla
Tezzla May 18, 2021 at 17:33:24 (UTC)
Goto Top
Vielleicht habe ich mich von der Bezeichnung „allowed IPs“ an der falschen Stelle zur falschen Angabe verleiten lassen. Ich werds heute nicht mehr anfassen und morgen nochmal drüber schauen.
Member: aqui
aqui May 18, 2021 at 17:36:40 (UTC)
Goto Top
Wir sind gespannt...
Member: Tezzla
Tezzla May 18, 2021 at 17:37:17 (UTC)
Goto Top
Und ich erst face-smile
Member: Tezzla
Tezzla May 27, 2021 at 12:11:23 (UTC)
Goto Top
Habs jetzt über eine andere opnsense Appliance gemacht. Läuft direkt.
Danke für's Augen öffnen mit dem Subnetzgefummel. face-smile
Member: aqui
aqui May 27, 2021 at 13:36:34 (UTC)
Goto Top
Immer gerne ! ­čśë
Member: Tezzla
Tezzla May 27, 2021 at 13:41:07 (UTC)
Goto Top
Eine letzte Frage noch: bei mir werden die auskommentierten Zeilen in der Config auf Windows Systemen verworfen, sobald die Config abgespeichert wurde. Ist das ein "Feature"?

Also kommentiere ich bspw. in einem Peer :

[Peer]
# foobar
< Rest >

Ist das # foobar nach dem Speichern einfach weg.