"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Wireguard @ OpenWRT

TOM 03.01.2023 - 09:54 4312 23
Posts

TOM

Super Moderator
Oldschool OC.at'ler
Avatar
Registered: Nov 2000
Location: Vienna
Posts: 7251
Ich spiel mich grad mit meinem x86 Router in Bezug auf Wireguard Tunnel

Tailscale konnte ich auf OpenWrt installieren und läuft, auch wenn es nicht 'offiziell' supported ist.
Ich seh allerdings, dass es verhältnismäßig viel RAM und CPU-cycles verbraucht => kommuniziert wohl ständig mit den Beacon Servern.

Via Tailscale (was ja auch auf Wireguard basiert) habe ich getestet vom NAS zu Hause einen SMB Share von zu mounten bzw. über die NAS UI Videofiles zu kopieren =>war leider viel zu langsam.

Ich würde jetzt gerne testen, ob eine vanilla Wireguard Verbindung da flotter wäre, da ich mit der x86 Router Hardware locker meine 50 Mbit Upload erreichen sollte.

Folgendes habe ich gemacht:

wg0 (Wireguard Interface erstellt)
Dort definierten listening Port forwarded
Key erstellt und korrekt eingespielt auf Peer/Client
Peer/Client entsprechend konfiguriert
Firewall Zone für wg0 erstellt/konfiguriert

Aktuell kann ich mich erfolgreich mit dem Peer/Client via Wireguard verbinden, allerdings kann ich auf kein Gerät in meinem LAN zugreifen.
Meine devices haben 192.168.0.x und ich komme mit 10.0.0.3 im Wireguard Tunnel daher...

Laut allen Anleitungen sollte die Firewall Zone/Regel so aussehen, aber damit bekomm ich keinen Zugriff auf meine devices....

click to enlarge

What am I missing?
Wireguard interface/Keys/Client sollte ja alles soweit passen, nachdem ich die Wireguard Verbindunbg erfolgreich herstellen kann. Irgendwo hakt es aus meiner Sicht noch an den Firewall Settings, aber dazu finde ich im Netz nicht mehr, als besagte Firewall-Regel.... halp!

edit:

fyi, failscale hat auf openwrt offensichtlich ein memory leak

click to enlarge

erlgrey

formerly known as der~erl
Registered: Aug 2002
Location: Wien
Posts: 4367
semi - ot, mMn. ist SMB über wan generell suboptimal weil sehr "chatty" und anfällig für latenz, also lieber irgendwas anderes auch probieren. (webdav, ftps, whatever)

mir fällt jetz adhoc zumindest kein fehler auf, hab aber wg noch nicht auf openwrt eingerichtet (nur debian, opnsense und fritz)
auf der opnsense hab ich einmal recht banal gefailed weil ich zwar endpoints korrekt konfiguriert hatte aber am ende einfach vergessen hatte den endpoint auch zu aktivieren am wg server, aber kA ob sowas passieren kann auf openwrt, außerdem glaub ich hab ich damals auch keine ip bekommen am client.

vielleicht noch die wg conf vom server und client sharen (zensiert).
Bearbeitet von erlgrey am 03.01.2023, 10:22

ZARO

Here to stay
Avatar
Registered: May 2002
Location: Wien 22
Posts: 952
Kannst du die WG-IP von dem OpenWrt pingen?
Ist OpenWRT dein Default Router im Netz?

Wieso ist das Forward auf Reject? Routing ist eigentlich Forward.

TOM

Super Moderator
Oldschool OC.at'ler
Avatar
Registered: Nov 2000
Location: Vienna
Posts: 7251
Zitat aus einem Post von erlgrey
semi - ot, mMn. ist SMB über wan generell suboptimal weil sehr "chatty" und anfällig für latenz, also lieber irgendwas anderes auch probieren. (webdav, ftps, whatever)

mir fällt jetz adhoc zumindest kein fehler auf, hab aber wg noch nicht auf openwrt eingerichtet (nur debian, opnsense und fritz)
auf der opnsense hab ich einmal recht banal gefailed weil ich zwar endpoints korrekt konfiguriert hatte aber am ende einfach vergessen hatte den endpoint auch zu aktivieren am wg server, aber kA ob sowas passieren kann auf openwrt, außerdem glaub ich hab ich damals auch keine ip bekommen am client.

vielleicht noch die wg conf vom server und client sharen (zensiert).

SMB bin ich bei Dir, war ein experiment um zu sehen ob es irgendwie hinhaut. Aber ich wollt generell mal Wireguard ohne Tailscale zum Laufen bekommen und irgendwo hängt's

