Cheie privată aici, cheie publică acolo: cheile WireGuard
Cheia dumneavoastră privată rămâne pe dispozitiv; intrarea de partener conține cheia publică a celeilalte părți. Partajați doar jumătatea publică și dați fiecărui dispozitiv propria identitate.
Majoritatea defecțiunilor WireGuard construite manual se reduc la ce cheie a ajuns unde. Secțiunea de interfață conține cheia privată a dispozitivului pe care îl configurați, în timp ce o secțiune de partener conține cheia publică a mașinii de la celălalt capăt. Inversarea acestor jumătăți, sau lipirea celei greșite, produce un handshake care nu se termină niciodată și un jurnal care nu numește niciodată o cheie. Faceți cele patru verificări de mai jos în ordine înainte de a atinge AllowedIPs sau DNS.
Două chei, două direcții
O cheie privată aparține exact unui singur dispozitiv și rămâne în secțiunea de interfață a acelui dispozitiv. Jumătatea ei publică este ceea ce are nevoie orice alt partener pentru a recunoaște dispozitivul, iar uneltele o derivă în loc să o inventeze. Pe server, cheia publică a dispozitivului apare ca intrare de partener; pe dispozitivul dumneavoastră, acel rol îl are cheia publică a serverului. Citirea cu voce tare a unei configurații în acești termeni prinde majoritatea confuziilor înainte de a ajunge la un handshake.
Comanda wg afișează ce folosește de fapt interfața locală, inclusiv ambele chei publice. Astfel devine cea mai rapidă cale de a separa o eroare de configurare de o problemă de conectivitate:
wg show
wg show interfaces
Prima ieșire listează fiecare partener cu cheia sa publică, punctul final folosit ultima dată și vârsta ultimului handshake. O vârstă a handshake-ului „niciodată” pe o parte și una recentă pe cealaltă indică o cheie pe care a acceptat-o doar un capăt. A doua comandă numește interfețele pe care le puteți inspecta mai departe.
Ce partajăm și ce nu partajăm niciodată
O cheie publică este menită să fie predată, deși încă identifică o relație între dispozitive, de aceea a o trimite administratorului care a cerut-o diferă de a o publica. O cheie privată nu părăsește niciodată dispozitivul care a generat-o. Un profil exportat sau un cod QR conține întreaga configurație, inclusiv acea cheie privată, așa că niciunul nu este sigur de dat mai departe, iar ascunderea textului într-o imagine nu schimbă nimic. Cheile partajate în prealabil sunt opționale și la fel de secrete, iar ambele capete trebuie să poarte aceeași valoare, altfel handshake-ul se oprește în acea etapă.
Încă o distincție merită spusă direct: un punct final este o adresă și un port, niciodată o cheie. Lipirea unei chei publice în câmpul punctului final, sau a unei adrese într-un câmp de cheie, produce un profil care este analizat și apoi nu face nimic. Uneltele nu vor prinde asta, pentru că ambele câmpuri sunt doar șiruri. Pornirea rapidă WireGuard arată lanțul de generare și derivare într-o singură linie.
Un dispozitiv, o intrare de partener
Unde serviciul permite, fiecare dispozitiv ar trebui să aibă propria identitate de partener. Lipirea profilului complet al unui laptop pe un telefon face neclar ce dispozitiv deține acea identitate pe server și face mai dificilă revocarea unui singur telefon pierdut. Dacă o cheie privată se scurge, eliminați autorizarea veche a partenerului pe server și pregătiți un înlocuitor. Ștergerea fișierului local nu elimină intrarea de pe server, iar o cheie de client nouă nu ajută pe nimeni până când serverul nu îi cunoaște jumătatea publică.
Țineți corespondența dintre dispozitiv și cheia publică lângă lista de adrese. Acea listă transformă o revocare într-o sarcină de două minute în loc de o după-amiază întreagă.
Ce încă eșuează după handshake
Perechile de chei identifică partenerii; ele nu decid comportamentul rețelei. AllowedIPs asociază intervale de adrese cu un partener, iar rutele din jur sunt gestionate de client sau de unealta de configurare. Simptomul spune de obicei ce strat trebuie deschis în continuare:
| What you see | Which key problem it usually means | Where to look first |
|---|---|---|
| Handshake age stays at never on both ends | Peer public key missing, or an endpoint pointing at nothing | wg show, then the endpoint value |
| Handshake completes on one side only | The two ends hold different public keys for each other | wg show on both hosts |
| Handshake works, then no traffic | AllowedIPs or routes rather than keys | wg show and the route table |
| Worked until a key was regenerated | The peer entry still holds the old public key | Compare both public keys, then update the peer |
DNS poate eșua după ce ambii parteneri se autentifică corect, iar o aplicație poate eșua în timp ce tunelul în sine este sănătos, deci un handshake funcțional nu este sfârșitul diagnosticului. Cheile nu spun nimic nici despre practica de jurnalizare a unui operator sau despre faptul că un site recunoaște contul, iar acele întrebări aparțin altundeva. Treceți la straturile de rețea odată ce cele patru verificări trec, pentru că o cheie lipsă nu este o problemă de rutare deghizată.