Domáci tunel WireGuard potrebuje spätnú trasu z LAN
Podanie ruky je tá ľahšia časť. Rozhodnite o rozdelení práce medzi router a bránu, zachovajte zdroj notebooku bez zmeny a dajte LAN spätnú trasu.
Prístup domov je jedna súkromná služba, nie druhý internetový výstup. WireGuard končí na Linuxovom stroji za routerom, router si drží svoju doterajšiu úlohu a notebook posiela tunelom len domáci prefix. Ktoré zariadenie preposiela a ktoré ukončuje, je rozhodnutie, z ktorého vychádza každé ďalšie pravidlo. Pomýlite toto rozdelenie a budete ladiť NAT, ktorý ste nechceli pridať.
Rozhodnite, kto preposiela a kto ukončuje
Verejný vstup vlastní router: prijme UDP paket a odovzdá ho Linuxovému hostu. Ten host vlastní poslucháč WireGuardu a rozhodnutie o preposielaní do LAN. V praxi mapovanie posiela UDP 51820 na 192.168.50.10 a vlastný port aplikácie zostáva zatvorený. Oddelenie rolí drží firewall krátky.
Napíšte plán adries pred vytvorením rozhrania. Router 192.168.50.1, brána 192.168.50.10, služba 192.168.50.20, tunel 10.77.0.0/24 s bránou .1 a notebookom .2. Rozsah tunela sa nesmie prekrývať so sieťou, do ktorej sa notebook už dostane, inak sa ciele stanú nejednoznačnými. Carrier-grade NAT alebo router vyššie môže blokovať prichádzajúci prístup a žiadne miestne presmerovanie portu to nenapraví.
Vymeňte kľúče a potom určte veľkosť AllowedIPs
Vytvorte samostatný pár kľúčov pre každý koniec a prenášajte overeným kanálom len verejné kľúče. Záznam peer na bráne povoľuje iba zdroj tunela notebooku, pretože domáca LAN je za bránou, nie za notebookom. Ak do toho záznamu dáte LAN, opíšete topológiu, ktorú ste nepostavili.
[Interface]
Address = 10.77.0.2/32
PrivateKey = LAPTOP_PRIVATE_KEY_BASE64
[Peer]
PublicKey = HOME_PUBLIC_KEY_BASE64
Endpoint = home-vpn.example.com:51820
AllowedIPs = 192.168.50.0/24, 10.77.0.1/32AllowedIPs je domáci prefix plus adresa tunela brány, nikdy 0.0.0.0/0, takže bežné prehliadanie si drží svoju miestnu cestu. Majte jedného vlastníka konfigurácie a nikdy nepripájajte rovnaké rozhranie k druhému správcovi siete.
Spätná trasa je tá časť, ktorú ľudia vynechajú
Tento návrh zachováva zdroj 10.77.0.2 notebooku namiesto maskovania za bránu, takže domáce zariadenia musia vedieť, ako odpovedať. Pridajte na domácom routeri statickú trasu pre 10.77.0.0/24 s 192.168.50.10 ako ďalším skokom a prečítajte si, čo wg-quick odvodzuje z AllowedIPs vo svojej referencii. Bez tej trasy existuje dokončené podanie ruky vedľa odpovedí aplikácie, ktoré nikdy nedorazia.
Ak router túto trasu neunesie, vyberte zdokumentovaný návrh spätnej cesty. Tiché pridanie NATu namiesto toho mení model zdroja, ktorý ste práve zapísali.
Povoľte jednu službu, nie podsieti
Zapnite na bráne preposielanie IPv4 a držte tri úlohy firewallu oddelene: pustite poslucháč WireGuardu, preposielajte zdroj notebooku len na 192.168.50.20 a zvyšok domácej siete nechajte pre tohto peera zatvorený. Včleňte pravidlá do už používaného správcu firewallu, namiesto aby ste ho vyprázdnili. Trasa pre celý domáci prefix nie je oprávnenie používať každé zariadenie vnútri.
Vlastná autentifikácia aplikácie a firewall hosta sú samostatná brána. Pomenujte službu, ktorú sada pravidiel povoľuje, aby ju ďalší recenzent mohol skontrolovať proti zamýšľanej úlohe.
Otestujte zvonku a potom čisto vyraďte
Nahoďte profily cez ich vlastníka, potvrďte podanie ruky, potom vyskúšajte zamýšľanú aplikáciu zo schválenej vonkajšej siete a skontrolujte odpoveď. Skúste domácu službu, ktorá musí zostať odmietnutá, pretože permisívne pravidlo je neviditeľné, kým ho niečo nepoužije. Pre HTTPS použite meno z certifikátu a nechajte validáciu bežať; napísanie surovej adresy a preklikanie varovania nič o ceste nedokazuje. PersistentKeepalive je nepovinný: pomáha peerovi za NAT po nečinnosti, ale nie je to chýbajúca trasa ani oprava oprávnenia.
Dynamická verejná adresa potrebuje aktualizácie DNS a notebook musí po zmene znova preložiť svoj koncový bod; nové záznamy DNS nepresunú nakonfigurovaný koncový bod. Vyraďte notebook odstránením jeho peera z uloženej aj aktívnej konfigurácie; zmazanie samotného profilu notebooku autorizáciu brány neodvolá.