Fórum Root.cz

Hlavní témata => Sítě => Téma založeno: bart_cz 27. 07. 2023, 13:08:54

Název: WireGuard na Turris Omnia WiFi 6
Přispěvatel: bart_cz 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.

(https://i.postimg.cc/xcQtzTX2/1.jpg) (https://postimg.cc/xcQtzTX2) (https://i.postimg.cc/1n6r8LPX/2.jpg) (https://postimg.cc/1n6r8LPX) (https://i.postimg.cc/56mpqdzF/3.jpg) (https://postimg.cc/56mpqdzF)

(https://i.postimg.cc/TKY0t7jN/4.jpg) (https://postimg.cc/TKY0t7jN) (https://i.postimg.cc/DWRcy79R/5.jpg) (https://postimg.cc/DWRcy79R) (https://i.postimg.cc/B8jg0jVx/6.jpg) (https://postimg.cc/B8jg0jVx)

(https://i.postimg.cc/qNbLSsjJ/7.jpg) (https://postimg.cc/qNbLSsjJ) (https://i.postimg.cc/Thgt1WY0/8.jpg) (https://postimg.cc/Thgt1WY0)

Děkuji
Název: Re:Turris Omnia WiFi 6 - Wireguard
Přispěvatel: bart_cz 27. 07. 2023, 13:42:07
(https://i.postimg.cc/BtfYRstm/2023-07-27-13-36-52.png) (https://postimg.cc/BtfYRstm) (https://i.postimg.cc/23dcDJZr/2023-07-27-13-37-33.png) (https://postimg.cc/23dcDJZr) (https://i.postimg.cc/D82Cygrs/2023-07-27-13-38-03.png) (https://postimg.cc/D82Cygrs)

(https://i.postimg.cc/QH0fBTmz/2023-07-27-13-38-33.png) (https://postimg.cc/QH0fBTmz) (https://i.postimg.cc/68qYCp1p/2023-07-27-13-39-01.png) (https://postimg.cc/68qYCp1p) (https://i.postimg.cc/62JcsL68/2023-07-27-13-39-39.png) (https://postimg.cc/62JcsL68)

(https://i.postimg.cc/xXZg5VWy/2023-07-27-13-40-18.png) (https://postimg.cc/xXZg5VWy) (https://i.postimg.cc/B81pww3W/2023-07-27-13-40-58.png) (https://postimg.cc/B81pww3W)
Název: Re:Turris Omnia WiFi 6 - Wireguard
Přispěvatel: ja. 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.
Název: Re:WireGuard na Turris Omnia WiFi 6
Přispěvatel: Ondřej Caletka 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.
Název: Re:WireGuard na Turris Omnia WiFi 6
Přispěvatel: bart_cz 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
Název: Re:WireGuard na Turris Omnia WiFi 6
Přispěvatel: Ondřej Caletka 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.