WireGuard VPN a mindennapokra

Itt a megoldás, ha távolról szeretnénk elérni erőforrásainkat vagy gépeket szeretnénk titkosítva összekötni. – írta: stopperos, 2 éve

Hogyan tovább?

Aki nem szeretne saját WireGuard hálózatot üzemeltetni, annak lehetősége van a tailscale szolgáltatást igénybe venni. Itt 20 eszközig ingyenes peer-to-peer WireGuard hálózatot lehet igényelni, és ami a legjobb, hogy a forgalom nem megy keresztül a szolgáltatón.

Itt jön be a képbe az UDP alapú forgalom és hogy a kliensek esetén is megadható végpont IP cím és port. Mi is felépíthetjük hasonlóan a hálózatunk, ahol két WireGuard kliens egymást keresi meg. A valóságban nem is lehet a kliens-szerver leosztást szétválasztani. Csak az OpenVPN terminológia miatt használtam így, igazából hibás volt a megfogalmazás. Sokkal egyszerűbb, ha Peer-ekről beszélünk.

Ahogy észrevehettétek, nem beszéltem kulcskezelésről és kulcs visszavonásról. WireGuard esetén ezek nem megoldott problémák az egyszerűségre törekvés miatt, míg OpenVPN esetén ez napi rutin. Ezeket nekünk kell megoldani.
1) Mondjuk a kliens és szerver konfigurációk naprakészen tartásához használhatunk konfiguráció menedzsmentet, például saltstack-et, ansible-t, puppet-et, chef-et, ... . Bár a saltstack-nek nincs saját WireGuard modulja, de a kívánt funkcionalitást meg tudjuk oldani a file.managed modullal. Az ezzel kezelt wg0.conf konfigurációs fájl mezőit jinja template-ből tudjuk kliensre szabni. A mezőket pedig a pillar struktúrából tudjuk feltölteni. Ami még kihívás, hogy melyik az a pillar struktúra aminél tudjuk garantálni a privát és publikus kulcs különválasztódását és a kezelés is egyszerű marad.
2) Kulcsot pedig úgy vonunk vissza, hogy töröljük a szerver konfiguráció fájljából a publikus kulcsot.
3) Illetve itt is egy tipp: ha nem akarunk privát kulcsot küldeni a felhasználónak, megkérhetjük, hogy ő maga generálja le a kulcspárt és frissítse a konfigurációs fájlt. Nekünk pedig a publikus kulcsát küldje el.

Remélem sikerült felkelteni az érdeklődéseteket. Használjátok bátran. A folytatás nem tudom mi lesz. Hajlamos vagyok megígérni logout írások végén folytatásokat (SaltStack 3, ZFS 2), amik nem készülnek el. Talán lesz WireGuard 2 is egyszer... Vagy kezdek egy tiny-OpenWRT témát...

A szokásos ajánlat továbbra is él: kb. egy évig követem itt a komment szekciót. Ha módosítási kérés van vagy olyan kérdés merül fel, amit általánosan kell megválaszolni, akkor frissítem az írást. Egy év után már nem tudom garantálni, hogy napi szinten erre nézek. Ezért kérném, hogy az általános fórumokon is tegyétek fel a kérdéseiteket (OpenWRT, Ubuntu, Raspberry Pi) ahová gyakrabban járok.

Előzmények