Wireguard / VPN - spojenie dvoch klientov

Wireguard / VPN - spojenie dvoch klientov
« kdy: 19. 08. 2020, 14:22:11 »
Zdravím. Experimentujem s VPN Wireguard pre spojenie z domu na PC v kancli. Funguje to pekne, je to jednoduché, no mám pár otázok, ktorým príliš nerozumiem.

1. Prečo sa odporúča smerovať všetok traffic z klienta cez server?
Príklad, potrebujem z klienta prístup výhradne na vzdialenú plochu v kancli (RDP) a nič viac. Nechcem ťahať videá z YT, WEB a pod. cez konektivitu serveru, stačí mi ak smerujem do VPN len ten trafic, ktorý je určený druhej strane vo VPN. Takto som si to nastavil a vyhovuje mi to. Existuje nejaký dôvod (napr. bezpečnosť), prečo sa odporúča smerovať do VPN všetok traffic?

2. Wireguard mi funguje tak, že VPN server je na PC v sieti s verejnou pevnou IP adresou, klient (bez verejnej IP, za NAT) má v konfiguráku nastavenú verejnú IP adresu a port servera na ktorm WG počúva, aby sa vytvorilo spojenie. Ako sa rieši to, keď chcem spojiť navzájom dvoch VPN klientov, pričom ani jeden z nich verejnú IP nemá? Typicky nejaký telefón a notebook. Obe zariadenia majú VPN spojenie na server, ale vzájomne sa nevidia.

Myslel som, že by malo stačiť pridať obom klientom dalšiu časť [peer] kde budú mať v verejný kľúč protistrany, no taždý [peer] chce endpoint adresu, z čoho mi vychádza, že aj klient by musel mať pevnú verejnú IP. Vedia spolu VPN klienti komunikovať cez server? Ako na to?
« Poslední změna: 19. 08. 2020, 14:24:03 od Hattori Hanzo »


Re:Wireguard / VPN - spojenie dvoch klientov
« Odpověď #1 kdy: 19. 08. 2020, 15:25:40 »
Ahoj,

1. Vždy záleží na konkrétním použití, pokud potřebuješ směrovat pouze určitý provoz přes vpn je to naprosto v pořádku. Nevím kde jsi to "doporučení" našel, ale spíše je to jen pro ty co si to jinak nastavit neumí a nevyznají se v routingu/iptables atd.

2. Když chceš propojit 2 a více klientů a ani jeden z nich nemá veřejnou IP, tak musíš použít prostředníka - tedy něco co má veřejnou adresu. Minimálné jedna strana vždy musí mít vyplněn endpoind. U server-klient je to právě klient, který má adresu serveru předvyplněnou. Server mít endpoint klientů nemusí, protože endpoint u klientů je většinout dynamický, jak přecházíš mezi sítěmi. Pak už je to jen o nastavení na serveru. Na arch wiki je pěkný návod https://wiki.archlinux.org/index.php/WireGuard#Specific_use-case:_VPN_server, po následování návodu by ti měla komunikace client-to-client fungovat.

Jsou tu různé projekty, které se nutnost prostředníka snaží eliminovat, ale většinou je to zbytečně moc komlikované, třeba nedávno https://www.root.cz/zpravicky/dns-sd-objevovani-a-prime-propojeni-ucastniku-za-natem-wireguard-tunelem/.
« Poslední změna: 19. 08. 2020, 15:30:10 od ShiroDN »

Re:Wireguard / VPN - spojenie dvoch klientov
« Odpověď #2 kdy: 19. 08. 2020, 16:38:00 »
Já bych snad ještě dodal, že Wireguard nemá žádné servery a klienty, obě strany jsou rovnocenné. Osvěm alespoň na jedné straně je potřeba vyplnit prvotní adresu protistrany. Ta se pak na obou stanách spojení za chodu automaticky udržuje podle toho, odkud data dané protistrany skutečně přicházejí.

Re:Wireguard / VPN - spojenie dvoch klientov
« Odpověď #3 kdy: 24. 08. 2020, 10:49:22 »
Vďaka za info a zdroje.