It-twissija dwar diversi skripts tinstema’ bħal ilment dwar l-iskedar, għalhekk is-soluzzjoni ovvja hi li terġa’ tordna l-linji sakemm tisparixxi. Mhix ilment dwar l-iskedar. Definizzjoni aktar tard ta’ --up tissostitwixxi l-ordni li diġà hija maħżuna għal dak l-istadju, u l-parser jgħid hekk, jiġifieri miż-żewġ skripts tiegħek eżattament wieħed qatt ma ħadem. L-ieħor mhuwiex fil-kju warajh; huwa spiċċa.

Għalhekk it-twissija ħaqqha attenzjoni għalkemm mhijiex fatali: dak li tbassar huwa aġġornament tad-DNS jew bidla fir-rotta li waqfet tinġara bil-kwiet.

It-twissija mhix dwar l-ordni

OpenVPN iżomm ordni waħda ta’ skript tal-utent għall-istadju up. Meta l-parser jiltaqa’ ma’ definizzjoni oħra, mill-profil, minn fajl inkluż jew mil-linja tal-kmand, huwa jissostitwixxi dak li kien diġà qed iżomm u joħroġ it-twissija. Xejn ma jiġi mgħaqqad, xejn ma jaħdem darbtejn, u m’hemmx kwistjoni ta’ ordni. Tibqa’ l-ordni li l-parser ra l-aħħar, u għalhekk li ċċaqlaq linja tista’ tbiddel il-rebbieħ filwaqt li l-iskript l-ieħor jibqa’ mejjet.

L-istess mudell jgħodd għall-istadji l-oħra tal-iskripts: ordni waħda kull wieħed. Jekk żewġ xogħlijiet iridu jiġru t-tnejn, jeħtieġu punt wieħed ta’ dħul, mhux żewġ direttivi li jixbhu lista.

Sib iż-żewġ definizzjonijiet fit-tnedija reali

Ibda minn dak li d-daemon fil-fatt irċieva, mhux mill-profil li editjajt. ps -ef u l-ExecStart tal-unit jindikaw il-linja tal-kmand, li tista’ żżid --up minn punt ta’ dħul ta’ kontenitur jew minn wrapper; fajl init ta’ distribuzzjoni jista’ jagħmel l-istess. systemctl cat openvpn-server@server jiżvela x’iżżid is-servizz innifsu, u grep rikursiv fid-direttorju tal-konfigurazzjoni jsib id-definizzjonijiet fil-livell tal-fajl. Id-duplikati ġeneralment jiġu minn saffi differenti, u għalhekk l-editjar ta’ fajl wieħed ma jbiddel xejn.

L-ikkupjar ta’ skript f’direttorju ieħor jew l-għoti ta’ isem ġdid lanqas ma jneħħi direttiva. Il-parser jgħodd definizzjonijiet, mhux fajls.

Ħalli hook wieħed jieħu ħsieb ix-xogħol

Is-soluzzjoni dejjiema hija dispatcher wieħed li jwettaq iż-żewġ azzjonijiet fi spjegat ordni maħsub. Skript shell qasir b’set -eu li jsejjaħ l-integrazzjoni meħtieġa u mbagħad l-azzjoni lokali, u jgħaddi "$@" biex jibqgħu l-konfini tal-argumenti, iżomm l-imġiba f’post wieħed li jista’ jiġi awditjat. L-għoti tal-argumenti biss jippreservahom; ma jipprovax li ż-żewġ assistenti jistennew l-istess interface, għalhekk aqra l-kuntratt ta’ kull wieħed. Iddeċiedi x’għandu jagħmel falliment u jekk bidliet parzjali għandhomx jiġu rrevertiti.

Jekk il-lancer joffri hook ta’ estensjoni appoġġjat, ippreferih minflok katina magħmula bl-idejn. Immaġni ta’ kontenitur jew pakkett tal-fornitur spiss ikollu post dokumentat għal xogħol addizzjonali, u l-użu tiegħu jżomm aġġornament milli jikteb fuq id-dispatcher tiegħek.

It-tindif jappartjeni għall-istadju down korrispondenti. Azzjoni up li terġa’ tikteb id-DNS jew iżżid rotot teħtieġ treġġigħ lura dokumentat, u dispatcher li jmexxi biss it-tnedija huwa nofs disinn.

Ikkonferma l-integrazzjoni, mhux biss is-skiet

It-tneħħija tat-twissija tad-duplikat hija l-parti faċli; l-integrazzjoni xorta trid taħdem. Iċċekkja l-istat tas-solvatur wara li tikkonnettja b’resolvectl status jew billi taqra /etc/resolv.conf, u kkonferma r-rotot b’ip route. Imbagħad aqta’ u erġa’ qabbad, għax hook imqabbad bl-għaġġla spiss iħalli xi ħaġa mis-sessjoni preċedenti. journalctl -u openvpn-server@server -b juri jekk id-dispatcher tiegħek ħarix u x’ipprintja.

Żomm il-privileġġi tal-hook fejn jixirqilhom. Li tgħolli script-security jew li tmexxi d-daemon b’aktar drittijiet mhix soluzzjoni għal hook sostitwit; twessa’ dak li jista’ jagħmel kull skript futur, inkluż wieħed li attakkant jagħtih isem.

Is-sinjal li s-soluzzjoni hija vera mhuwiex is-skiet fil-log. Huma t-tweġiba tad-DNS, id-dħul tar-rotta u t-tindif li jaħdmu kollha wara żewġ konnessjonijiet mill-ġdid.

Artikli relatati