Pravilo ponovnega zagona, dodano za en tunel, se začne uporabljati za vsak tunel na stroju. To ni napaka systemd; to je razlika med drop-inom instance in drop-inom predloge. Pot, pod katero zapišete datoteko, odloča, koliko storitev jo podeduje.

Obseg izberite pred nastavitvijo. Oba imenika sta videti skoraj enaka in samo eden od njiju je omejen na instanco, ki ste jo imeli v mislih.

Simptom: ena sprememba, vsi tuneli

Drop-in, značilen za instanco, leži v imeniku, poimenovanem po polni instanci, na primer [email protected]. Drop-in predloge leži v [email protected], z znakom @ in brez imena instance med njima. Prvi velja samo za office. Drugi velja za vsako storitev, ustvarjeno iz te predloge.

Oblika predloge ne doseže ločene predloge [email protected] in ne doseže nepovezanih storitev z openvpn v imenu.

Izberite imenik, ki ustreza obsegu

Oba imenika sta pod /etc/systemd/system/. Če izpustite zadnjo komponento system, nastane pot, ki je systemd ne bere kot sistemsko prepisovanje, in to je tih način, da datoteka, ki je videti pravilna, ne naredi ničesar. Zapišite celotno pot enkrat in jo znova uporabite.

Drop-in potrebuje tudi pravilen naslov razdelka. Nastavitve storitve spadajo pod [Service]. Datoteka z nastavitvami, a brez razdelka, se prezre ali zavrne, enota pa se še naprej obnaša kot prej, medtem ko datoteka tam leži in je videti avtoritativna.

Če dodate več kot en drop-in, ohranite namen v imenu datoteke. O združitvi odloča leksikografski vrstni red, ime, ki pove, kaj datoteka počne, pa ta vrstni red naredi berljiv.

Preberite združeno enoto pred pisanjem

Preberite združeno enoto, preden karkoli napišete. systemctl cat [email protected] izpiše glavno enoto in vsak veljaven drop-in v vrstnem redu združitve. Ko razmišljate o spremembi predloge, jo primerjajte z drugo instanco. Ta primerjava natančno pokaže, katere storitve bi podedovale spremembo.

Datoteka instance ne izbriše nastavitev predloge. Obe se združita, zato pozabljena vrednost predloge lahko še vedno velja.

Sodelujejo tudi drugi poimenovani drop-ini, nastavitve izvajanja in konfiguracija, ki jo dobavijo paketi. Ne domnevajte, da je zadnja urejena datoteka cela enota. Združeni izhod je enota.

Držite politiko enote zunaj profila

Držite politiko enote in konfiguracijo VPN ločeno. Direktiva profila ne postane veljavna sintaksa systemd samo zato, ker leži pod [Service]. Nastavitev ponovnega zagona tudi ne spada v datoteko .ovpn.

Ta ločitev je tudi razlog, da pravilo ponovnega zagona ni isto kot obnavljanje partnerjev, ki ga OpenVPN izvaja sam. Odločite se, kakšno vedenje želite, preden izberete obseg.

Uporabite in preverite instanco

Po spremembi znova naložite definicije upravitelja z systemctl daemon-reload. To nalaganje ne znova zažene tunela; le znova prebere datoteke enot. Nato uporabite predvideno dejanje življenjskega cikla na točni instanci.

Preverite tako, da znova preberete naloženo enoto in opazujete spremenjeno vedenje. Ponovni zagon, ki nosi aktivno delo, si zasluži načrtovano prekinitev, ne hitrega preizkusa na produkcijskem tunelu. Zapišite namen in obseg prepisa ob namestitvi, da bo naslednja oseba vedela, ali je bila datoteka mišljena za deljenje.

Če je politika res skupna, jo namerno premaknite v predlogo in preverite drugo instanco, preden jo razglasite za dokončano.Referenca enot systemd dokumentira prednost drop-inov in vrstni red združitve.

Sorodni članki