Адключыць аўтападключэнне 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 — гэта месца, дзе жыў бы хук, які выклікае nmcli connection up падчас падзеі інтэрфейсу. Хук нябачны ў рэдактары профіляў, таму ён перажывае ўсе эксперыменты са сцяжком.
Пакіньце ручны шлях працаздольным, бо гэта і ёсць сапраўднае патрабаванне.
Як выглядае правільны вынік
Профіль застаецца ўсталяваным разам са сваім шлюзам, сертыфікатам і ўліковымі данымі. Ён не актывуецца пры загрузцы і паднімаецца, калі вы яго папросіце. Гэтыя тры сцверджанні і ёсць крытэрый прыёмкі.
Запішыце UUID базавага злучэння ў runbook, бо менавіта гэты профіль вы будзеце правіць наступным разам.
VPN, які даступны, але не аўтаматычны, — гэта выбар канфігурацыі, а не адсутная функцыя, і да яго застаецца адна ўласцівасць.