Přes NAT to běžně prochází, jen je potřeba aktivně udržovat mapování, takže je potřeba zapnout keep alive. K tomu slouží na řádce volba persistent-keepalive
a v konfiguračním souboru PersistentKeepalive =
následovaná délkou periody v sekundách, kdy se posílají prázdné UDP pakety. Bez této volby WireGuard nic neposílá, pokud není potřeba přenést žádná data.
Stačí tedy, aby jedna strana byla veřejně viditelná (typicky koncentrátor) a ostatní (klienti) pak mohou cestovat po síti a být klidně za NATem.
Každý komunikující partner je identifikován pomocí veřejného klíče a IP adres, které používá uvnitř VPN. V případě komunikace určené k odeslání se v tabulce virtuálních IP adres uvnitř WireGuardu nalezne správný příjemce a jeho veřejný klíč se použije k zašifrování provozu.
Bohuzel nemam ted tolik casu, abych si podrobne cetl tech-paper k WG, ale opravdu se sifruje temi statickymi klici, ktere na sebe znaji partneri na lince? To se opravdu ani negeneruji ad-hoc klice pro kazde sezeni?
To se opravdu ani negeneruji ad-hoc klice pro kazde sezeni?
Používá se postup jako u moderních TLS nebo IKE: klíče pro proudovou symetrickou šifru se generují náhodně výměnou (EC)DH, ta je autorizována asymetrickými klíči uloženými v konfiguraci. Nové klíče se generují po 2 minutách opět přes DH (PFS). Celé DH lze ještě volitelně "zabalit" další symetrickou šifrou s PSK, která může sloužit jako ochrana před budoucími kvantovými luštiteli (šifrování se pak neprolomí úplně, ale "jen" degraduje na PSK).
Takze po provozni strance je to vlastne ekvivalent predkonfigurovaneho ipsec s pubkey ike a statickymi zaznamy spd, jestli to spravne chapu.
Ano, přesně tak. Ale doporučuji to přesto vyzkoušet. Neumí vlastně nic navíc proti nejnovějšímu IKE/IPsec, ale je to mnohem jednodušší na nastavení: přinutit Strongswan, aby např. spolehlivě rotoval bez krátkých výpadků klíče, je téměř nemožné - hlavně při obnově IKE SA; dále třeba nastavení pro "route based" IPsec (VTI/XFRM) atd. - to všechno ve WG funguje se sedmiřádkovým wg.conf :-). Jako jedinou "nevýhodu" zatím vidím (když pominu dostupnost implementace pro různá zařízení) to, že WG nemá koncept nějakého spojení/session, jak jsme zvyklí třeba z IKE: není zde nějaké DPD a nelze tedy samotný WG použít jako dohled VPN spojení. To je ale stejně jen druhotná funkce jiných VPN, která s utajením/tunelováním nemá nic společného a měla by se řešit jinak (PING...).
Obecně jsem nejdříve WG odmítal jako další zbytečnou yet-another-VPN technologii, ale po vyzkoušení jsem si to oblíbil a používám WG právě na road warrior (přístup z notebooků do firemní sítě). IPsec jsem nechal už jen tam, kde WG není nebo ho je těžší nainstalovat než IPsec/IKE nebo kde má IPsec dostatečně rychlý hw offload pro AES.
Ahoj, prosím o radu. Nainštaloval som wireguard na ubuntu server. Server je na ip adrese 192.168.0.90. Wireguard na ip 192.168.4.1, "klient" na ip 192.168.4.2. Wireguar a klient sa navzájom vidia, aj pingnu. Len by som potreboval, aby klient videl aj do siete 192.168.0.x
Z nej klienta nevidím, ani ho nepingnem. Čo je potreba ešte na to aby som videl do siete 192.168.0.x ?
Ďakujem za odpovede.
Address = 192.168.4.1
PrivateKey = [kluc]
ListenPort = 51820
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE
[Peer]
#mobil
PublicKey = [kluc]
AllowedIPs = 192.168.4.2/32