Klijent wieħed biss tal-amministrazzjoni: għaliex il-monitor tiegħek iwaqqa' l-interfaċċa grafika
Is-soket tal-amministrazzjoni jaċċetta konnessjoni waħda kull darba. Abbonat ieħor jew ma jirnexxilux jingħaqad jew jisraq il-kontroll mill-komponent li jippossjedi l-mistoqsijiet.
Interfaċċa grafika tad-desktop iżżomm il-konnessjoni tal-amministrazzjoni, għalhekk skript tal-monitoraġġ li jipprova jiftaħ waħda tiegħu ma jaqra xejn jew, agħar, l-interfaċċa tieqaf twieġeb għall-mistoqsijiet. Il-konklużjoni tas-soltu hija li d-daemon mhuwiex stabbli. Fid-daemon tal-komunità l-limitazzjoni hija apposta: l-interfaċċa tal-kontroll taqdi klijent wieħed tal-amministrazzjoni konness kull darba, u dak in-numru m'għandu xejn x'jaqsam ma' kemm utenti l-VPN tista' ġġorr.
Soket wieħed, detentur wieħed
Il-kanal tal-amministrazzjoni jaċċetta klijent wieħed konness. Meta jasal it-tieni waqt li l-ewwel huwa attiv, dan jistenna jew jiġi rrifjutat, u m'hemmx modalità parallela ta' abbonat moħbija wara għażla. L-iskonnessjoni tad-detentur attwali tħalli lid-daemon jaċċetta li jmiss, u din hija tgħaddija u mhux it-tieni kanal.
Dan jagħmel kull għodda żejda kompetitur. Jekk l-interfaċċa tippossjedi l-konnessjoni, skript tal-istħarriġ jew ma jingħaqadx jew jirnexxielu biss wara li l-interfaċċa tkun ċediet, u s-sekwenza tirrepeti fil-konnessjoni mill-ġdid li jmiss. Jekk l-iskript jingħaqad l-ewwel, l-interfaċċa titlef il-passaġġ tal-kontroll tagħha u l-mistoqsijiet tagħha jieqfu jaħdmu. L-ebda għodda ma tirrapporta l-konflitt, għax kull waħda tara biss il-kmand fallut tagħha stess.
| What you need | Mechanism that fits | What it cannot do |
|---|---|---|
| Periodic list of connected clients | Status file written on an interval | Deliver events as they happen |
| Interactive prompts and session control | The single management connection | Serve two controllers at once |
| Multiple consumers of either | One owner process that fans out | Exist without you writing it |
Iddeċiedi liema komponent jippossjedi l-kontroll
Agħżel detentur wieħed għall-kanal interattiv u ħallih ikun l-unika ħaġa li tikkonnettja. Interfaċċa li tamministra l-konnessjoni, skript li jwieġeb il-mistoqsijiet tal-awtentikazzjoni u kontrollur li jtemm is-sessjonijiet kollha jgħoddu bħala detenturi, u wieħed biss jista' jkollu r-rwol.
Meta interfaċċa tippossjedi l-konnessjoni, uża l-integrazzjoni li toffri l-interfaċċa minflok ma tiġġieled magħha. It-tiġrija mad-detentur għas-soket tipproduċi fallimenti intermittenti li jidhru każwali lill-utenti, u min jiħdem id-debug ġeneralment jara biss it-tieni nofs tat-tiġrija. Innota liema proċess jikkonnettja l-ewwel wara riavvjar, għax dak l-ordni jiddeċiedi kull darba min jirbaħ. Monitor li jibda qabel l-interfaċċa se jżomm il-kanal sakemm l-interfaċċa ċċedi.
Uża ritratti tal-istat għall-kolletturi
Il-biċċa l-kbira tal-monitoraġġ jeħtieġ lista, mhux konversazzjoni. Fajl tal-istat perjodiku jwieġeb għal dan mingħajr ma jmiss il-kanal tal-kontroll, u jibqa' jaħdem waqt li l-interfaċċa tibqa' konnessa.
status /run/openvpn/server.status 10
management /run/openvpn/server.sock unix
L-intervall huwa l-baġit tal-freskezza, għalhekk issettjah fuq dak li d-dashboard verament jeħtieġ u mhux fuq l-iżgħar valur li jidher sigur. Ritratt miktub kull ftit sekondi huwa rħis; skript li jerġa' jikkonnettja mas-soket tal-kontroll kull ftit sekondi mhuwiex, għax kull konnessjoni mill-ġdid tikkompeti mad-detentur.
Ritratt mhuwiex storja u mhuwiex fluss ta' avvenimenti. Konnessjonijiet li jaslu u jitilqu fi ħdan intervall wieħed qatt ma jidhru, għalhekk rekwiżit tal-awditjar ma jistax jiġi sodisfatt billi tistħarreġ fajl li jikteb fuq innifsu. Jekk għandek tkun taf jekk utent qatt ikkonnettjax, ir-ritratt huwa l-istrument żbaljat.
It-tqassim huwa disinn, mhux modalità
Jekk diversi konsumaturi verament jeħtieġu data tal-amministrazzjoni diretta, poġġi komponent wieħed fiduċjuż quddiem is-soket u ħallih jippubblika osservazzjonijiet magħżula b'mod dejjaq lill-bqija. Dak il-komponent jippossjedi l-konnessjoni mill-ġdid, il-mistoqsijiet tal-awtentikazzjoni u d-deċiżjoni dwar x'inhu sigur li jiġi espost.
Ibnieh apposta: iddefinixxi liema mistoqsijiet huma permessi, illoggja min staqsa, u evita li s-saff tat-tqassim jinbidel aċċidentalment fi pannell ta' kontroll mill-bogħod. Id-daemon m'għandux modalità b'ħafna klijenti x'jixgħel, u l-ebda linja tal-konfigurazzjoni ma toħloq waħda. Ikkunsidra d-detentur bħala parti mill-fruntiera tas-sigurtà, għax iżomm interfaċċa li tista' tiskonnettja n-nies. L-istartjar mill-ġdid tiegħu għandu jkun operazzjoni ta' rutina b'passaġġ ta' rkupru dokumentat.
Ikkunsidra s-soket bħala privileġġ, mhux bħala metrika
L-interfaċċa tal-amministrazzjoni tista' tiskonnettja l-utenti, tbiddel l-istat u taqra avvenimenti li jsemmu nies. Il-password tagħha tawtentika l-klijent u ma tikkriptax it-trasport, għalhekk dawk li jisimgħu fuq in-netwerk jesponu l-konversazzjoni lil kull min jista' josservaha.
Ippreferi soket lokali jew semmiegħa ristrett ħafna, u ċċekkja liema proċess qed jindirizza verament il-kollettur tiegħek, għax il-prodotti tas-server iġibu l-API tal-amministrazzjoni tagħhom li jġibu ruħhom b'mod differenti. Kollettur indirizzat lejn id-daemon żbaljat jipproduċi konklużjonijiet konvinti u żbaljati. Ikkonferma l-passaġġ u l-proċess proprjetarju qabel ma tiddebug mistoqsija li ma tirritornax xejn.