ich geh stark davon aus, dass das Problem bei den Firewall/Routing Regeln zu finden ist und dass das WG-Setup in Bezug auf Keys und UDP Port forward eigentlich passt => sonst könnte ich meiner Logik nach ja keinen Tunnel aufbauen... ich kann nur nicht auf die Devices im Netz zugreifen.

Klar könnt ich alles wieder löschen und neu einrichten, aber ich würd gern verstehen wo das Problem ist... um zu verstehen wie Wireguard in dem Kontext funktioniert.

Hier noch ein Screenshot der FW-Zonen... vlt. erkennt ja wer ein Problem

click to enlarge

Forward auf Reject => weil es so in allen Anleitungen die ich gefunden habe so angegeben war
Default Router => Ja
WG-IP pingen => haut nicht hin

root@OpenWrt:~# ping 192.168.0.2 (anderes Device im Netz)
PING 192.168.0.2 (192.168.0.2): 56 data bytes
64 bytes from 192.168.0.2: seq=0 ttl=64 time=0.365 ms
64 bytes from 192.168.0.2: seq=1 ttl=64 time=0.436 ms
^C
--- 192.168.0.2 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.365/0.400/0.436 ms
root@OpenWrt:~# ping 10.0.0.3 (WG-IP)
PING 10.0.0.3 (10.0.0.3): 56 data bytes
ping: sendto: Required key not available


WG Config peer:

[Interface]
PrivateKey = xxx
Address = 10.0.0.3/24

[Peer]
PublicKey = xxx
AllowedIPs = 192.168.0.0/24, 10.0.0.0/24
Endpoint = ddns.url.at:443

WG Config Router:
click to enlarge
click to enlarge

erlgrey

formerly known as der~erl
Registered: Aug 2002
Location: Wien
Posts: 4367
sollte wg0 ipv4 nicht 10.0.0.1/24 sein, das ist doch das interface nicht allowed ips?

mr.nice.

endlich fertig
Avatar
Registered: Jun 2004
Location: Wien
Posts: 6301
ack erlgrey, ein Interface sollte keine Netzadresse haben.

TOM

Super Moderator
Oldschool OC.at'ler
Avatar
Registered: Nov 2000
Location: Vienna
Posts: 7251
Zitat aus einem Post von erlgrey
sollte wg0 ipv4 nicht 10.0.0.1/24 sein, das ist doch das interface nicht allowed ips?

ich hatte davor in den allowed IPs nur 10.0.0.0/24 stehen => hat nicht funktioniert

Seitdem ich zusätzlich bei den allowed IPs 192.168.0.0/24 hinzugefügt hab, kann ich zumindest surfen wenn ich am peer den wireguard tunnel establishe (das ging davor nicht). Zugreifen auf die IP kann ich aber trotzdem nicht über web-gui/ping/ssh

Hab die allowed IPs nur angepasst, weil ich nach dem Ping-Test von OpenWrt => "Wireguard-IP" (10.0.0.3) kein einfaches "destination not reachable" sondern ein "ping: sendto: Required key not available" bekommen hab.... geändert hat's aber nix beim Ping Erfolg oder Zugriff auf die Geräte im LAN

hynk

Super Moderator
like totally ambivalent
Avatar
Registered: Apr 2003
Location: Linz
Posts: 10908
Aus der pfSense Konfig bei einem Kunden:
Das Interface auf der FW hat 10.0.0.1/24 -> Kann aber gut sein, dass OpenWRT da anders ist
Die Peers sind am Server als 10.0.0.x/32 eingetragen

Beispiel Peer Config

Code:
[Interface]
PrivateKey =xxx
ListenPort = xxx
Address = 10.0.175.3/24
DNS = 10.0.175.1

[Peer]
PublicKey = xxx
PresharedKey = xxx
AllowedIPs = 10.0.175.1/32, 10.0.175.0/24, 192.168.0.0/24, 10.0.5.0/24
Endpoint = staticip:xxx

In den AllowedIPs hats geholfen den Server explizit als /32 reinzugeben. Sollte eigentlich nicht nötig sein, aber egal.

Bekommst einen Handshake zusammen? Solang nicht zumindest das klappt hast ein Problem in der Config oder einen Murks in den Keys.
Hast du in der Peer Config wirklich keinen Private Key?

Wenn du den gesamten Traffic vom Laptop tunnen willst, testweise, kannst du das über 0.0.0.0/0 machen.

erlgrey

formerly known as der~erl
Registered: Aug 2002
Location: Wien
Posts: 4367
nein, ich meinte die interface adresse von wg0 auf zb. 10.0.0.1/24 ändern. (allowed Ips bei der peer config kannst so lassen)



