Viðvörunin um margar skriftur hljómar eins og kvörtun um tímasetningu, svo augljósa lagfæringin er að endurraða línum þar til hún hverfur. Hún er ekki kvörtun um tímasetningu. Seinni skilgreining --up kemur í stað skipunarinnar sem þegar er geymd fyrir það stig, og þáttarinn segir það, sem þýðir að af tveimur skriftum þínum hefur nákvæmlega ein keyrt einhvern tíma. Hin bíður ekki í röð á eftir henni; hún er horfin.

Þess vegna á viðvörunin athygli skilið þótt hún sé ekki banvæn: það sem hún spáir er DNS-uppfærsla eða leiðarbreyting sem hætti hljóðlega að eiga sér stað.

Viðvörunin snýst ekki um röð

OpenVPN geymir eina notandaskriftarskipun fyrir stigið up. Þegar þáttarinn hittir aðra skilgreiningu, úr sniðinu, innfelldri skrá eða skipanalínunni, kemur hann í stað þess sem hann hélt þegar og gefur viðvörunina. Ekkert er sameinað, ekkert keyrir tvisvar, og engin röðun spurning er til. Skipunin sem lifir er sú sem þáttarinn sá síðast, þess vegna getur flutningur línu breytt sigurvegaranum á meðan hin skriftin verður dauð.

Sama mynstur gildir um hin skriftarstigin: ein skipun fyrir hvert. Ef tvö verk þurfa bæði að gerast þurfa þau einn inngangspunkt, ekki tvær leiðbeiningar sem líkjast lista.

Finndu báðar skilgreiningar í raunverulegu ræsingunni

Byrjaðu á því sem dæmoninn fékk í raun, ekki á sniðinu sem þú breyttir. ps -ef og ExecStart einingarinnar sýna skipanalínuna, sem gæti bætt --up frá inngangspunkti gáma eða umbúðum; init-skrá dreifingar getur gert það sama. systemctl cat openvpn-server@server sýnir hvað þjónustan sjálf leggur til, og endurkvæmt grep yfir stillingamöppuna finnur skilgreiningarnar á skráarstigi. Tvírit koma venjulega úr mismunandi lögum, og þess vegna breytir breyting á einni skrá engu.

Að afrita skrift í aðra möppu eða endurnefna hana fjarlægir heldur ekki leiðbeiningu. Þáttarinn telur skilgreiningar, ekki skrár.

Láttu eitt hook eiga verkið

Varanlega lausnin er einn sendingaraðili sem keyrir báðar aðgerðir í yfirveguðu samhengi. Stutt shell-skrift með set -eu sem kallar á nauðsynlega samþættingu og síðan staðbundnu aðgerðina og sendir "$@" áfram svo rökmarkar haldist, heldur hegðuninni á einum stað sem hægt er að endurskoða. Að senda rök áfram varðveitir þau aðeins; það sannar ekki að hjálpararnir tveir ætlist til sama viðmóts, svo lestu samning hvors um sig. Ákveddu hvað bilun á að gera og hvort afturkalla þurfi hluta breytinga.

Ef ræsirinn býður studda viðbótarhook, veldu hana frekar en handgerða keðju. Gámamynd eða pakki frá birgi hefur oft skjalfesta stað fyrir aukaverk, og notkun hans kemur í veg fyrir að uppfærsla skrifi yfir sendingaraðilann þinn.

Hreinsun tilheyrir samsvarandi down-stigi. Up-aðgerð sem endurskrifar DNS eða bætir við leiðum þarf skjalfesta afturköllun, og sendingaraðili sem sinnir aðeins ræsingu er hálf hönnun.

Staðfestu samþættinguna, ekki bara þögnina

Að fjarlægja tvíritaviðvörunina er auðveldi hlutinn; samþættingin verður samt að virka. Athugaðu stöðu leysandans eftir tengingu með resolvectl status eða með því að lesa /etc/resolv.conf, og staðfestu leiðirnar með ip route. Aftengdu svo og tengdu aftur, því hook sem er keðjað í flýti skilur gjarnan eitthvað eftir frá fyrri lotu. journalctl -u openvpn-server@server -b sýnir hvort sendingaraðilinn þinn keyrði og hvað hann prentaði.

Haltu réttindum hooksins þar sem þau eiga heima. Að hækka script-security eða keyra dæmoninn með meiri réttindum er ekki lagfæring fyrir skipt hook; það víkkar hvað hver framtíðarskrift getur gert, þar á meðal sú sem árásarmaður fær að nefna.

Merkið um að lagfæringin sé raunveruleg er ekki þögn í annálnum. Það eru DNS-svarið, leiðarfærslan og hreinsunin sem allt virkar eftir tvær endurtengingar.

Tengdir greinar