AllowedIPs je lista za usmjeravanje, a ne firewall pravilo
Bira partnera za odlazni saobraćaj i provjerava dolazne izvore. Nije lista dozvola, a isključivanje upravljanja rutama ne popravlja podijeljeni tunel.
Većina ljudi čita AllowedIPs kao listu dozvola, skup adresa koje se mogu povezati s partnerom, slično firewall pravilu napisanom za tunel. To nije tako. Polje je tabela usmjeravanja koja radi u oba smjera: bira partnera za odlazni paket i provjerava izvor dolaznog. Čitanje kao liste dozvola stvara konfiguracije koje usmjeravaju saobraćaj koji niko nije tražio.
Jedno polje, dva čitača: izbor odlaznog i provjera izvora
Na klijentu prefiksi odlučuju koja odredišta idu ka tom partneru, a koja ostaju na običnoj mreži. Zato unos za 0.0.0.0/0 obuhvata svako IPv4 odredište, i zato uvoz profila punog tunela šalje obično pregledanje kroz udaljenu mašinu. Uska unosa rade suprotno: usmjeravaju samo mreže koje ste naveli, a sve ostalo ostavljaju gdje je bilo. Odjeljak o usmjeravanju kriptoključeva u WireGuard dokumentaciji navodi oba posla na jednom mjestu: izbor odlaznog partnera i provjeru dolaznog izvora.
Na serveru isto polje opisuje koje izvorne adrese svaki partner smije koristiti. To je kriptografska provjera, a ne filter paketa: paket čiji unutrašnji izvor ne odgovara partnerovoj listi odbacuje se unutar WireGuarda prije nego ga vidi bilo koji firewall na hostu. Oba posla dijele jednu listu, i upravo zato lista kopirana s drugog mjesta pogrešno radi na mjestu koje niste razmotrili.
Klijentski blok je mjesto gdje počinje većina ove zabune. Podijeljeni tunel navodi udaljene mreže, a puni tunel je isto polje sa zadanim prefiksom:
[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
Oba oblika su sama po sebi potpuna i oni su alternative, a ne koraci. Prvi šalje kroz tunel samo te dvije mreže; drugi šalje svako odredište, a unos ::/0 dodaje IPv6 na zadani IPv4. Koji god odaberete, ti prefiksi su cijela odluka o usmjeravanju za tog partnera kad wg-quick počne instalirati rute.
Čvorište treba drugačiju listu
Čvorište navodi adresu tunela svakog klijenta kao prefiks hosta, plus svaku mrežu koja zaista stoji iza tog klijenta. Kopiranje klijentove široke liste na svakog partnera čvorišta govori čvorištu da mnogi partneri mogu biti izvor istih adresa, a to nije plan adresa. Polje Endpoint pripada potpuno drugom sloju: navodi vanjsku adresu i port partnera, nikada odredište unutar tunela.
[Peer]
# laptop: tunnel address 10.77.0.2, office LAN behind it
AllowedIPs = 10.77.0.2/32, 192.168.30.0/24
Prefiks hosta nosi adresu tunela, a mrežni prefiks nosi ono što stoji iza klijenta, i oba su potrebna. Bez prefiksa hosta čvorište ne može vratiti klijentov vlastiti saobraćaj, a bez mrežnog prefiksa LAN iza njega ostaje nedostupan; partner bez ičega iza sebe dobija samo prefiks hosta.
Preskakanje instalacije ruta ostavlja prazninu
wg-quick, pomoćnik koji podiže interfejs iz konfiguracijske datoteke, instalira adrese interfejsa i rute kao dio tog posla. Postavljanje Table = off kaže pomoćniku da preskoči rad s rutama, što ne instalira zamjene i ne čini privatnu mrežu dostupnom. Kada automatske rute već rade posao, navođenje potrebnih prefiksa je jasnija konfiguracija. Isključiti upravljanje rutama i ostaviti zamjenu nenapisanu nije dizajn, to je propust.
Osnovni alat wg ponaša se drukčije: konfiguriše interfejs i nikada ne dira rute, pa postavka izgrađena direktno na njemu treba vlastite komande za rute. Uputstva napisana za jedan alat mogu izgledati pogrešno kad se slijede uz drugi. Uspješan ping je takođe slab dokaz, jer provjerava jednu putanju, a ne svaku putanju aplikacije koja vam treba.
DNS i IPv6 se odlučuju odvojeno
Provjerite adresu DNS servera koju tunel objavljuje i potvrdite da ruta do te adrese postoji kroz prefikse koje ste odabrali. Postavka rezolvera ne čini rezolver dostupnim, a sužavanje tunela može tiho ukloniti rutu koja je do njega vodila. Pregledajte IPv6 i zasebno, jer ispravna IPv4 podjela ne govori ništa o zadanoj ruti IPv6 koja još pokazuje na fizičku vezu. Tri odvojene odluke mogu se promijeniti odjednom kada uredite jedan blok partnera.
Zatim otvorite jedan privatni resurs i jednu običnu web stranicu iz poznate početne konfiguracije. Ako resurs odgovara i pregledanje još izlazi kroz lokalnu vezu, podjela radi ono što ste tražili. Ako se pregledanje pokvari u istom trenutku, tunel je preuzeo zadanu rutu i lista prefiksa je mjesto gdje treba tražiti.