WireGuard na Turris Omnia WiFi 6

WireGuard na Turris Omnia WiFi 6
« kdy: 27. 07. 2023, 13:08:54 »
Dobrý den,

hledám někoho, kdo by mi pomohl s konfigurací síťového zařízení - Turris Omnia WiFi 6 -> a nastavením WIREGUARD (VPN). Na routeru chci provozovat VPN server (s protokolem Wireguard)

Mám zřízenou veřejnou IP (co se týče připojení - je to "Pevný LTE internet na doma od Vodafone"). Na zmíněném routeru chci provozovat VPN službu pomocí Wireguard protokolu.

Wireguard jsem částečně rozjel. Dostanu se na subnet Wireguardu v routeru (10.0.0.0/24). Chtěl bych se například z mobilu atp. dostat pomocí VPN na LAN síť (tedy třeba na tiskárnu, kameru atp.).

Dokázali byste mi s tímto pomoci (nevím kde je problém, nebo kde dělám chybu)? Vyzkoušel jsem vše možné a už fakt nevím jak dál.

Chtěl bych také možnost toho, že když na mobilu / notebooku atp. se připojím k VPN serveru, aby mi dál "fungovalo prohlížení webu" (gateway??). Chtěl bych přistupovat přes VPN na lokální síť. Tedy například k tiskárně, kde si zobrazím její stav v prohlížeči: 192.168.1.22, nebo ke kameře atd.







Děkuji
« Poslední změna: 27. 07. 2023, 14:30:42 od Petr Krčmář »


Re:Turris Omnia WiFi 6 - Wireguard
« Odpověď #1 kdy: 27. 07. 2023, 13:42:07 »





ja.

  • ****
  • 338
    • Zobrazit profil
    • E-mail
Re:Turris Omnia WiFi 6 - Wireguard
« Odpověď #2 kdy: 27. 07. 2023, 14:22:12 »
Kedysi som prevadzkoval Wireguard na Turrise, tak nasledovne je z mojich poznamok v archive.

Treba mat nainstalovane balicky wireguard luci-app-wireguard

Konfiguracia rozhrania bola:

/etc/config/network

Kód: [Vybrat]
config interface 'wg0'
    option proto 'wireguard'
    option listen_port '51820'
    option private_key '**gw privkey**'
    list addresses '**ip adresa gateway vo wg subnete**/24'
    option delegate '0'

config wireguard_wg0
    option public_key '**verejny kluc prveho klienta**'
    option preshared_key '**psk prveho klienta**'
    option route_allowed_ips '1'
    option persisten_keepalive '25'
    list allowed_ips '**ip adresa prveho klienta vo wg subnete**/32'
    option description '**prvy klient**'

config wireguard_wg0
    option public_key '**verejny kluc druheho klienta**'
    option preshared_key '**psk druheho klienta**'
    option route_allowed_ips '1'
    option persistent_keepalive '25'
    list allowed_ips '**ip adresa druheho klienta vo wg subnete**/32'
    option description '**druhy klient**'

... a tak dalej pre dalsich klientov

/etc/config/firewall

Kód: [Vybrat]
config zone
    option name 'lan'
  ... upravit zonu na ...
    option network 'lan wg0'

config rule
  option name 'Allow-Wireguard'
  option src 'wan'
  option dest_port '51820'
  option proto 'udp'
  option target 'ACCEPT'

Na klientovi nastavenie AllowedIPs na 0.0.0.0/0 bude znamenat, ze vsetok traffic pojde cez wiregaurd (wireguard bude default gateway); pri zmene AllowedIPs na subnet LAN pojde cez wg iba traffic do lan, vsetok ostatny pojde mimo wireguard (split vpn).

Ako to vyklikat v Luci, to uz necham na vas.

Re:WireGuard na Turris Omnia WiFi 6
« Odpověď #3 kdy: 27. 07. 2023, 16:13:37 »
Wireguardový tunel vám evidentně běží. Je to vidět, že jsou k dispozici data o posledním handshake. Co je špatně, jsou adresy uvnitř tunelu. Na straně telefonu je nastavená podivná adresa 10.0.20.0/24, přestože na straně routeru je adresa tunelu 10.0.10.0/24 (opět poněkud zvláštní nula na konci).

Moje doporučení: na stranu routeru dejte 10.0.10.1/24, na stranu mobilu třeba 10.0.10.11 (/24 zde není podstatné, když se má přesměrovávat veškerý provoz do VPN). V každém případě stejná adresa musí být uvedena i na straně routeru v kolonce poněkud nelogicky nazvané "IP adresy, ze kterých umožnit přístup" - tam by rozhodně měla být bez masky, resp. s maskou /32. Jinak bude Wireguard provoz filtrovat.

Pak ještě možná může být špatně něco v nastavení firewallu. Tady bych doporučoval jednoduše vložit rozhraní wg do zóny LAN. Vytváření samostatné zóny nabízí jen minimální přidanou hodnotu a spoustu příležitostí, jak to rozbít.

Re:WireGuard na Turris Omnia WiFi 6
« Odpověď #4 kdy: 27. 07. 2023, 22:27:36 »
Mnohokrát Vám moc děkuji. Konečně to jede. Firewall jsem vůbec neupravoval. Problém byl jak jste oba psali v tomto:
Citace
"IP adresy, ze kterých umožnit přístup" - tam by rozhodně měla být bez masky, resp. s maskou /32. Jinak bude Wireguard provoz filtrovat.

Vůbec jsem netušil, že to bude Wireguard filtrovat.

Může mi prosím někdo vysvětlit proč a jak to teda funguje. Děkuji


Re:WireGuard na Turris Omnia WiFi 6
« Odpověď #5 kdy: 28. 07. 2023, 11:23:33 »
Wireguard nepoužívá žádný koncept serverů a klientů. Všechny instance jsou si rovny. To mu dává velkou flexibilitu. Místo toho každá instance obsahuje seznam sousedů - peerů. Ten obsahuje pro každého souseda jeho veřejný klíč a seznam povolených IP adres, které mohou od daného souseda pocházet. Kromě bezpečnostního významu v příchozím směru (jeden soused nemůže podvrhnout adresy přidělené jinému sousedovi) se seznam povolených adres používá i jako směrovací tabulka pro odchozí směr.

Pokud má tedy jedna instance Wireguardu nakonfigurované třeba tři sousedy a do rozhraní wg přijde datagram, musí wireguard nějak rozhodnout, kterému ze tří sousedů má být určen. Použití seznamu povolených adres je skvělá volba, ale nese nějaká na první pohled nezřejmá omezení - to zásadní je, že není možné říci si „podvrhování adres mezi sousedy mě nezajímá, takže každému sousedovi povolím stejný blok všech adres.

Pro implementaci klasické VPN s jedním koncentrátorem a několika cestujícími klienty to tedy vypadá tak, že instance wireguardu u každého klienta je jednoduchá, obsahuje jen jednoho souseda - koncentrátor - a u něj je nastavený seznam povolených adres na všechno, tedy 0.0.0.0/0 a ::/0, protože pomocí VPN plánujeme komunikovat s celým internetem.

Na straně koncentrátoru je situace složitější. Musí mít jako sousedy nakonfigurované všechny cestující klienty a u každého musí mít nastavenou v povolených adresách přesně tu adresu/y, které daný klient používá. Jen tak je zajištěno, že odchozí provoz ve směru z internetu k cestujícímu klientovi bude odeslán tomu správnému klientovi.

Snad to vysvětlení dává smysl.