Käyttöönottoskriptit, jotka ilmoittavat virheestä ja jatkavat, ovat huonompia kuin skriptit, jotka eivät koskaan käynnisty. Asiakkaan asennus koskettaa suojattuja avaimia, identiteettiä yhdyskäytävässä ja palvelua, joka saattaa jo välittää liikennettä. Jokainen näistä tarvitsee pysäytysehdon, ja skriptin on tiedettävä, mihin vaiheeseen se pääsi pysähtyessään.

Käsittele koko asia yhtenä tapahtumana, jossa on viisi tarkistuspistettä, ja pane jokainen tarkistuspiste kieltäytymään jatkamasta omalta osaltaan.

Korjaa syötteet ennen tiedostojärjestelmään koskemista

Aloita nimenomaisesta sopimuksesta: yksi identiteetti, yksi profiilin lähde, yksi aiottu palvelun omistaja. Varmista, että profiili on olemassa, että sen viittaamat varmenne ja avain ovat luettavissa ja että kohdehakemisto kuuluu odotettuun pakettiin. Ratkeava polku ei ole todiste siitä, että sen takana oleva aineisto on täydellinen.

Hylkää tyhjät muuttujat varhain. Asettamaton $DEVICE, joka laajenee ei-mihinkään, muuttaa komennon install -m 400 $KEY /etc/openvpn/client/ hakemistoon kohdistuvaksi kopioksi, ja vika saapuu myöhemmin palveluna, joka ei voi lukea avaintaan.

Kokoa profiilijoukko valmisteluhakemistoon

Rakenna ensin täydellinen joukko yksityiseen paikkaan: profiili, CA, asiakasvarmenne, avain ja jokainen apuohjelma, jonka profiili kutsuu. Kopioi komennolla install -m 400 -o root -g root, jotta oikeudet asetetaan luotaessa eikä jälkeenpäin. Tarkista sitten profiilin sisäiset viittaukset, sillä suhteellinen rivi ca tai key ratkeaa yksikön työhakemistoa vasten heti, kun palvelu käynnistyy. Elävään hakemistoon ei pidä kirjoittaa mitään ennen kuin koko joukko validoituu.

Kirjaa ei-salainen sormenjälki siitä, mitä tämä ajo tuotti, esimerkiksi versiomerkinnän viereen tallennettu sha256sum office.conf. Juuri tämä yksi arvo antaa uusinta-ajolle mahdollisuuden erottaa päivityksen tekemättömyydestä.

Vaihda atomaarisesti ja säilytä edellinen joukko

Siirrä valmisteltu joukko paikalleen yhtenä toimintona siellä, missä tiedostojärjestelmä sen sallii, ja säilytä tarkastettu edellinen joukko aikaleimattuun nimeen. Osittainen kopio, joka jättää uuden profiilin vanhan avaimen viereen, tuottaa palvelun, joka todentuu väärällä identiteetillä eikä kirjaa mitään hyödyllistä syystä. Jos vaihto ei voi olla atomaarinen, järjestä siirrot niin, että profiili laskeutuu viimeisenä.

Kun kohde on jo olemassa, päätä nimenomaisesti, onko tämä ajo päivitys, identtinen uusinta-ajo vai ristiriita toisen laitteen profiilin kanssa. Toiselle identiteetille kuuluvan profiilin hiljainen ylikirjoitus on tapa, jolla kaksi konetta päätyvät jakamaan yhden varmenteen. Hylkää sen sijaan ajo ja nimeä ristiriitainen omistaja.

Aktivoi yksi omistaja ja todista se

Valitse yksi aktivointitapa, joko systemd-instanssi tai NetworkManager, ja käytä sitä johdonmukaisesti. Hallitsemattoman openvpn-prosessin käynnistäminen aktivoidun yksikön rinnalle johtaa kahteen tunneliin, kilpaileviin DNS-päivityksiin eikä selvään vastaukseen siitä, kumpaa pysäytyskomento kohdistaa. Tarkista aktivoinnin jälkeen systemctl is-active openvpn-client@office, sitten reitti etäprefiksiin, sitten resolvectl status tunnelin asentamalle resolverille. Lopeta saavuttamalla yksi resurssi, jota varten tunneli on olemassa.

Käynnissä oleva prosessi ja vihreä ilmaisinalueen kuvake ovat prosessin tosiasioita, eivät todiste siitä, että identiteetti ja liikennepolitiikka selvisivät luovutuksesta.

Uusinta-ajo ja poisto ovat erillisiä työnkulkuja

Toisen ajon pitäisi konvergoitua samoihin tarkastettuihin tiedostoihin ja samaan omistajaan, ei luoda toista tiliä tai toista taustapalvelua. Poisto on oma menettelynsä: pysäytä täsmällinen omistaja, arkistoi tai poista paikallinen profiili käytännön mukaan ja peru identiteetti yhdyskäytävässä. Paikallisen avaintiedoston poistaminen ei peru kopiota, joka on jo lähtenyt koneelta.

Pidä palautuspolku, joka ei riipu tunnelista, kuten konsolikäyttö tai toinen hallintareitti. Käyttöönoton muutos, joka lukitsee sinut ulos koneelta, on epäonnistunut muutos, vaikka jokainen vaihe ilmoitti onnistumisesta.

Skripti, joka kannattaa pitää, on tapahtuma omistajuuden ja todisteiden ympärillä. Lyhyt luettelo etuoikeutetuista kopiointikomennoista ei ole sama asia.

Aiheeseen liittyvät artikkelit