Більшість зібраних вручну збоїв WireGuard зводяться до того, який ключ куди потрапив. Розділ інтерфейсу містить приватний ключ пристрою, який ви налаштовуєте, а розділ партнера — публічний ключ машини на іншому кінці. Переплутати ці половини або вставити не ту означає отримати рукостискання, яке ніколи не завершиться, і журнал, який ніколи не назве ключ. Виконайте чотири перевірки нижче по черзі, перш ніж торкатися AllowedIPs або DNS.

Два ключі, два напрямки

Приватний ключ належить рівно одному пристрою і залишається в розділі інтерфейсу цього пристрою. Його публічна половина потрібна кожному іншому партнеру, щоб упізнавати пристрій, і інструменти виводять її, а не вигадують. На сервері публічний ключ вашого пристрою виглядає як запис партнера; на вашому пристрої цю роль виконує публічний ключ сервера. Якщо читати конфігурацію вголос у цих термінах, більшість плутанин виявляється ще до рукостискання.

Команда wg показує, що насправді використовує локальний інтерфейс, зокрема обидва публічні ключі. Тому це найшвидший спосіб відокремити помилку конфігурації від проблеми зі з’єднанням:

wg show
wg show interfaces

Перший вивід перелічує кожного партнера з його публічним ключем, останньою використаною кінцевою точкою та віком останнього рукостискання. Вік рукостискання «ніколи» з одного боку й недавній з іншого вказують на ключ, який прийняв лише один кінець. Друга команда називає інтерфейси, які можна дослідити далі.

Що передавати і що ніколи

Публічний ключ призначений для передачі, хоч він усе ще ідентифікує зв’язок пристроїв, тому надіслати його адміністратору, який його попросив, — не те саме, що опублікувати. Приватний ключ ніколи не залишає пристрій, який його створив. Експортований профіль або QR-код містить усю конфігурацію, включно з цим приватним ключем, тож ні те, ні інше небезпечно передавати, а сховати текст у зображенні нічого не змінює. Попередньо спільні ключі необов’язкові й так само секретні, і обидва кінці повинні мати однакове значення, інакше рукостискання зупиняється на цьому етапі.

Ще одну відмінність варто сказати прямо: кінцева точка — це адреса й порт, ніколи не ключ. Вставлення публічного ключа в поле кінцевої точки або адреси в поле ключа дає профіль, який розбирається і потім нічого не робить. Інструменти цього не помітять, бо обидва поля — просто рядки. Швидкий старт WireGuard показує ланцюжок створення й виведення в одному рядку.

Один пристрій, один запис партнера

Там, де сервіс це дозволяє, кожен пристрій повинен мати власний ідентифікатор партнера. Якщо вставити повний профіль ноутбука в телефон, стає незрозуміло, який пристрій тримає цей ідентифікатор на сервері, і відкликати одну загублену трубку складніше. Якщо приватний ключ витік, видаліть старий дозвіл партнера на сервері й підготуйте заміну. Видалення локального файлу не прибирає запис на сервері, а новий клієнтський ключ нікому не допоможе, доки сервер не знає його публічної половини.

Тримайте відповідність пристрою й публічного ключа поруч зі списком адрес. Саме цей список перетворює відкликання на завдання на дві хвилини, а не на цілий день.

Що все ще ламається після рукостискання

Пари ключів ідентифікують партнерів; вони не вирішують за поведінку мережі. AllowedIPs пов’язує діапазони адрес з партнером, а маршрутами навколо керує клієнт або інструмент налаштування. Симптом зазвичай підказує, який рівень відкривати далі:

What you seeWhich key problem it usually meansWhere to look first
Handshake age stays at never on both endsPeer public key missing, or an endpoint pointing at nothingwg show, then the endpoint value
Handshake completes on one side onlyThe two ends hold different public keys for each otherwg show on both hosts
Handshake works, then no trafficAllowedIPs or routes rather than keyswg show and the route table
Worked until a key was regeneratedThe peer entry still holds the old public keyCompare both public keys, then update the peer

DNS може відмовити після того, як обидва партнери успішно пройшли автентифікацію, а застосунок може зламатися при здоровому тунелі, тож робоче рукостискання — не кінець діагностики. Ключі також нічого не кажуть про практику журналювання оператора чи про те, чи впізнає сайт ваш обліковий запис, і ці питання належать іншому місцю. Переходьте до мережевих рівнів, коли чотири перевірки пройдено, бо відсутній ключ — не замаскована проблема маршрутизації.

Схожі статті