Plej multaj homoj legas AllowedIPs kiel permesliston, la aron de adresoj kiuj rajtas konektiĝi al samtavolo, kvazaŭ fajroŝirma regulo skribita por tunelo. Tio ĝi ne estas. La kampo estas enkursiga tabelo funkcianta en ambaŭ direktoj: ĝi elektas samtavolon por eliranta paketo kaj validigas la fonton de eniranta. Legi ĝin kiel alirliston produktas agordojn kiuj enkursigas trafikon kiun neniu petis.

Unu kampo, du legantoj: elekto de eliro kaj kontrolo de fonto

Ĉe kliento, la prefiksoj decidas kiuj celoj vojaĝas al tiu samtavolo kaj kiuj restas sur la ordinara reto. Ensemblo por 0.0.0.0/0 tial kaptas ĉiun celon IPv4, kaj tial importi plentunelan profilon sendas ordinaran retumadon tra la fora maŝino. Mallarĝaj ensembloj faras la malon: ili enkursigas nur la retojn kiujn vi listigis kaj lasas ĉion alian tie, kie ĝi estis. La sekcion pri enkursigado de kriptoŝlosiloj en la WireGuard-dokumentaro priskribas ambaŭ taskojn en unu loko: elekton de la elira samtavolo kaj validigon de la enira fonto.

Sur la servilo, la sama kampo priskribas kiujn fontadresojn ĉiu samtavolo rajtas uzi. Tio estas kriptografia kontrolo, ne paketa filtro: paketo kies interna fonto ne kongruas kun la listo de la samtavolo estas forĵetata ene de WireGuard antaŭ ol ajna fajroŝirmilo de la gastiganto vidas ĝin. Ambaŭ taskoj dividas unu liston, kaj ĝuste tial listo kopiita de aliloke miskondutas en loko kiun vi ne pripensis.

La klienta bloko estas kie komenciĝas la plej granda parto de ĉi tiu konfuzo. Fendita tunelo nomas la forajn retojn, kaj plena tunelo estas la sama kampo tenantan defaŭltan prefikson:

[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

Ambaŭ formoj estas kompletaj per si mem, kaj ili estas alternativoj, ne paŝoj. La unua sendas nur tiujn du retojn tra la tunelo; la dua sendas ĉiun celon, kun la ensemblo ::/0 aldonanta IPv6 al la IPv4-defaŭlto. Kiun ajn vi elektos, tiuj prefiksoj estas la tuta enkursiga decido por tiu samtavolo post kiam wg-quick komencos instali itinerojn.

La koncentrilo bezonas alian liston

Koncentrilo listigas la tunelan adreson de ĉiu kliento kiel gastigantan prefikson, plus ajnan reton vere malantaŭ tiu kliento. Kopii la larĝan liston de kliento sur ĉiun koncentrilan samtavolon diras al la koncentrilo ke multaj samtavoloj povas havi la samajn adresojn kiel fonto, kaj tio ne estas adresa plano. La kampo Endpoint apartenas al tute alia tavolo: ĝi nomas la eksteran adreson kaj pordon de la samtavolo, neniam celon interne de la tunelo.

[Peer]
# laptop: tunnel address 10.77.0.2, office LAN behind it
AllowedIPs = 10.77.0.2/32, 192.168.30.0/24

La gastiganta prefikso portas la tunelan adreson kaj la reta prefikso portas tion, kio staras malantaŭ la kliento, kaj ambaŭ necesas. Sen la gastiganta prefikso la koncentrilo ne povas resendi la propran trafikon de la kliento, kaj sen la reta prefikso la LAN malantaŭ ĝi restas neatingebla; samtavolo sen io malantaŭ si ricevas nur la gastigantan prefikson.

Preterlasi itinera instalado lasas breĉon

wg-quick, la helpilo kiu levigas interfacon el agorda dosiero, instalas interfacajn adresojn kaj itinerojn kiel parton de tiu laboro. Agordi Table = off diras al la helpilo preterlasi la itineran laboron, kio ne instalas anstataŭaĵojn kaj ne faras la privatan reton atingebla. Kiam aŭtomataj itineroj jam faras la laboron, nomi la prefiksojn kiujn vi bezonas estas la pli klara agordo. Malŝalti itineran administradon kaj lasi la anstataŭaĵon neskribita ne estas dezajno, ĝi estas preterlaso.

La baza ilo wg kondutas alie: ĝi agordas la interfacon kaj neniam tuŝas itinerojn, do agordo konstruita rekte sur ĝi bezonas proprajn itinerajn komandojn. Instrukcioj skribitaj por unu ilo povas ŝajni malĝustaj kiam oni sekvas ilin kontraŭ la alia. Sukcesa ping ankaŭ estas malforta pruvo, ĉar ĝi ekzercas unu vojon anstataŭ ĉiun aplikaĵan vojon kiun vi bezonas.

DNS kaj IPv6 decidiĝas aparte

Kontrolu la DNS-servilan adreson kiun la tunelo anoncas, kaj konfirmu ke ekzistas itinero al tiu adreso tra la prefiksoj kiujn vi elektis. Agordo de solvilo ne faras la solvilon atingebla, kaj mallarĝigo de tunelo povas kviete forigi la itineron kiu antaŭe atingis ĝin. Inspektu ankaŭ IPv6 memstare, ĉar ĝusta IPv4-divido diras nenion pri IPv6-defaŭlta itinero kiu ankoraŭ montras al la fizika ligo. Tri apartaj decidoj povas ŝanĝiĝi samtempe kiam vi redaktas unu samtavolan blokon.

Poste malfermu unu privatan rimedon kaj unu ordinaran retejon el konata komenca agordo. Se la rimedo respondas kaj retumado ankoraŭ eliras tra la loka konekto, la divido faras tion, kion vi petis. Se retumado rompiĝas en la sama momento, la tunelo prenis la defaŭltan itineron, kaj la prefiksa listo estas kie rigardi.

Rilataj artikoloj