Під час кожного завантаження тунель піднімається раніше, ніж хтось вирішив ним користуватися, а прапорець, що виглядає відповідальним, після зняття нічого не робить. Це не помилка інтерфейсу. NetworkManager не підключає профілі VPN сам; VPN запускається тому, що базове з'єднання називає його. Виправлення в іншому профілі, і це одна властивість.

Прапорець, який ви знімаєте, не враховується

У профілю VPN є власна властивість автопідключення, і для VPN-з'єднань менеджер не використовує її, щоб щось запускати. Зняття робить профіль читабельним однаково і не змінює поведінки, і саме тому несподіванка зберігається після правки.

Задокументований механізм — це список вторинних з'єднань у базовому профілі. Коли з'єднання Wi-Fi або Ethernet активується, менеджер активує також перелічені там UUID VPN. Сьогодні в цьому списку підтримуються лише з'єднання VPN, і якщо в ньому кілька записів, одна правка впливає на всі.

Пріоритет автопідключення впорядковує кандидатів; він теж не вимикач.

Прочитайте обидва профілі перед правкою

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

nmcli -f NAME,UUID,TYPE connection show
nmcli -f connection.secondaries connection show "Wired connection 1"
nmcli -f connection.autoconnect,connection.autoconnect-priority connection show "Work VPN"

У графічному редакторі ті самі значення показані під різними назвами. На вкладці General базового з'єднання є налаштування автоматичного підключення і, якщо плагін встановлено, можливість піднімати разом із ним VPN. Перекладений робочий стіл може назвати поле пріоритету автоматичним з'єднанням із пріоритетом, що не є перемикачем увімкнення. Плутанина між ними дає знятий прапорець і незмінне завантаження.

Видаліть один запис, а не весь список

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

nmcli connection modify uuid BASE_UUID -connection.secondaries VPN_UUID
nmcli -f connection.secondaries connection show "Wired connection 1"

Перевірте список до і після, особливо на машині, яка залежить від другого VPN.

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

Перевіряйте справжній перехід, а не ручне перезавантаження

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

nmcli connection show --active
ip -brief address
ip route get 10.8.0.1

Якщо тунель усе ще з'являється, залишковим власником зазвичай є скрипт. Журнал менеджера показує, який профіль було активовано і коли, а каталог dispatcher — це місце, де жив би hook, що викликає nmcli connection up під час події інтерфейсу. Hook не видно в редакторі профілів, тому він переживає кожен експеримент із прапорцем.

Тримайте ручний шлях робочим, бо це і є справжня вимога.

Як виглядає добрий результат

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

Запишіть UUID базового з'єднання в runbook, бо саме цей профіль ви будете правити наступного разу.

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

Схожі статті