Isang drop-in ng OpenVPN ang nagbago sa lahat ng tunnel: instance kumpara sa template
Ang drop-in sa ilalim ng direktoryo ng instance ay humahawak sa isang tunnel; ang direktoryo ng template ay humahawak sa lahat. Basahin ang pinagsamang unit bago pumili ng landas.
Ang patakaran sa restart na idinagdag para sa isang tunnel ay nagsisimulang magamit sa bawat tunnel sa makina. Hindi ito bug ng systemd; ito ang pagkakaiba ng drop-in ng instance at drop-in ng template. Ang landas na pinagsusulatan mo ng file ang tumutukoy kung ilang serbisyo ang magmamana nito.
Piliin ang saklaw bago ang setting. Magkamukha halos ang dalawang direktoryo, at isa lang sa kanila ang limitado sa instance na ibig mong sabihin.
Ang sintomas: isang pag-edit, lahat ng tunnel
Ang drop-in na partikular sa instance ay nasa ilalim ng direktoryo na pinangalanan sa buong instance, halimbawa [email protected]. Ang drop-in ng template ay nasa ilalim ng [email protected], may tandang @ at walang pangalan ng instance sa gitna. Ang una ay para lamang sa office. Ang pangalawa ay para sa bawat serbisyong ginawa mula sa template na iyon.
Hindi naaabot ng anyong template ang hiwalay na template na [email protected], at hindi naaabot ang mga serbisyong walang kaugnayan na may openvpn sa pangalan.
Piliin ang direktoryong tumutugma sa saklaw
Ang dalawang direktoryo ay nasa ilalim ng /etc/systemd/system/. Kung aalisin mo ang huling bahaging system, gagawa ito ng landas na hindi binabasa ng systemd bilang system override, at ito ay tahimik na paraan para gawing walang ginagawa ang isang file na mukhang tama. Isulat ang buong landas nang isang beses at gamitin itong muli.
Kailangan din ng drop-in ang tamang pamagat ng seksyon. Ang mga setting ng serbisyo ay nasa ilalim ng [Service]. Ang file na may mga setting pero walang seksyon ay binabalewala o tinatanggihan, at patuloy na kumikilos ang unit gaya ng dati habang nakalagay doon ang file na mukhang may awtoridad.
Panatilihin ang layunin sa pangalan ng file kung magdadagdag ka ng higit sa isang drop-in. Ang pagkakasunod-sunod na leksikograpiko ang nagpapasya sa pagsasama, at ang pangalang nagsasabi ng ginagawa ng file ay ginagawang madaling basahin ang order na iyon.
Basahin ang pinagsamang unit bago magsulat
Basahin ang pinagsamang unit bago magsulat ng anuman. Ipinapakita ng systemctl cat [email protected] ang pangunahing unit at bawat drop-in na naaangkop, sa order ng pagsasama. Ihambing ito sa pangalawang instance kapag isinasaalang-alang mo ang pagbabago ng template. Ipinapakita ng paghahambing na iyon kung aling mga serbisyo ang magmamana ng pag-edit.
Hindi binubura ng file ng instance ang mga setting ng template. Pinagsasama ang dalawa, kaya ang halaga ng template na nakalimutan mo ay maaaring may bisa pa rin.
Sumasali rin ang iba pang pinangalanang drop-in, mga setting sa runtime at konfigurasyong ibinibigay ng mga package. Huwag ipagpalagay na ang file na huling na-edit mo ay ang buong unit. Ang pinagsamang output ang unit.
Ilagay ang patakaran ng unit sa labas ng profile
Paghiwalayin ang patakaran ng unit at ang konfigurasyon ng VPN. Ang direktiba ng profile ay hindi nagiging wastong syntax ng systemd dahil lang nasa ilalim ito ng [Service]. Ang setting ng restart ay hindi rin kabilang sa file na .ovpn.
Ang paghihiwalay na ito ang dahilan kung bakit ang patakaran sa restart ay hindi kapareho ng OpenVPN sariling pagbawi ng peer. Magpasya kung anong pag-uugali ang gusto mo bago pumili ng saklaw.
Ilapat ito at i-verify ang instance
Pagkatapos ng pagbabago, i-reload ang mga depinisyon ng manager gamit ang systemctl daemon-reload. Hindi nire-restart ng reload na iyon ang tunnel; binabasa lang nitong muli ang mga file ng unit. Pagkatapos, ilapat ang aksyong siklo ng buhay na nilayon mo sa eksaktong instance.
I-verify sa pamamagitan ng muling pagbasa sa na-load na unit at pagmamasid sa pag-uugaling binago mo. Ang restart na may bitbit na aktibong trabaho ay karapat-dapat sa planadong pagkaantala, hindi sa mabilisang pagsubok sa production tunnel. Isulat ang layunin at saklaw ng override sa tabi ng deployment para malaman ng susunod na tao kung ang file ay dapat ibahagi.
Kung talagang ibinabahagi ang patakaran, sadyang ilipat ito sa template at suriin ang pangalawang instance bago sabihing tapos na.Ang sanggunian ng unit ng systemd ay nagdodokumento ng priyoridad ng drop-in at order ng pagsasama.