Vârsta handshake-ului WireGuard nu este un timeout de sesiune
Temporizatoarele de reînnoire a cheilor guvernează cheile, nu accesul utilizatorilor. Citirea latest-handshakes spune despre starea de protocol a unui peer, nu dacă autorizarea lui a expirat.
Un peer care nu mai transmite trafic nu își pierde prin asta cheia, iar un handshake nou nu dovedește că cineva a reînnoit permisiunea de a o folosi. Temporizatoarele WireGuard țin cheile proaspete și pachetele în mișcare; ele nu modelează un utilizator care se deconectează după un număr fix de minute. Aici se confundă trei întrebări, iar fiecare are dovezi diferite. Distincția decide ce instrument folosim.
Trei întrebări, o singură ieșire de comandă
Operatorii întreabă dacă un peer este accesibil, dacă a fost activ și dacă mai este permis. Prima este starea protocolului, a doua sunt contoarele de trafic, iar a treia este autorizarea. Doar primele două pot fi citite dintr-o interfață WireGuard, și sunt folosite frecvent pentru a răspunde la toate trei.
| Question | Evidence it needs | What does not answer it |
|---|---|---|
| Is the peer reachable now? | A recent handshake and a working return path | An interface that exists |
| Has it been active? | Transfer counters moving over time | A handshake timestamp alone |
| Is access still granted? | The configuration or controller that authorizes it | Any protocol timer |
Citiți rândurile ca trei investigații separate. Primele două sunt ieftine și pot fi lămurite cu contoarele proprii ale interfeței. A treia are nevoie de configurația care acordă accesul, iar aceasta trăiește într-un alt fișier sau alt sistem. Alegerea rândului greșit înseamnă a cere unui temporizator de protocol să facă treaba unei politici.
Ce guvernează de fapt temporizatoarele
Protocolul definește constante pentru reîncercarea handshake-ului, rotația cheilor de transport și respingerea pachetelor protejate de o cheie veche. Ele răspund la trafic și la stare, nu la un calendar sau la o politică ce spune că o persoană poate fi conectată până la 17:00. De aceea un peer inactiv poate părea inactiv ore întregi și totuși autorizat.
PersistentKeepalive este adesea confundat cu timeout-ul lipsă. Trimite pachete goale autentificate pentru a menține în viață o mapare NAT, iar setarea lui la zero oprește acele pachete fără a revoca ceva.
Citiți starea de execuție pe fiecare peer, folosind cheia publică în locul comentariului:
wg show wg0 latest-handshakes
wg show wg0 transfer
Un handshake recent spune că un handshake s-a încheiat. Nu spune că serviciul privat din spatele tunelului este accesibil, iar o marcă de timp veche poate aparține unui peer care pur și simplu tace.
De ce un peer inactiv nu este un peer deconectat
WireGuard nu are un obiect de sesiune cu un început și un sfârșit. Un peer este o cheie publică cu adrese permise, iar handshake-ul care îi protejează traficul este înlocuit la nevoie fără nicio autentificare vizibilă pentru utilizator. A trata absența traficului recent ca o deconectare inversează modelul.
Dacă reclamația reală este că o conexiune eșuează după ce a stat inactivă, cauza este de obicei în altă parte: o mapare NAT expirată, un dispozitiv care a dormit sau un firewall care a pierdut starea. Testați trimițând trafic din partea cealaltă și pornind un flux nou, apoi comparați ce se schimbă.
Puneți termenul acolo unde trăiește autorizarea
Dacă accesul trebuie să se încheie la o oră anume, termenul aparține celor care acordă accesul. Un controller care emite configurații de peer poate cere o aprobare reînnoită înainte de a livra una nouă, iar asta este o proprietate a controllerului, nu un parametru ascuns pe interfață.
Pentru peer-ii administrați manual, eliminarea trebuie să ajungă în ambele locuri: interfața în execuție și configurația salvată. Eliminarea peer-ului doar în timpul execuției este anulată de o repornire sau de o buclă de reconciliere, care restaurează identitatea pe care o credeați expirată:
sudo wg set wg0 peer <public-key> remove
sudo wg-quick save wg0
Apoi testați granița, nu eticheta. Confirmați că peer-ul este respins după termen, că calea de reînnoire funcționează și că starea supraviețuiește unei reîncărcări a managerului. Vârsta unui handshake este un semnal operațional util și nu este o evidență de acces.