Изключване на автоматичното свързване на VPN без изтриване на профила
NetworkManager не свързва VPN профили автоматично сам. Причината е запис secondaries в основната връзка и именно той трябва да се промени.
При всяко стартиране тунелът се появява, преди някой да е решил да го използва, а отметката, която изглежда отговорна, не прави нищо, когато бъде изчистена. Това не е дефект в интерфейса. 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, който е наличен, но не е автоматичен, е избор на конфигурация, а не липсваща функция, и е на едно свойство разстояние.