En peer som slutar skicka trafik förlorar inte sin nyckel för det, och en ny handskakning bevisar inte att någon har förnyat tillståndet att använda den. WireGuards timers håller nycklar färska och paket i rörelse; de modellerar inte en användare som loggar ut efter ett bestämt antal minuter. Tre frågor blandas ihop här, och var och en har olika bevis. Distinktionen avgör vilket verktyg du tar till.

Tre frågor, en kommandoutdata

Operatörer frågar om en peer går att nå, om den har varit aktiv och om den fortfarande är tillåten. Den första är protokolltillstånd, den andra är trafikräknare och den tredje är behörighet. Bara de två första går att läsa från ett WireGuard-gränssnitt, och de används rutinmässigt för att svara på alla tre.

QuestionEvidence it needsWhat does not answer it
Is the peer reachable now?A recent handshake and a working return pathAn interface that exists
Has it been active?Transfer counters moving over timeA handshake timestamp alone
Is access still granted?The configuration or controller that authorizes itAny protocol timer

Läs raderna som tre separata utredningar. De två första är billiga och kan besvaras med gränssnittets egna räknare. Den tredje kräver konfigurationen som ger åtkomst, och den finns i en annan fil eller ett annat system. Att välja fel rad är att be en protokolltimer göra en policys arbete.

Vad timers faktiskt styr

Protokollet definierar konstanter för ny handskakning, rotation av transportnycklar och avvisning av paket som skyddas av en gammal nyckel. De svarar på trafik och på tillstånd, inte på en kalender eller på en policy som säger att en person får vara ansluten till 17:00. Därför kan en inaktiv peer se overksam ut i timmar och ändå vara behörig.

PersistentKeepalive tas ofta för den saknade timeouten. Det skickar autentiserade tomma paket för att hålla en NAT-mappning vid liv, och att sätta det till noll stoppar paketen utan att återkalla något.

Läs körtidstillståndet per peer, med den publika nyckeln i stället för kommentaren:

wg show wg0 latest-handshakes
wg show wg0 transfer

En ny handskakning säger att en handskakning slutfördes. Den säger inte att den privata tjänsten bakom tunneln går att nå, och en gammal tidsstämpel kan höra till en peer som helt enkelt är tyst.

Varför en inaktiv peer inte är en utloggad peer

WireGuard har inget sessionsobjekt med en början och ett slut. En peer är en publik nyckel med tillåtna adresser, och handskakningen som skyddar dess trafik byts ut vid behov utan någon inloggning som användaren ser. Att behandla frånvaron av färsk trafik som en utloggning vänder på modellen.

Om det egentliga klagomålet är att en anslutning misslyckas efter att ha varit overksam, ligger orsaken oftast någon annanstans: en NAT-mappning som gått ut, en enhet som sovit eller en brandvägg som tappat tillstånd. Testa genom att skicka trafik från andra sidan och starta ett nytt flöde, och jämför vad som ändras.

Sätt deadline där behörigheten finns

Om åtkomst måste upphöra vid en bestämd tid hör deadline till det som ger åtkomsten. En styrenhet som utfärdar peer-konfigurationer kan kräva ett förnyat godkännande innan den lämnar ut en ny, och det är en egenskap hos styrenheten och inte en dold parameter på gränssnittet.

För handsatta peers måste borttagningen nå båda ställena: det körande gränssnittet och den sparade konfigurationen. Att bara ta bort peeren i körtid ångras av en omstart eller en avstämningsslinga, som återställer identiteten du trodde hade gått ut:

sudo wg set wg0 peer <public-key> remove
sudo wg-quick save wg0

Testa sedan gränsen i stället för etiketten. Bekräfta att peeren avvisas efter deadline, bekräfta att förnyelsevägen fungerar och bekräfta att tillståndet överlever en omladdning av hanteraren. En handskaknings ålder är en användbar driftssignal, och den är inte en åtkomstpost.

Relaterade artiklar