Teip client-connect OpenVPN: an bhfuil glanadh disconnect ráthaithe?
Ní chealaíonn cliant a diúltaíodh riail balla dóiteáin ná taifead scríofa. Cuir conradh an chomhaire aischuir i gcomparáid leis an rollú siar a chaithfidh do hook a dhéanamh é féin.
Nuair a chríochnaíonn script client-connect le cód neamh-nialasach, diúltaíonn OpenVPN don chliant, agus is gnách go measann oibreoirí go ndéanfaidh an script client-disconnect comhfhreagrach an obair a shocrú. Go minic ní ritheann sé riamh, mar tá próiseáil disconnect ag brath ar an méid a d’éirigh leis an gcéim connect a chríochnú. Is é an diúltú agus an rollú siar a láimhseáil mar aon mheicníocht a chasann logáil isteach teipthe ina riail balla dóiteáin sceite nó ina taifead dílleachta. Dhá oibleagáid ar leithligh iad, agus níl ach ceann amháin díobh uathoibríoch. Léigh cosán imeachta an hook féin sula gcuireann tú an milleán ar an bhfreastalaí as staid a fhágáil ina dhiaidh.
Diúltaíonn imeacht neamh-nialasach don chliant; ní chealaíonn sé do chuid oibre
Is cinneadh iontrála é stádas imeachta client-connect. Ciallaíonn nialas ligean isteach, ciallaíonn aon rud eile an t-ionstáit a leagan sula mbíonn sé lánbhunaithe. Ní scrúdaíonn aon rud sa chonradh sin an méid atá déanta ag an script cheana féin don domhan seachtrach. Má chuir an script riail iptables leis, má scríobh sé ró nó má mhéadaigh sé áiritheoir, maireann na hathruithe sin an diúltú.
Tá an éagothroime chéanna i bhfeidhm maidir le breiseáin, áit ar féidir roinnt feidhmeanna connect a rith d’aon ionstáit amháin. Ní chealaíonn teip níos déanaí rath níos luaithe go haisghníomhach, agus níl aon bhealach ag an bhfeidhm níos luaithe a fháil amach gur theip ar fheidhm deirfiúr.
Tá diúltú uathoibríoch, níl glanadh
Ceanglaíonn lámhleabhar OpenVPN 2.6 próiseáil client-disconnect le héirí le próiseáil connect roimhe. Clúdaíonn eisceacht dhoiciméadaithe slabhraí cascáideacha: má d’fhill céim connect amháin rath cheana, ritheann na céimeanna disconnect comhfhreagracha fós nuair a leagtar an t-ionstáit, fiú má theip ar chéim connect níos déanaí. Tá an eisceacht sin cúng agus braitheann sí ar an líon comhaire aischuir atá cumraithe, agus mar sin ní insíonn tástáil script shell amháin aon rud duit faoi shlabhra.
Déan mapáil ar an bhfíorchumraíocht sula ndéanann tú dearadh timpeall uirthi: cén script, cén breiseán agus cén t-ord ina ritheann siad. Liostaíonn an tábla thíos an méid a fhágann socrú leathchríochnaithe ina dhiaidh.
| What the hook did before failing | What the client sees | What stays behind |
|---|---|---|
| Created a firewall entry | A rejection, with no tunnel | A rule matching an address nobody owns |
| Wrote a state row | A rejection, with no tunnel | A record of a session that never started |
| Allocated a tunnel address | A rejection, with no tunnel | An address marked busy until something releases it |
Críochnaíonn gach ró ar an mbealach céanna don chliant agus ar bhealach difriúil don óstach. Ní féidir leis an gcliant a rá cé acu a tharla, mar sin caithfidh an hook an rud a rinne sé a rollú siar sula bhfillfidh sé an stádas teipe.
Déan cúiteamh laistigh den script ar theip air
Bailíochtaigh gach rud is féidir leat sula ndéanann tú teagmháil le staid chomhroinnte: réimsí teastais, infhaighteacht an tseoltaí, an ghrúpa lena mbaineann an cliant. Is é an diúltú is saoire an ceann a tharlaíonn roimh aon leithdháileadh. Nuair a chuimsíonn an socrú roinnt oibríochtaí seachtracha, coinnigh taifead de na cinn a críochnaíodh agus rollaigh siar iad in ord droim ar ais sula bhfillfidh tú an stádas teipe.
Cás nithiúil: cruthaíonn an script iontráil balla dóiteáin in aghaidh an chliaint, ansin teipeann air an ró staid a scríobh a chuireann síos uirthi. Ba chóir don bhrainse a theipeann an iontráil a chruthaigh sé díreach a bhaint agus ansin imeacht le cód neamh-nialasach. Is é fanacht le himeacht disconnect nach ndéanfar a sceidealú riamh b’fhéidir an bealach a maireann riail níos faide ná an seisiún a raibh sí beartaithe dó.
Déan an cúiteamh idempotent agus faoi úinéireacht
Caithfidh glanadh a bheith sábháilte le rith faoi dhó agus beacht faoin méid a fhéadann sé a scriosadh. Níor chóir d’imeacht déanach ó iarracht níos luaithe leithdháileadh seisiúin níos nuaí a bhaint díreach mar go roinneann an dá rud ainm coiteann nó seoladh tolláin athchúrsáilte. Taifead an láimhseáil nó an t-aitheantóir oibríochta ar leith leis an acmhainn, agus scrios de réir na heochrach sin seachas de réir ainm. Ní chabhraíonn idirbhearta bunachair sonraí ach le hathruithe an bhunachair féin; teastaíonn céim chúitimh shoiléir ó riail balla dóiteáin lasmuigh den teorainn sin.
Glac leis gur féidir leis an bpróiseas bás a fháil idir an t-athrú agus an glanadh, agus cuir réiteoir leis a dhéanann comparáid idir an staid sheachtrach agus liosta na gcliant a ligeadh isteach de réir sceidil.
Tástáil na trí chosán a bhfuil difríocht iarbhír eatarthu
Cleachtaigh trí chás: diúltú sula leithdháiltear aon rud, ceann tar éis leithdháileadh páirteach, agus seisiún iontráilte normálta a chríochnaíonn níos déanaí. Táirgeann an triúr sin línte loga difriúla agus iarmhair dhifriúla. Deimhnigh an staid sheachtrach i ndiaidh gach ceann acu, ní hamháin teachtaireacht teipe an chliaint, mar is é teip an chliaint an toradh a bhfuiltear ag súil leis i ndá chás as an trí.
Logáil céim an hook, an stádas imeachta agus an méid a leithdháileadh nó a scaoileadh, gan na dintiúir. Is é log hook a ainmníonn an acmhainn a chruthaigh sé an rud a fhágann riail sceite inaimsithe sé mhí níos déanaí.