Сцэнары разгортвання, якія паведамляюць пра памылку і працягваюць працу, горш за сцэнары, якія не запускаюцца ўвогуле. Налада кліента закранае абароненыя ключы, ідэнтычнасць на шлюзе і службу, якая можа ўжо абслугоўваць трафік. Кожнаму з гэтага патрэбна ўмова спынення, і сцэнару трэба ведаць, да якога этапу ён дайшоў, калі спыніўся.

Разглядайце ўсё як адну трансакцыю з пяццю кропкамі праверкі, і няхай кожная кропка адмаўляецца працягваць сама па сабе.

Выпраўце ўваходныя даныя, перш чым кранаць файлавую сістэму

Пачніце з яўнай дамовы: адна ідэнтычнасць, адна крыніца профілю, адзін прызначаны ўласнік службы. Праверце, што профіль існуе, што сертыфікат і ключ, на якія ён спасылаецца, чытэльныя, і што мэтавы каталог належыць чаканаму пакету. Шлях, які развязваецца, не з’яўляецца доказам таго, што матэрыял за ім поўны.

Адхіляйце пустыя зменныя адразу. Незададзеная $DEVICE, якая разгортваецца ў нішто, ператварае install -m 400 $KEY /etc/openvpn/client/ у копію, накіраваную на каталог, і збой прыходзіць пазней як служба, якая не можа прачытаць свой ключ.

Сабярыце набор профілю ў падрыхтоўчым каталогу

Спачатку пабудуйце поўны набор у прыватным месцы: профіль, CA, кліенцкі сертыфікат, ключ і любую дапаможную праграму, якую выклікае профіль. Капіруйце праз install -m 400 -o root -g root, каб правы задаваліся пры стварэнні, а не пасля. Затым праверце спасылкі ўнутры профілю, бо адносны радок ca або key развязваецца адносна працоўнага каталога юніта, як толькі служба запусціцца. Нічога не павінна пісацца ў жывы каталог, пакуль увесь набор не праверыцца.

Запішыце не сакрэтны адбітак таго, што сфармаваў гэты запуск, напрыклад sha256sum office.conf побач з маркерам версіі. Менавіта гэтае адзінае значэнне дазваляе паўторнаму запуску адрозніць абнаўленне ад бездзеяння.

Замяняйце атамна і захоўвайце папярэдні набор

Перамясціце падрыхтаваны набор на месца адной аперацыяй, дзе файлавая сістэма гэта дазваляе, і захавайце правераны папярэдні набор пад імем з адзнакай часу. Частковая копія, якая пакідае новы профіль побач са старым ключом, стварае службу, што аўтэнтыфікуецца з няправільнай ідэнтычнасцю і не запісвае нічога карыснага пра прычыну. Калі замена не можа быць атамнай, упарадкуйце перамяшчэнні так, каб профіль апынуўся апошнім.

Калі мэта ўжо існуе, яўна вырашыце, ці гэты запуск — абнаўленне, ідэнтычны паўтор ці канфлікт з профілем іншай прылады. Маўклівае перазапісванне профілю, які належыць іншай ідэнтычнасці, — гэта шлях, якім дзве машыны пачынаюць дзяліць адзін сертыфікат. Замест гэтага адхіліце запуск і назвіце ўласніка, які канфліктуе.

Актывуйце аднаго ўласніка і дакажыце гэта

Выберыце адзін шлях актывацыі — асобнік systemd або NetworkManager — і выкарыстоўвайце яго паслядоўна. Запуск некіраванага працэсу openvpn побач з уключаным юнітам дае два тунелі, канкуруючыя абнаўленні DNS і няма яснага адказу, на які з іх накіравана каманда спынення. Пасля актывацыі праверце systemctl is-active openvpn-client@office, затым маршрут да выдаленага прэфікса, затым resolvectl status для рэзалвера, які ўсталяваў тунель. Скончыце тым, што дасягніце аднаго рэсурсу, дзеля якога існуе тунель.

Працуючы працэс і зялёная іконка ў трэі — гэта факты працэсу, а не доказ таго, што ідэнтычнасць і палітыка трафіку перажылі перадачу.

Паўторны запуск і вывад — розныя працэсы

Другі запуск павінен сыходзіцца да тых жа правераных файлаў і таго ж уласніка, а не ствараць другі ўліковы запіс або другі дэман. Вывад — гэта асобная працэдура: спыніце дакладнага ўласніка, заархівуйце або выдаліце лакальны профіль паводле палітыкі і адклічце ідэнтычнасць на шлюзе. Выдаленне лакальнага файла ключа не адклікае копію, якая ўжо пакінула машыну.

Захоўвайце шлях аднаўлення, які не залежыць ад тунеля, напрыклад доступ да кансолі або другі маршрут кіравання. Змена разгортвання, якая замыкае вас знутры, — гэта няўдалая змена, нават калі кожны этап паведаміў пра поспех.

Сцэнар, які варта захаваць, — гэта трансакцыя вакол уласнасці і доказаў. Кароткі спіс прывілеяваных каманд капіравання — не тое ж самае.

Падобныя артыкулы