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

Імпортований файл — не збережений профіль

Навколо кожної проблеми VPN кружляють три назви: назва з’єднання, назва імпортованого файлу та віртуальний інтерфейс, що з’являється, коли тунель піднімається. Жодна з них не ідентифікує збережену конфігурацію, а назву з’єднання можна змінити, тоді як файл за нею зберігає свій початковий ідентифікатор.

Почніть з опису лише для читання й виберіть потрібний VPN за ідентифікатором, а не за міткою:

nmcli -f NAME,UUID,TYPE connection show

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

Розташування keyfile не означають того самого

З нативним плагіном keyfile файли з’єднань можуть з’являтися в трьох каталогах, і різниця між ними — це стійкість, а не зручність.

LocationRole
/etc/NetworkManager/system-connections/Administrator-owned persistence
/usr/lib/NetworkManager/system-connections/Package-supplied defaults, replaced on upgrade
/run/NetworkManager/system-connections/Runtime state, regenerated and not durable

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

Документація keyfile додає деталь, яку варто поважати: ці файли можуть містити приватні ключі та парольні фрази, і NetworkManager ігнорує будь-який keyfile, який можуть читати або писати користувачі, відмінні від root. Розширення прав каталогу заради пошуку налаштування ламає ту поведінку завантаження, яку ви намагалися дослідити.

Коли стійкістю володіє Netplan

В Ubuntu інтеграція NetworkManager, описана в документації Netplan і доступна з 23.10, змінює місце, де живе довговічна копія. Для нетимчасових з’єднань вона записує /etc/netplan/90-NM-<connection UUID>.yaml і створює ефемерний профіль NetworkManager у /run/NetworkManager/system-connections/.

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

Документований приклад зберігає з’єднання OpenVPN через тип Netplan nm-devices з даними наскрізної передачі NetworkManager. Те, що Netplan не має власного тлумачення конкретного поля VPN, не означає, що збережений VPN втрачено; це означає, що поле подорожує як непрозорі дані.

Тимчасові інтерфейси — не профілі

Активація створює тимчасові віртуальні з’єднання та інтерфейси, які ніколи не мали зберігатися. Інтеграція навмисно не пише новий файл YAML для кожного з них, тому їхня відсутність у /etc/netplan нічого не говорить про те, чи збережено батьківський профіль.

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

Секрети та володіння

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

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

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

Схожі статті