bildschirmfoto-2023-01-03-um-11-00-26_262613-thumb_262615.jpg
Bearbeitet von erlgrey am 03.01.2023, 12:13

TOM

Super Moderator
Oldschool OC.at'ler
Avatar
Registered: Nov 2000
Location: Vienna
Posts: 7251
Zitat aus einem Post von hynk
ekommst einen Handshake zusammen? Solang nicht zumindest das klappt hast ein Problem in der Config oder einen Murks in den Keys.
Hast du in der Peer Config wirklich keinen Private Key?

Ja, Handshake/"Tunnel Aufbau" schaut auf beiden Seiten OK aus, soweit ich's sehen kann...es fliegen auch Pakete hin & her

@erlgrey

Achso, du redest von "IP Addresses" im Wireguard Interface und nicht "Allowed IPs", check

Werd ich bei nächster Gelgenheit ändern und schauen ob's hilft (werd morgen weiter versuchen, hab den Client grad nicht mehr bei mir)

Danke für den Input... so ganz natural sind die Wireguard Begrifflichkeiten und notwendigen Settings für einen betriebsbereiten Tunnelaufbau noch nicht für mich.

Ich bin auch noch am Überlegen ob ich mir Zerotier statt Tailscale anschauen soll. Wenn die Verbindungsgeschwindigkeit gleich ist zwischen Vanilla Wireguard und solch einem Anbieter mit netter Übersicht, würde ich aus usability Gründen das aktuell fast vorziehen. Einzigen Nachteil den ich sehe ist, dass die Provider (Tailscale, Zerotier) wohl interne Netze abscannen und nach Hause schicken könnten... Zugriff sollten sie laut meinem Verständnis aber nicht bekommen können.

erlgrey

formerly known as der~erl
Registered: Aug 2002
Location: Wien
Posts: 4367
.0 solltest als interface imo nie, oder fast nie, nutzen. nur wenn das netzwerk deutlich größer ist und dann wieder .0er in den nutzbaren bereich fallen, aber ich kann mir nicht vorstellen dass dein setup irgendwie happy damit sein kann wenn du das als interface einstellst..
muss aber zugeben, probiert hab ichs auch nie. ;)

Viper780

Er ist tot, Jim!
Avatar
Registered: Mar 2001
Location: Wien
Posts: 48903
Zitat aus einem Post von TOM
Ich bin auch noch am Überlegen ob ich mir Zerotier statt Tailscale anschauen soll. Wenn die Verbindungsgeschwindigkeit gleich ist zwischen Vanilla Wireguard und solch einem Anbieter mit netter Übersicht, würde ich aus usability Gründen das aktuell fast vorziehen. Einzigen Nachteil den ich sehe ist, dass die Provider (Tailscale, Zerotier) wohl interne Netze abscannen und nach Hause schicken könnten... Zugriff sollten sie laut meinem Verständnis aber nicht bekommen können.

Es gibt mit headscale und ionscale zwei projekte wo man den controllserver selbst hosten kann.

Wurde selbst auf oc.at drauf hingewiesen, aber noch nicht probiert

hynk

Super Moderator
like totally ambivalent
Avatar
Registered: Apr 2003
Location: Linz
Posts: 10908
screenshot-2023-01-03-at-12-38-00_262616.png

Bist du sicher, dass du einen handshake laut dem Client hast?
Aber ja, was erl sagt wird eben das Problem sein. Das Interface sollte .1 und nicht .0 sein, außer openWRT will die Schreibweise und vergibt dann die .1 selbstständig. Kann ich mir aber nicht vorstellen.

TOM

Super Moderator
Oldschool OC.at'ler
Avatar
Registered: Nov 2000
Location: Vienna
Posts: 7251
Zitat aus einem Post von hynk
Bist du sicher, dass du einen handshake laut dem Client hast?

ja, handshake war erfolgreich

@ headscale
danke für den hinweis, kenn ich bereits (ist mir für meinen einsatzzweck aber zu aufwändig zu betreiben, mir reicht free tier bei tailscale/zerotier mit einer garantiert guten verfügbarkeit)

davebastard

Vinyl-Sammler
Avatar
Registered: Jun 2002
Location: wean
Posts: 11530
Zitat aus einem Post von erlgrey
nein, ich meinte die interface adresse von wg0 auf zb. 10.0.0.1/24 ändern. (allowed Ips bei der peer config kannst so lassen)



bildschirmfoto-2023-01-03-um-11-00-26_262613-thumb_262615.jpg

ack ich hab dort halt 198.168.9.1/24 stehen aber halt eine anderes class c netz als mein LAN. und 0 kann schon sein dass er das nicht mag, ist nicht üblich.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz