Праграма VPN ад пастаўшчыка супраць NetworkManager: каму належыць стан?
Профіль называе плагін, а не паводзіны кліента пастаўшчыка. Складзіце карту, хто валодае рэгістрацыяй, DNS, блакаваннем і абнаўленнямі, перш чым перамыкаць кіраваны ноўтбук.
Імпарт профілю — не тое самае, што замена кліента. NetworkManager захоўвае тып плагіна разам з данымі і сакрэтамі, спецыфічнымі для плагіна, і плагін, якому належыць гэты тып, вырашае, што можа рабіць злучэнне. Усё, што праграма пастаўшчыка накладае зверху, ад рэгістрацыі да пастаяннага блакавання, жыве па-за файлам. Ці бяспечна пераключэнне, залежыць ад таго, на якія з гэтых узроўняў вы сапраўды спадзяяцеся.
Файл называе плагін, а не набор функцый
Даведнік па наладах VPN ад NetworkManager апісвае тып сэрвісу, які выбірае плагін, а таксама непразрысты слоўнік даных і слоўнік сакрэтаў, якія інтэрпрэтуе толькі плагін. Профіль — гэта дамова з адной рэалізацыяй, а не апісанне паводзін, якія можа ўзнавіць любы кліент. Два кліенты могуць гаварыць на адным пратаколе і ўсё ж адрознівацца ў тым, што яны ўзгадняюць і якія шляхі даных уключаюць. Назва пратакола гаворыць, чым з'яўляецца тунель, і ніколі — што робіць з ім навакольны кліент.
Таму параўноўвайце патрабаванні, а не абгорткі. Пытанне не ў тым, ці можа альтэрнатыва падключыцца, бо звычайна можа; пытанне ў тым, ці вытрывае пераезд кожнае патрабаванне, якое рабіла зыходны кліент прыдатным. Запішыце гэтыя патрабаванні перад усталяваннем чаго-небудзь, інакш параўнанне ператворыцца ў пошук таго, што зламаецца першым.
Што праграма пастаўшчыка дадае вакол тунеля
Кліенты пастаўшчыкоў звычайна аб'ядноўваюць рэгістрацыю і праверкі стану прылады, паток другога фактара з уласным інтэрфейсам, пастаяннае блакаванне, канал абнаўленняў і інструменты падтрымкі. Частка гэтага стаіць побач з пратаколам, а частка — асобны прадукт, які проста дзеліць усталёўшчык. NetworkManager можа замяніць тунель і яго маршрутызацыю, а скрыпты дыспетчара могуць выконваць дзеянні пры змене стану злучэння. Ён не ўзнаўляе рухавік блакавання, працэс абнаўлення сертыфіката або дапушчэнне пра тое, які карыстальнік можа ўзняць злучэнне.
Больш кампанентаў не азначае бяспечней, а менш не азначае слабей. Пытанне ў тым, які кампанент выконвае палітыку, якой вам сказалі прытрымлівацца. Калі аўдытар спытае, што блакуе трафік, калі тунель падае, адказ павінен назваць нешта, што сапраўды гэта робіць, і профіль, які толькі падключаецца, такім адказам не з'яўляецца.
Дзе валоданне сапраўды адрозніваецца
Чытайце гэта як карту валодання, а не як спіс праверкі, бо збоі ніжэй — гэта прабелы ў валоданні, і ніякая колькасць наладаў кліента іх не закрые. Кожны радок называе ўзровень, бок, які звычайна трымае яго сёння, і дзе прабел выяўляецца першым.
| Layer | Vendor application | NetworkManager connection | Where the gap shows up |
|---|---|---|---|
| Enrollment and posture | built into the client | absent unless something else supplies it | a managed device fails its next posture check |
| Address and resolver authority | the client sets both | the plugin plus dispatcher scripts | names resolve through the wrong resolver after a state change |
| Blocking on drop | a bundled engine | nothing by default | traffic continues in the clear after the tunnel dies |
| Upgrade path | the vendor's own channel | the distribution package and its plugin | a plugin update changes behaviour with no vendor note |
| Diagnostics and support | vendor tooling with client state | journal and dispatcher output | support cannot see why negotiation failed |
Далучайце да кожнага радка назіранне, якое можна паўтарыць, а не пачуццё пра кліента. Імя, якое развязалася праз мэтавы рэзалвер, маршрут, які знікае, калі тунель спыняецца, і заблакаванае злучэнне пасля імітаванага разрыву — гэта тры назіранні, якія разам пакрываюць большую частку табліцы. Запішыце назіранне побач з патрабаваннем, якое яно даказвае, і захавайце тыя, што не ўдаліся, бо няўдалае назіранне — адзіная частка запісу, якая прадказвае наступны інцыдэнт.
Пераключэнне без перасячэння валодання
Адначасовае ўключэнне кліента пастаўшчыка і злучэння NetworkManager для аднаго і таго ж сэрвісу — самы часты спосаб, якім гэтыя параўнанні ідуць не так. Абодва ўсталёўваюць маршруты, абодва могуць задаваць DNS, і абодва могуць закранаць стан файрвола. То, што вы потым вымераеце, — трэцяя канфігурацыя, якая не адпавядае дакументаваным паводзінам ні аднаго з кліентаў.
nmcli -f NAME,UUID,TYPE connection show
nmcli connection show work --show-secrets | grep -E "^vpn\."
journalctl -u NetworkManager -b --since "10 min ago"Першая каманда кажа, ці з'яўляецца профіль увогуле тыпам VPN. Другая паказвае тып сэрвісу плагіна і якія сакрэты захаваны, што важна, калі ключ чакаецца ад агента, а не з файла. Журнал — гэта месца, дзе плагін, які загрузіўся, але не змог дамовіцца, скажа пра гэта. Калі ж ніводная з трох не пакажа праблемы, прабел знаходзіцца ва ўзроўнях палітыкі над тунелем, а не ў злучэнні.
Адключыце стары кліент перад уключэннем новага злучэння, пакіньце канчатковыя пункты і ўліковы запіс аднолькавымі і запішыце, які кампанент валодае маршрутамі, наладамі рэзалвера і блакаваннем. Менавіта гэтая нататка не дае наступнаму абнаўленню скончыцца двума ўладальнікамі.