En peer, der holder op med at sende trafik, mister ikke sin nøgle af den grund, og et nyt håndtryk beviser ikke, at nogen har fornyet tilladelsen til at bruge den. WireGuards timere holder nøgler friske og pakker i bevægelse; de modellerer ikke en bruger, der logger ud efter et fast antal minutter. Tre spørgsmål blandes sammen her, og hvert har forskellige beviser. Forskellen afgør, hvilket værktøj man griber.

Tre spørgsmål, ét kommandouddata

Driftsfolk spørger, om en peer kan nås, om den har været aktiv, og om den stadig er tilladt. Det første er protokolltilstand, det andet er trafiktællere, og det tredje er autorisation. Kun de to første kan læses fra en WireGuard-grænseflade, og de bruges rutinemæssigt til at svare på alle 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 rækkerne som tre separate undersøgelser. De to første er billige og kan besvares med grænsefladens egne tællere. Den tredje kræver den konfiguration, der giver adgang, og den ligger i en anden fil eller et andet system. At vælge den forkerte række er at bede en protokoltimer om at gøre en politikopgaves arbejde.

Hvad timerne egentlig styrer

Protokollen definerer konstanter for nyt håndtryk, rotation af transportnøgler og afvisning af pakker, der beskyttes af en gammel nøgle. De reagerer på trafik og på tilstand, ikke på en kalender eller på en politik, der siger, at en person må være forbundet til 17:00. Derfor kan en inaktiv peer se passiv ud i timer og stadig være autoriseret.

PersistentKeepalive forveksles ofte med den manglende timeout. Det sender autentiske tomme pakker for at holde en NAT-mapping i live, og sættes det til nul, stopper de pakker uden at tilbagekalde noget.

Læs køretidstilstanden per peer, med den offentlige nøgle i stedet for kommentaren:

wg show wg0 latest-handshakes
wg show wg0 transfer

Et nyt håndtryk siger, at ét håndtryk blev fuldført. Det siger ikke, at den private tjeneste bag tunnelen kan nås, og et gammelt tidsstempel kan tilhøre en peer, der bare er stille.

Hvorfor en inaktiv peer ikke er en udlogget peer

WireGuard har intet sessionsobjekt med en start og en slutning. En peer er en offentlig nøgle med tilladte adresser, og håndtrykket, der beskytter dens trafik, udskiftes efter behov uden et login, som brugeren kan se. At behandle fraværet af ny trafik som en udlogning vender modellen om.

Hvis den egentlige klage er, at en forbindelse fejler efter at have været inaktiv, ligger årsagen oftest et andet sted: en NAT-mapping, der er udløbet, en enhed, der har sovet, eller en firewall, der har tabt tilstand. Test ved at sende trafik fra den anden side og starte en ny strøm, og sammenlign, hvad der ændrer sig.

Sæt fristen der, hvor autorisationen bor

Hvis adgang skal slutte på et bestemt tidspunkt, hører fristen til det, der giver adgangen. En controller, der udsteder peer-konfigurationer, kan kræve en fornyet godkendelse, før den udleverer en ny, og det er en egenskab ved controlleren og ikke en skjult parameter på grænsefladen.

For håndstyrede peers skal fjernelsen nå begge steder: den kørende grænseflade og den gemte konfiguration. Fjernes peeren kun i køretid, gøres det om af en genstart eller en afstemningsløkke, som genskaber den identitet, du troede var udløbet:

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

Prøv derefter grænsen i stedet for etiketten. Bekræft, at peeren afvises efter fristen, bekræft at fornyelsesvejen virker, og bekræft at tilstanden overlever en genindlæsning af manageren. Et håndtryks alder er et nyttigt driftssignal, og det er ikke en adgangsregistrering.

Relaterede artikler