AllowedIPs er ei ruterliste, ikkje ein brannmurregel
Ho vel ein peer for utgåande trafikk og validerer inngåande kjelder. Det er ikkje ei tilgangsliste, og å slå av rutehandtering rettar ikkje ein delt tunnel.
Dei fleste les AllowedIPs som ei tillatingsliste, altså adressene som kan kopla til ein peer, om lag som ein brannmurregel skriven for ein tunnel. Det er ikkje tilfellet. Feltet er ein rutetabell som verkar i båe retningar: han vel ein peer for ein utgåande pakke og validerer kjelda til ein inngåande. Å lese det som ei tilgangsliste gjev konfigurasjonar som ruter trafikk ingen har bede om.
Eitt felt, to lesarar: val ut og kjeldekontroll
Hjå ein klient avgjer prefiksa kva destinasjonar som reiser til den peeren, og kva som blir på det vanlege nettet. Ei oppføring for 0.0.0.0/0 fangar difor kvar IPv4-destinasjon, og difor sender import av ein fulltunnelprofil vanleg surfing gjennom den eksterne maskina. Smale oppføringar gjer det motsette: dei ruter berre netta du lista opp og lèt alt anna bli der det var. Avsnittet om kryptonøkkelrutting i WireGuard-dokumentasjonen skildrar båe oppgåvene på ein stad: val av utgåande peer og validering av inngåande kjelde.
På serveren skildrar same felt kva kjeldeadresser kvar peer kan bruke. Det er ein kryptografisk kontroll og ikkje eit pakkefilter: ein pakke der den indre kjelda ikkje samsvarar med lista til peeren, blir sleppt inne i WireGuard før nokon brannmur på verten ser han. Båe oppgåvene deler éi liste, og nettopp difor oppfører ei liste kopiert frå ein annan stad seg feil på ein stad du ikkje hadde tenkt på.
Klientblokka er der mesteparten av denne forvirringa startar. Ein delt tunnel namngjev dei eksterne netta, og ein full tunnel er same felt med eit standardprefiks:
[Peer]
# split tunnel: only these networks
AllowedIPs = 10.77.0.0/24, 192.168.30.0/24
[Peer]
# full tunnel: everything, both families
AllowedIPs = 0.0.0.0/0, ::/0
Båe formene er komplette i seg sjølv, og dei er alternativ snarare enn steg. Den første sender berre dei to netta gjennom tunnelen; den andre sender kvar destinasjon, med oppføringa ::/0 som legg IPv6 til IPv4-standarden. Uansett kva du vel, er desse prefiksa heile rutingsavgjerda for den peeren når wg-quick byrjar å installere ruter.
Huben treng ei anna liste
Ein hub listar opp tunneladressa til kvar klient som vertsprefiks, i tillegg til kvart nettverk som faktisk ligg bak den klienten. Å kopiere den breie lista til ein klient til kvar hub-peer fortel huben at mange peers kan bruke dei same adressene som kjelde, og det er ikkje ein adresseplan. Feltet Endpoint høyrer til eit heilt anna lag: det namngjev den ytre adressa og porten til peeren, aldri ein destinasjon inne i tunnelen.
[Peer]
# laptop: tunnel address 10.77.0.2, office LAN behind it
AllowedIPs = 10.77.0.2/32, 192.168.30.0/24
Vertsprefikset ber tunneladressa, og nettverksprefikset ber det som ligg bak klienten, og båe trengst. Utan vertsprefikset kan huben ikkje returnere den eigne trafikken til klienten, og utan nettverksprefikset blir LAN-et bak det utilgjengeleg; ein peer utan noko bak seg får berre vertsprefikset.
Å hoppe over ruteinstallasjon lèt att eit gap
wg-quick, hjelparen som reiser eit grensesnitt frå ei konfigurasjonsfil, installerar grensesnittadresser og ruter som ein del av den jobben. Å setje Table = off fortel hjelparen å hoppe over rutearbeidet, noko som ikkje installerar erstatningar og ikkje gjer det private nettet tilgjengeleg. Når automatiske ruter alt gjer jobben, er det den tydelegare konfigurasjonen å namngje prefiksa du treng. Å slå av rutehandtering og la erstatninga vere uskriven er ikkje eit design, det er ei utelating.
Grunnverktøyet wg oppfører seg annleis: det konfigurerer grensesnittet og rører aldri ruter, så eit oppsett bygt direkte på det treng eigne rutekommandoar. Instruksjonar skrivne for eitt verktøy kan sjå feil ut når dei blir følgde mot det andre. Ein vellukka ping er også svakt prov, fordi han prøver éin veg i staden for kvar programveg du treng.
DNS og IPv6 blir avgjort kvar for seg
Sjekk DNS-serveradressa tunnelen annonserer, og stadfest at det finst ei rute til den adressa gjennom prefiksa du valde. Ei resolverinnstilling gjer ikkje resolveren tilgjengeleg, og å snevre inn ein tunnel kan stille fjerne ruta som førte dit. Undersøk også IPv6 for seg, fordi ei korrekt IPv4-deling ikkje seier noko om ei IPv6-standardrute som framleis peikar på den fysiske sambindinga. Tre separate avgjerder kan endre seg på ein gong når du redigerer éi peer-blokk.
Opne deretter éin privat ressurs og eitt vanleg nettstad frå ein kjend startkonfigurasjon. Viss ressursen svarar og surfing framleis går ut gjennom den lokale sambindinga, gjer delinga det du bad om. Viss surfinga bryt saman i same augneblink, har tunnelen teke standardruta, og prefikslista er staden å sjå.