NetworkManager чи wg-quick: хто володіє вашими маршрутами WireGuard?
Два менеджери можуть претендувати на одне й те саме з’єднання WireGuard, і конфігурація, яку ви редагували, може бути не тією, що діє. Знайдіть власника за маршрутами, правилами та станом інтерфейсу.
Ви змінюєте AllowedIPs у файлі WireGuard, перезапускаєте тунель, а таблиця маршрутизації виглядає точно як раніше. Звичайна реакція — видалити заважаючий маршрут і рухатися далі; це працює, доки наступне перепідключення не поверне його. Файл, який ви редагували, не обов’язково той об’єкт, що створив стан, який ви бачите. Два менеджери можуть запускати один і той самий протокол на одній машині, і лише один із них володіє інтерфейсом у кожен момент.
Міф: на машині є одна конфігурація WireGuard
wg-quick читає файл у /etc/wireguard/ і будує інтерфейс, коли ви його піднімаєте. NetworkManager зберігає профіль з’єднання у власному форматі keyfile і відображає його під час активації, а імпорт файлу wg-quick копіює значення в цей профіль, а не посилається на нього. Правка оригіналу після цього нічого не змінює, бо профіль його більше не читає. Тому той самий список пірів і ключів може існувати двічі, і діє друга копія.
Ознака, яку варто запам’ятати: зміни, що переживають перезавантаження, але не повторний імпорт, прийшли з одного сховища, а зміни, що зникають при перезавантаженні, — з іншого.
Один практичний приклад робить поділ очевидним. Порівняйте nmcli connection show з systemctl status wg-quick@wg0, потім перевірте, за яким інтерфейсом насправді тримаються маршрути. Якщо служба мертва, а інтерфейс піднятий, роботу виконує профіль, що б не казав файл.
Міф: правила маршрутизації — частина WireGuard
Пристрій WireGuard у ядрі знає пірів і ключі й нічого не знає про політичну маршрутизацію. Які б ip rule записи й додаткові таблиці ви не бачили, їх встановив інструмент, що підняв інтерфейс. wg-quick може додати fwmark і окрему таблицю плюс правила, що вказують на неї, тоді як NetworkManager встановлює маршрути через власні налаштування ipv4 і залишає DNS тому резолверному бекенду, який використовує система. Той самий тунель, інші побічні ефекти.
Прочитайте ip rule і ip route show table all перш ніж щось змінювати, і занотуйте, у якій таблиці живе кожен маршрут. Номер таблиці, який ви не налаштовували, — сильна підказка про інструмент, що її створив.
Міф: видалення маршруту — це виправлення
Маршрут, видалений під час роботи, — це маршрут, який власник перевстановить при наступній активації, а активація може статися без вас: пробудження ноутбука, тремтіння каналу, перезапуск служби або автопідключення NetworkManager. Тому той самий маршрут повертається і тому обхідний шлях здається ненадійним, а не помилковим. Спершу визначте менеджер, потім змініть вхід, який цей менеджер справді читає.
Перепідключення й перезапуск відповідної служби — це тест, що відділяє справжнє виправлення від охайно виглядаючого.
Виберіть одного власника й приберіть іншого
Виберіть менеджер, який підтримує ваше розгортання, потім вимкніть конкуруючу активацію через його задокументоване керування, а не сподівайтеся, що вона залишиться бездіяльною. Замаскована служба wg-quick або видалений профіль NetworkManager — це явно; залишити обидві ввімкненими й дозволити їм ганятися — ні. Збережіть робочий доступ, перш ніж щось вимикати, бо інтерфейс, що несе вашу віддалену сесію, може бути саме тим, який ви збираєтеся прибрати.
Після зміни перевірте включений і виключений трафік, потім DNS, потім один раз перезавантажтеся. Якщо стан переживає перезавантаження з одним менеджером, у вас є власник, а не збіг.
Загальне правило варто пам’ятати й поза WireGuard: коли налаштування постійно повертається, перестаньте видаляти результат і знайдіть процес, який його постійно створює.