16
Sítě / Re:Kontaktuje WireGuard peera vždy?
« kdy: 31. 08. 2023, 11:39:11 »
WireGuard používá transportní protokol UDP. Na začátku komunikace se provede jednocestný handshake, přičemž se bezpečně vymění klíče pro relaci a můžou se začít přenášet data. Když přijde nová komunikace na vnitřní rozhraní, WireGuard podle cílové IP adresy uvnitř VPN vybere z interní směrovací tabulky správný klíč, najde správnou cílovou IP a vytvoří nový UDP paket. Ten odešle a celá akce pro něj končí. Pokud je druhá strana nedostupná, paket se někde ztratí, ale to už WireGuard neřeší. Opakování si má udělat protokol vyšší vrstvy.
Partneři se bez potřeby přenášet data kontaktují jen při nutnosti nového handshaku, kdy se mění klíče relace. V dokumentaci jsou popsány timeouty a počty paketu, po kterém se provede rekey. Pokud to není potřeba, nic kromě zašifrovaných dat neproudí.
WireGuard používá tichý protokol, takže když není co posílat, je na lince ticho. Po cestě můžou být překlady adres (NAT), které si po nějaké době nepoužívání čistí tabulku spojení. V takové situaci pak není schopen partner zvenčí doručit UDP pakety za NAT. Typicky se tak třeba ze serveru nedostanete ke klientovi v privátní síti. K tomu slouží pakety keepalive, které se v pravidelných intervalech posílají. WireGuard na ně nereaguje, ty pakety neobsahují žádná data a slouží jen k udržování záznamu v tabulkách překladu.
Pokud je partner nedostupný, WireGuard to neřeší a vlastně to ani nemá jak zjistit. Předpokládá se, že se může kdykoliv v budoucnu třeba ozvat z jiné IP adresy. Uživatel například uspal notebook, převáží ho do jiného města a odtamtud se ozve. WireGuard v sobě má z principu zabudovaný roaming. Komunikace se posílá na poslední IP adresu, ze které se partner někdy ozval.
Partneři se bez potřeby přenášet data kontaktují jen při nutnosti nového handshaku, kdy se mění klíče relace. V dokumentaci jsou popsány timeouty a počty paketu, po kterém se provede rekey. Pokud to není potřeba, nic kromě zašifrovaných dat neproudí.
WireGuard používá tichý protokol, takže když není co posílat, je na lince ticho. Po cestě můžou být překlady adres (NAT), které si po nějaké době nepoužívání čistí tabulku spojení. V takové situaci pak není schopen partner zvenčí doručit UDP pakety za NAT. Typicky se tak třeba ze serveru nedostanete ke klientovi v privátní síti. K tomu slouží pakety keepalive, které se v pravidelných intervalech posílají. WireGuard na ně nereaguje, ty pakety neobsahují žádná data a slouží jen k udržování záznamu v tabulkách překladu.
Pokud je partner nedostupný, WireGuard to neřeší a vlastně to ani nemá jak zjistit. Předpokládá se, že se může kdykoliv v budoucnu třeba ozvat z jiné IP adresy. Uživatel například uspal notebook, převáží ho do jiného města a odtamtud se ozve. WireGuard v sobě má z principu zabudovaný roaming. Komunikace se posílá na poslední IP adresu, ze které se partner někdy ozval.