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

Ім'я розв'язується один раз, а не постійно

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

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

Порівняйте запис з адресою, що використовується

Запитайте документоване ім'я через резолвер, який використовує клієнт, потім запитайте інтерфейс, яку кінцеву точку він тримає. Дві відповіді складають порівняння, що вирішує решту цієї сторінки:

dig +short vpn.example.net
wg show wg0 endpoints
wg show wg0 latest-handshakes

Керівництво wg(8) документує підкоманди show, які використовують ці рядки. Порівняйте також родину адрес, а не лише адресу, бо запис, який отримав запис IPv6, — це інше порівняння, ніж запис, у якого змінилася адреса IPv4. Якщо кінцева точка відрізняється від запису, інтерфейс працює зі застарілою інформацією, і ім'я ніколи не було проблемою. Якщо вони збігаються, а тунель досі не працює, переходьте до слухача й правил, а не до профілю.

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

Перезапустіть через менеджер інтерфейсу

Після підтвердження того, що кінцева точка застаріла, оновіть її через механізм, якому належить інтерфейс замість редагування робочої конфігурації. Для інтерфейсу, запущеного wg-quick, це опускання й підняття, для юніта systemd це перезапуск, а для інтерфейсу, що належить менеджеру, це зміна, зроблена в тому менеджері, бо правка під час роботи перезаписується під час наступного застосування:

wg-quick down wg0 && wg-quick up wg0
systemctl restart wg-quick@wg0

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

Спочатку рукостискання, потім шлях даних

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

Запишіть ім'я, розв'язану адресу, використовувану кінцеву точку й те, чи завершилося рукостискання. Ці чотири факти відповідають на питання, яке ця несправність ставить постійно, і роблять наступний випадок двіхвилинною перевіркою. Обслуговування імен і впровадження в клієнтів залишаються окремими завданнями: виправлення запису не виконує впровадження, а перезапуск інтерфейсу не виправляє запис, який досі неправильний.

Схожі статті