OpenVPN-kliendi seadistamine etappidega, mis vea korral peatuvad
Viis etappi takistavad seadistusskriptil jätta pooliku paigalduse: kontrolli sisendid, valmista komplekt ette, vaheta aatomiliselt, aktiveeri üks omanik, kavanda kasutusest kõrvaldamine.
Seadistusskriptid, mis teatavad veast ja jätkavad, on halvemad kui skriptid, mis ei käivitu kunagi. Kliendi seadistamine puudutab kaitstud võtmeid, identiteeti lüüsil ja teenust, mis võib juba liiklust teenindada. Igaüks neist vajab peatumistingimust ja skript peab teadma, millise etapini see peatumisel jõudis.
Käsitle kogu asja ühe tehinguna, millel on viis kontrollpunkti, ja pane iga kontrollpunkt ise jätkamast keelduma.
Paranda sisendid enne failisüsteemi puudutamist
Alusta selgesõnalise lepinguga: üks identiteet, üks profiili allikas, üks kavandatud teenuse omanik. Kontrolli, et profiil on olemas, et sertifikaat ja võti, millele see viitab, on loetavad, ja et sihtkataloog kuulub oodatud paketile. Lahenduv tee ei ole tõestus, et selle taga olev materjal on terviklik.
Lükka tühjad muutujad varakult tagasi. Määramata $DEVICE, mis laieneb mitte millekski, muudab install -m 400 $KEY /etc/openvpn/client/ kataloogile suunatud koopiaks ja tõrge saabub hiljem teenusena, mis ei suuda oma võtit lugeda.
Pane profiilikomplekt kokku ettevalmistuskataloogis
Ehita esmalt täielik komplekt privaatses kohas: profiil, CA, kliendisertifikaat, võti ja iga abiprogramm, mida profiil kutsub. Kopeeri käsuga install -m 400 -o root -g root, et õigused seataks loomisel, mitte hiljem. Seejärel kontrolli profiili siseseid viiteid, sest suhteline rida ca või key lahendatakse üksuse töökataloogi suhtes kohe, kui teenus käivitub. Elavasse kataloogi ei tohi midagi kirjutada enne, kui kogu komplekt valideerub.
Salvesta mitte-salajane sõrmejälg sellest, mida see käivitus tootis, näiteks versioonimärgise kõrvale salvestatud sha256sum office.conf. Just see üks väärtus võimaldab korduskäivitusel eristada uuendust tegevusetusest.
Vaheta aatomiliselt ja säilita eelmine komplekt
Liiguta ettevalmistatud komplekt oma kohale ühe toiminguna, kus failisüsteem seda lubab, ja säilita üle vaadatud eelmine komplekt ajatempliga nime all. Osaline koopia, mis jätab uue profiili vana võtme kõrvale, loob teenuse, mis autendib vale identiteediga ega logi põhjuse kohta midagi kasulikku. Kui vahetus ei saa olla aatomiline, järjesta liigutused nii, et profiil maandub viimasena.
Kui siht on juba olemas, otsusta selgesõnaliselt, kas see käivitus on uuendus, identne korduskäivitus või konflikt teise seadme profiiliga. Teisele identiteedile kuuluva profiili vaikne ülekirjutamine on viis, kuidas kaks masinat hakkavad ühte sertifikaati jagama. Keeldu käivitamast ja nimeta konflikti põhjustav omanik.
Aktiveeri üks omanik ja tõesta seda
Vali üks aktiveerimistee, kas systemd eksemplar või NetworkManager, ja kasuta seda järjekindlalt. Haldamata openvpn protsessi käivitamine lubatud üksuse kõrval annab kaks tunnelit, konkureerivad DNS-uuendused ja selge vastuse puudumise, millist neist peatuskäsk sihib. Pärast aktiveerimist kontrolli systemctl is-active openvpn-client@office, seejärel marsruuti kaugprefiksini, seejärel resolvectl status tunneliga paigaldatud resolveri jaoks. Lõpeta jõudmisega ühe ressursini, mille jaoks tunnel olemas on.
Töötav protsess ja roheline süsteemisalve ikoon on protsessi faktid, mitte tõestus, et identiteet ja liikluspoliitika üleandmise üle elasid.
Korduskäivitus ja kasutusest kõrvaldamine on eraldi töövood
Teine käivitus peaks koonduma samadele üle vaadatud failidele ja samale omanikule, mitte looma teist kontot või teist deemonit. Kasutusest kõrvaldamine on omaette protseduur: peata täpne omanik, arhiveeri või kustuta kohalik profiil vastavalt poliitikale ja tühista identiteet lüüsil. Kohaliku võtmefaili kustutamine ei tühista koopiat, mis on masinast juba lahkunud.
Hoia taastetee, mis ei sõltu tunnelist, näiteks konsoolipääs või teine haldusmarsruut. Seadistusmuudatus, mis lukustab su masinast välja, on ebaõnnestunud muudatus ka siis, kui iga etapp teatas edust.
Skript, mida tasub hoida, on tehing omandi ja tõendite ümber. Lühike loetelu privilegeeritud kopeerimiskäskudest ei ole sama asi.