Пір, які перастаў прапускаць трафік, не губляе праз гэта свой ключ, а свежае рукапаціранне не даказвае, што нехта падоўжыў дазвол на яго выкарыстанне. Таймеры WireGuard трымаюць ключы свежымі, а пакеты — у руху; яны не мадэлююць карыстальніка, які выходзіць з сістэмы праз зададзеную колькасць хвілін. Тут блытаюць тры пытанні, і кожнае мае іншыя доказы. Гэтае размежаванне вызначае, якім інструментам карыстацца.

Тры пытанні, адзін вывад каманды

Аператары пытаюць, ці даступны пір, ці быў ён актыўны і ці дагэтуль дазволены. Першае — стан пратаколу, другое — лічыльнікі трафіку, трэцяе — аўтарызацыя. Толькі першыя два можна прачытаць з інтэрфейсу WireGuard, і іх пастаянна выкарыстоўваюць, каб адказаць на ўсе тры.

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

Чытайце радкі як тры асобныя расследаванні. Першыя два танныя, і на іх можна адказаць уласнымі лічыльнікамі інтэрфейсу. Трэцяе патрабуе канфігурацыі, якая дае доступ, а яна жыве ў іншым файле або іншай сістэме. Выбар не таго радка — гэта просьба да таймера пратаколу выканаць працу палітыкі.

Чым насамрэч кіруюць таймеры

Пратакол вызначае канстанты для паўтору рукапацірання, ратацыі транспартных ключоў і адхілення пакетаў, абароненых старым ключом. Яны рэагуюць на трафік і на стан, а не на каляндар ці палітыку, якая кажа, што чалавек можа быць падключаны да 17:00. Таму пір, які простайвае, можа гадзінамі выглядаць неактыўным і ўсё роўна быць аўтарызаваным.

PersistentKeepalive часта прымаюць за адсутны тайм-аут. Ён дасылае аўтэнтыфікаваныя пустыя пакеты, каб падтрымліваць адлюстраванне NAT жывым, а ўсталяванне нуля спыняе гэтыя пакеты, нічога не адклікаючы.

Чытайце стан выканання для кожнага піра, выкарыстоўваючы адкрыты ключ, а не каментар:

wg show wg0 latest-handshakes
wg show wg0 transfer

Свежае рукапаціранне кажа, што адно рукапаціранне завяршылася. Яно не кажа, што прыватная служба за тунелем даступная, а старая адзнака часу можа належаць піру, які проста маўчыць.

Чаму пір, які простайвае, — не пір, які выйшаў з сістэмы

У WireGuard няма аб'екта сесіі з пачаткам і канцом. Пір — гэта адкрыты ключ з дазволенымі адрасамі, а рукапаціранне, якое абараняе яго трафік, замяняецца па меры неабходнасці без якога-небудзь бачнага карыстальніку ўваходу. Лічыць адсутнасць свежага трафіку выхадам з сістэмы — значыць перавярнуць мадэль.

Калі сапраўдная скарга ў тым, што злучэнне не працуе пасля простаю, прычына звычайна іншая: пратэрмінаванае адлюстраванне NAT, прылада, якая заснула, або брандмаўэр, які страціў стан. Правярайце, дасылаючы трафік з іншага боку і запускаючы новы паток, і параўноўвайце, што змяняецца.

Пакладзіце тэрмін туды, дзе жыве аўтарызацыя

Калі доступ павінен скончыцца ў пэўны час, тэрмін належыць таму, што дае доступ. Кантролер, які выдае канфігурацыі піраў, можа патрабаваць паноўленага адабрэння, перш чым выдаць новую, і гэта ўласцівасць кантролера, а не схаваны параметр інтэрфейсу.

Для піраў, якімі кіруюць уручную, выдаленне павінна дайсці да двух месцаў: працуючага інтэрфейсу і захаванай канфігурацыі. Выдаленне піра толькі падчас працы скасоўваецца перазапускам або цыклам узгаднення, які аднаўляе ідэнтычнасць, якую вы лічылі пратэрмінаванай:

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

Потым правярайце мяжу, а не ярлык. Пацвердзіце, што пір адхіляецца пасля тэрміну, што шлях падаўжэння працуе і што стан перажывае перазагрузку мэнэджара. Узрост рукапацірання — карысны аперацыйны сігнал, і гэта не запіс пра доступ.

Падобныя артыкулы