Yksi OpenVPN drop-in muutti kaikki tunnelit: instanssi vai mallipohja
Instanssihakemistossa oleva drop-in koskee yhtä tunnelia; mallipohjan hakemisto koskee niitä kaikkia. Lue yhdistetty unit ennen polun valintaa.
Yhdelle tunnelille lisätty uudelleenkäynnistyskäytäntö alkaa koskea jokaista koneen tunnelia. Tämä ei ole systemd-virhe; se on ero instanssin drop-inin ja mallipohjan drop-inin välillä. Polku, jonka alle kirjoitat tiedoston, ratkaisee, kuinka moni palvelu perii sen.
Valitse laajuus ennen asetusta. Kaksi hakemistoa näyttävät lähes samoilta, ja vain toinen niistä rajoittuu tarkoittamaasi instanssiin.
Oire: yksi muokkaus, kaikki tunnelit
Instanssikohtainen drop-in sijaitsee hakemistossa, joka on nimetty täyden instanssin mukaan, esimerkiksi [email protected]. Mallipohjan drop-in sijaitsee hakemistossa [email protected], jossa on @-merkki eikä instanssin nimeä niiden välissä. Ensimmäinen koskee vain instanssia office. Toinen koskee jokaista palvelua, joka luodaan kyseisestä mallipohjasta.
Mallipohjan muoto ei yllä erilliseen [email protected]-mallipohjaan eikä yllä riippumattomiin palveluihin, joiden nimessä on openvpn.
Valitse hakemisto, joka vastaa laajuutta
Molemmat hakemistot ovat hakemiston /etc/systemd/system/ alla. Jos jätät viimeisen system-komponentin pois, syntyy polku, jota systemd ei lue järjestelmän ohituksena, ja se on hiljainen tapa saada oikealta näyttävä tiedosto tekemään ei mitään. Kirjoita täysi polku kerran ja käytä sitä uudelleen.
Drop-in tarvitsee myös oikean osion otsikon. Palvelun asetukset kuuluvat [Service]-osion alle. Tiedosto, jossa on asetuksia mutta ei osiota, jätetään huomiotta tai hylätään, ja unit käyttäytyy edelleen kuten ennen, kun tiedosto istuu siellä arvovaltaisena.
Pidä tarkoitus tiedostonimessä, jos lisäät useamman kuin yhden drop-inin. Yhdistämisen ratkaisee aakkosjärjestys, ja nimi, joka kertoo mitä tiedosto tekee, tekee siitä järjestyksestä luettavan.
Lue yhdistetty unit ennen kirjoittamista
Lue yhdistetty unit ennen kuin kirjoitat mitään. systemctl cat [email protected] tulostaa pääunitin ja jokaisen sovellettavan drop-inin yhdistämisjärjestyksessä. Vertaa sitä toiseen instanssiin, kun harkitset mallipohjan muutosta. Tämä vertailu näyttää tarkalleen, mitkä palvelut perisivät muutoksen.
Instanssitiedosto ei poista mallipohjan asetuksia. Molemmat yhdistetään, joten unohtamasi mallipohjan arvo voi olla yhä voimassa.
Myös muut nimetyt drop-init, ajonaikaiset asetukset ja pakettien toimittama konfiguraatio osallistuvat. Älä oleta, että viimeksi muokkaamasi tiedosto on koko unit. Yhdistetty tuloste on unit.
Pidä unitin käytäntö profiilin ulkopuolella
Pidä unitin käytäntö ja VPN-konfiguraatio erillään. Profiilin direktiivi ei muutu kelvolliseksi systemd-syntaksiksi siksi, että se on [Service]-osion alla. Uudelleenkäynnistysasetus ei myöskään kuulu .ovpn-tiedostoon.
Tämä erottelu on myös syy siihen, miksi uudelleenkäynnistyskäytäntö ei ole sama asia kuin se vertaisten palautuminen, jonka OpenVPN tekee itse. Päätä, millaista käyttäytymistä haluat, ennen kuin valitset laajuuden.
Ota se käyttöön ja varmista instanssi
Muutoksen jälkeen lataa hallinnan määritelmät uudelleen komennolla systemctl daemon-reload. Tämä uudelleenlataus ei käynnistä tunnelia uudelleen; se vain lukee unit-tiedostot uudelleen. Käytä sen jälkeen aiottu elinkaaritoimenpide täsmälleen oikeaan instanssiin.
Varmista lukemalla ladattu unit uudelleen ja seuraamalla muuttamaasi käyttäytymistä. Uudelleenkäynnistys, joka kantaa aktiivista työtä, ansaitsee suunnitellun keskeytyksen, ei pikakokeilua tuotantotunnelilla. Kirjaa ohituksen tarkoitus ja laajuus käyttöönoton viereen, jotta seuraava henkilö tietää, oliko tiedosto tarkoitettu jaettavaksi.
Jos käytäntö on todella yhteinen, siirrä se tarkoituksella mallipohjaan ja tarkista toinen instanssi ennen kuin kutsut työtä valmiiksi.systemd unit -viite dokumentoi drop-inin etusijan ja yhdistämisjärjestyksen.