Erġa' qabbad klijent OpenVPN: tliet kontrolli, tliet ambjenti
Li twaqqa' sessjoni waħda, tinnotifika lil kull klijent UDP u terġa' tibda d-daemon huma operazzjonijiet differenti. Iddeċiedi l-ambitu l-ewwel, imbagħad ivverifika s-sessjoni l-ġdida.
Xi ħadd jitlob li l-klijent VPN jerġa' jiġi konness, u din it-talba tista' tfisser tliet affarijiet differenti. Tista' tfisser li titwaqqa' sessjoni waħda awtentikata, li jiġi mgħarraf kull klijent li server UDP se jitlaq, jew li d-daemon innifsu jerġa' jinbeda. Kull waħda għandha raġġ ta' impatt differenti, u l-għażla żbaljata tbiddel tiswija għal utent wieħed fi qtugħ tas-servizz. L-ambitu huwa d-deċiżjoni, u l-kmand joħroġ minnu.
Staqsi min għandu jiġi affettwat qabel ma tistaqsi liema kontroll għandu jintuża.
Instanza waħda: il-ħolqa tal-amministrazzjoni
Ħolqa tal-amministrazzjoni kkonfigurata tista' telenka l-istanzi konnessi u twaqqa' eżattament waħda minnhom. Kull sessjoni ġġorr identifikatur tal-klijent, u client-kill CID jimmira lejn dak l-identifikatur minflok isem komuni. Aqra l-identifikatur ħaj mill-output tal-istat attwali, għax valur ikkupjat minn log eqdem jirreferi għal sessjoni li m'għadhiex teżisti. It-twaqqigħ tal-istanza jtemm dik il-konnessjoni u xejn aktar.
Ma jiggarantixxix konnessjoni ġdida. Jekk il-klijent jiġix lura jiddependi mis-settings tal-erġa' tipprova tiegħu, mill-entrati remot li fadal, mill-ħtiġijiet tal-awtentikazzjoni tiegħu u minn jekk l-applikazzjoni li tissorvelja għadhiex qed taħdem. Klijent li jiġi lura jikseb identifikatur ġdid, u għalhekk it-tqabbil tal-identifikaturi huwa l-uniku mod affidabbli biex tiddistingwi l-qadim mill-ġdid.
Notifika tal-ħruġ UDP mhix kmand għal kull klijent
explicit-exit-notify hija direttiva tal-konfigurazzjoni dwar avvenimenti tal-ħruġ u tal-bidu mill-ġdid. Fuq klijent UDP tgħid lill-parti l-oħra li s-sessjoni qed tintemm, u l-argument numeriku jikkontrolla kemm-il darba n-notifika terġa' tiġi ripetuta. Meta s-server jaħdem fuq UDP jibgħat messaġġ ta' kontroll tal-bidu mill-ġdid lill-klijenti konnessi tiegħu, u l-valuri dokumentati jiddistingwu r-rikonnessjoni mal-istess server mill-moviment għal entrata remota oħra. Dan huwa sinjal taċ-ċiklu tal-ħajja b'udjenza wiesgħa.
Xejn fih ma jagħżel klijent arbitrarju f'mument arbitrarju. Li tittrattah bħala buttuna tar-rikonnessjoni jilħaq kull sessjoni konnessa f'daqqa.
Is-sinjali jaġixxu fuq il-proċess, mhux fuq is-sessjoni
SIGUSR1 jitlob lill-proċess li qed jaħdem jerġa' jibda l-konnessjoni tiegħu mingħajr ma jerġa' jaqra l-konfigurazzjoni, u l-għażliet tal-persistenza jiddeċiedu x'jgħix minn dak il-bidu mill-ġdid. SIGHUP imur aktar 'il bogħod: jerġa' jaqra l-fajl tal-konfigurazzjoni u jerġa' jiftaħ ir-riżorsi tiegħu. SIGTERM u SIGINT jitolbu għeluq ordnat. Dawn huma operazzjonijiet fil-livell tal-proċess: fuq server b'ħafna klijenti jaffettwaw kull sessjoni li l-proċess iġorr, mhux dik imsemmija fit-ticket.
Meta l-proċess jaħdem taħt maniġer tas-servizzi, uża l-kontroll tiegħu stess minflok ma tibgħat sinjal lil PID li sibt f'lista tal-proċessi. Aqra l-unit biex tara liema sinjal jibgħat il-maniġer, għax bidu mill-ġdid u tagħbija mill-ġdid jagħmlu affarijiet differenti lill-istess daemon.
Iddeċiedi l-ambitu qabel tagħżel il-kontroll
Tliet mistoqsijiet jiddeċiduh. Min għandu jiġi affettwat: utent wieħed, kull klijent ta' server wieħed, jew id-daemon u kull ma jġorr. X'għandu jibqa': il-konfigurazzjoni, l-istat tal-mina, jew xejn minnhom. Min huwa awtorizzat: l-integrazzjoni tal-amministrazzjoni, is-sid tas-servizz, jew l-operatur tan-netwerk li jikkontrolla n-notifika tal-ħruġ. Wieġeb dawn u jifdal biss kontroll wieħed.
Li żżid semmiegħ tal-kontroll mingħajr awtentikazzjoni biex tikseb buttuna tar-rikonnessjoni tagħti lil min jista' jasal għall-port ferm aktar minn dik il-buttuna.
Ivverifika s-sessjoni l-ġdida, mhux l-iskonnessjoni
Avveniment ta' skonnessjoni jipprova li s-sessjoni l-qadima ntemm. Ma jgħid xejn dwar sessjoni ġdida li tkun qed tiġi awtentikata, tirċievi indirizz, tinstalla rotot jew tasal għar-riżors li kien jeħtieġ l-utent. Iċċekkja l-identifikatur il-ġdid, imbagħad l-istat tal-mina, imbagħad riżors wieħed reali. Dawk it-tliet passi huma d-differenza bejn rikonnessjoni u konnessjoni li taħdem.
Ikteb l-ambitu fir-rekord tal-bidliet. 'Erġajt qabbadt il-klijent' mhix deskrizzjoni meta l-klijent kien wieħed minn erbgħin fuq server maqsum.