Većina pokvarenih WireGuard konfiguracija ne griješi u vrijednosti; one stavljaju ispravnu vrijednost na pogrešnu stranu. Privatni ključ pripada ovom računaru, peer nosi javni ključ drugog računara, a adresa stoji u interface bloku iako opisuje gdje tunel živi. Čitajte datoteku kao dva smjera koja se susreću, pa provjerite šta je pomoćna skripta dodala povrh. Sam protokol ima manje polja od datoteke, a dodatna polja vrijedi znati odvojeno.

Interface ključevi opisuju ovaj računar

Interface blok drži vlastiti identitet ovog kraja. PrivateKey je taj identitet i nikada ne napušta host; odgovarajući javni ključ se izvodi iz njega i to je ono što drugi peerovi navode. ListenPort je mjesto gdje ova strana prima rukovanja, pa dva klijenta iza jedne adrese trebaju različite portove.

Address je adresa tunela na koju ovaj host odgovara, zapisana s dužinom prefiksa jer će biti i izvor koji koristi. Pogrešan prefiks ovdje mijenja koja odredišta host smatra direktno povezanim, što daje kvarove koji izgledaju kao rutiranje, a ne kao konfiguracija.

Sve ostalo u [Interface] bloku sa stvarnim klijentom obično dodaje wg-quick: DNS, MTU, Table, i hook linije. To nisu protokolna polja, a gola wg postavka ih potpuno ignorira.

Svaki peer unos opisuje jednu drugu stranu

Blok [Peer] je udaljena strana. PublicKey je izvedeni ključ te strane, nikada njihov privatni ključ, a PresharedKey je opcionalna dodatna tajna koju obje strane moraju držati identično. Endpoint je kuda slati, a PersistentKeepalive traži da ovaj host pošalje paket nakon intervala kada ništa drugo ne izlazi.

Dvije greške objašnjavaju većinu zabune ovdje. Kopiranje vlastitog privatnog ključa u peer blok čini da dva kraja dijele jedan identitet, a rukovanje pada na način koji se loše loguje. Ostavljanje Endpoint izvan klijenta obično je namjerno, jer server uči adresu iz dolaznog rukovanja; ostavljanje izvan servera koji mora inicirati nije. Također zapamtite da keepalive drži NAT mapiranje otvorenim i ne poboljšava propusnost niti smanjuje latenciju, pa trideset sekundi dodatnih paketa ne kupuje ništa kada promet već teče.

AllowedIPs je rutiranje, a ne lista dozvola

AllowedIPs je WireGuardovo kriptoključno rutiranje. Odlazno, odlučuje koji peer prima paket na osnovu odredišta. Dolazno, odlučuje da li se paket koji dolazi od tog peera prihvaća na osnovu izvora. Isto polje radi oba posla, zato to nije lista kontrole pristupa i nije lista dozvoljenih web stranica.

Uzak AllowedIPs na serveru za klijenta znači da će server prihvatiti samo pakete koji tvrde te izvore i slati samo ta odredišta tom klijentu. Proširite jednu stranu bez proširenja druge i dobijate tunel koji se podiže i ne propušta ništa.

Šta wg-quick dodaje oko protokola

wg-quick čita istu datoteku i izvodi mrežne korake koje protokol ostavlja operativnom sistemu. Dodjeljuje adresu interfacea, dodaje rute izvedene iz AllowedIPs, zapisuje postavke resolvera i izvršava hook komande po redu.

Taj sloj objašnjava klasičnu asimetriju. Datoteka sa 0.0.0.0/0 i linijom DNS daje klijentu zadanu rutu i resolver, a ne čini baš ništa sa serverovim pravilima prosljeđivanja ili NAT-a. Ta pripadaju serverovoj vlastitoj konfiguraciji i nijedna klijentska datoteka ih ne može pružiti.

Držite jednog vlasnika datoteke. Ručno uređivanje dok je SaveConfig omogućen znači da vaša izmjena nestaje sljedeći put kada interface padne, a interface vam neće reći da se to dogodilo.

Provjerite primijenjeno stanje, ne datoteku

Datoteka je namjera. Primijenjeno stanje je ono što kernel drži, i ona se razilaze kad god je pomoćnik, drop-in ili hook nešto uredio nakon aktivacije.

Čitajte živo stanje i adresiranje zajedno, pa uporedite oboje s onim što ste napisali:

sudo wg show
ip -4 addr show dev wg0
ip -4 route show dev wg0
grep -v "^#" /etc/wireguard/wg0.conf

Ako je lista peerova prazna, interface je stvoren bez primijenjene konfiguracije. Ako adrese i rute postoje ali brojači ostaju na nuli, datoteka se učitala i rukovanje pada, što je problem ključa ili krajnje tačke, a ne reda sekcija. Uporedite dva prikaza prije uređivanja, jer je razlika među njima obično stvarni kvar.

Povezani članci