Пір, який перестав пропускати трафік, не втрачає через це свій ключ, а свіже рукостискання не доводить, що хтось поновив дозвіл на його використання. Таймери 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

Потім перевіряйте межу, а не ярлик. Підтвердьте, що пір відхиляється після терміну, що шлях поновлення працює і що стан переживає перезавантаження менеджера. Вік рукостискання — корисний операційний сигнал, і це не запис про доступ.

Схожі статті