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

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

Знайдіть UUID, а не назву профілю

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

nmcli connection show
nmcli connection show "Office VPN" | grep -i uuid

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

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

Спочатку перевірте обидві команди в терміналі

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

nmcli --ask connection up uuid 11111111-2222-4333-8444-555555555555
nmcli connection down uuid 11111111-2222-4333-8444-555555555555

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

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

Прив'яжіть два іменовані сполучення до одного UUID

У налаштуваннях клавіатури робочого столу створіть дві чітко названі дії, наприклад «Підключити офісну VPN» і «Відключити офісну VPN». Призначте різні сполучення клавіш і вставте перевірений UUID в обидві команди.

Називайте їх за наміром, а не за станом. Сполучення з назвою «Перемкнути» робить наступне натискання непередбачуваним; «Підключити» й «Відключити» точно описують, що буде запитано. Це робить список сполучень самодокументованим. Випадкове натискання все одно робить щось передбачуване.

Якщо робочий стіл використовує лаунчери desktop-entry, пам'ятайте, що лаунчер не виділяє термінал автоматично. Команда, якій потрібне інтерактивне введення, чекатиме там, де ніхто не може відповісти.

Розмістіть запит автентифікації там, де ви його бачите

Без --ask, nmcli запитує у працюючого агента секретів відсутні облікові дані. Це правильний шлях, коли робочий стіл уже обробляє автентифікацію цієї VPN і агент може показати власний запит. Перевірте просту команду «Підключити» просто зі сполучення, перш ніж вважати, що вона працює.

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

Для запису робочого столу Terminal=true запитує вікно термінала, а Terminal=false не запитує. Жодне з налаштувань не є причиною вміщувати пароль у командний рядок, надавати sudo без пароля або обходити політику автентифікації організації.

Перевірте готовність після натискання клавіші

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

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

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

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

Схожі статті