Fyrsta lota vinnur: hliðun OpenVPN-innskráninga fyrir brottrekstur
Að hafna síðari innskráningu er ekki það sama og að skipta um þá eldri. Ákvörðunin verður að liggja fyrir fyrir brottrekstur samnefndrar lotu, og reitarprófunin verður að vera ódeilanleg.
Stefna sem leyfir eina lotu á hvern reikning virðist afgreidd þar til önnur innskráning berst. Tvær niðurstöður eru mögulegar: nýliðinn kemur í stað lotunnar sem er í gangi, eða lotan sem er í gangi heldur reitnum og nýliðanum er hafnað. Aðeins sú seinni er stefna þar sem fyrsta lotan vinnur. Valkosturinn í biðlarannum sem flestir grípa til virkjar samtímis og framleiðir því ekki þessa niðurstöðu.
Tveir samningar leynast bak við eina stillingu
Þegar samtímis er slökkt getur önnur tenging með sama skírteinisheiti hrint í burtu lotunni sem þegar er í gangi. Að kveikja á samtímis leyfir nokkrar lotur í einu, sem er andstæða takmörkunar. Hvort tveggja er ekki höfnunarstefna, svo ákvörðunin verður að eiga sér stað alveg annars staðar.
Skrifið samninginn niður áður en þið útfærið nokkuð: hverjum er hafnað, hvaða sönnun greinir lotuna sem er í gangi og hvað gerist þegar lota deyr án hreinnar aftengingar. Stefnu sem enginn hefur sett fram með þessum hætti er ekki hægt að prófa síðar.
Brottreksturinn á sér stað fyrir tengikrókinn
Á kóðabraut þjónsins 2.6 fjarlægir snemma undirbúningur fyrir nýjan biðlara fyrirliggjandi eintök með sama heiti þegar samtímis er slökkt. Sú fjarlæging á sér stað áður en keðja tengimeðhöndlara keyrir. Skrift sem tekur eftir tvíritinu og skilar bilun hafnar því nýliðanum eftir að lotunni sem er í gangi hefur þegar verið hent - nákvæmlega sú niðurstaða sem stefnunni var ætlað að koma í veg fyrir. Röð bakkalla í upstream-útfærslunni er eina áreiðanlega svarið fyrir bygginguna ykkar.
| Stage | Who can still refuse | Effect on the incumbent |
|---|---|---|
| Certificate check | Server trust configuration | None |
| Authentication decision | The authentication controller | None, because establishment has not run |
| Connect handler | A profile script | Already evicted in the same-name case |
| Post-establishment | Status tooling, monitoring | Both sessions already exist or one is gone |
Könnun á stöðuskránni er ekki heldur hlið. Tvær tilraunir sem berast samtímis geta báðar séð tóman reit áður en önnur festir hann, og báðar halda áfram.
Færið ákvörðunina inn í auðkenninguna
Stjórnviðmótið getur tekið yfir auðkenningarákvörðunina eftir skírteinisstaðfestingu. Í þeirri fyrirkomulagi er stýringin ekki eftirlitsaðili: hún tekur við hverju tengist eintaki biðlarans og svarar hvort það eintak megi halda áfram. Þar sem svarið berst fyrir stofnunina lætur höfnun lotuna sem er í gangi ósnortna. Sami rásin tilkynnir aftengingar, og þannig lærir stýringin að reitur hafi verið löglega losaður.
Hvert nýtt eintak verður að fara um þetta hlið, þar á meðal endurtengingar og hvaða slóð sem auðkennir sig aftur án beiðni. Hlið sem sum eintök ná aldrei að hefur ekkert að gera og yfirsjónin helst ósýnileg þar til einhver prófar sniðgönguna.
Tákn geta gengið fram hjá hliðinu
Þegar tákn hefur verið gefið út, getur þjónninn staðfest það innanhúss og sleppt ytri auðkenningu fyrir þá tengingu. Stjórnkerfisákallið á sér aldrei stað, svo reitarprófun sem er aðeins útfærð þar sér aldrei nýja eintakið. Þessi hegðun er þægindi fyrir notendur og gat í samtímisstefnu. Látið táknauðkenndar tengingar fara í gegnum jafngilda valdbæra prófun, eða slökkvið á táknsloðinni þegar stefnan krefst ákvörðunar um hverja tengingu.
Bætið því ekki upp með því að samþykkja hvert tákn skilyrðislaust. Útrunnið eða ógilt tákn verður samt að mistakast, og það verður að mistakast í gegnum sama ákvörðunarpunkt og allt annað.
Bindið frátektina við eintak, ekki vistfang
Vistfang er slök auðkenni: endurtenging frá sama fartölvu getur komið frá öðru vistfangi, og afritað skírteini getur komið frá sama vistfangi. Bindið frátektina við biðlarans eintak sem þjónninn úthlutar, svo endurauðkenning eintaksins sem þegar er samþykkt sé þekkt sem eigandi. Nýtt eintakseinkenni verður að öðlast sinn eigin reit í gegnum ákvörðunina fyrsti vinnur, jafnvel þegar það leggur fram sama táknið.
Losið aðeins frátektinni sem tilheyrir misheppnuðu tilrauninni. Seinkað aftengingaratvik frá eldri tilraun má ekki hreinsa reit nýrri eiganda, og þess vegna nefnir losunin eintakið en ekki reikninginn. Eftir endurræsingu stýringarinnar skal samræma lifandi loturnar áður en nokkur er samþykktur, og beita sömu reglu á hverja gátt sem þjónar reikningnum.
Ákveðið sérstaklega hvernig virkilega úreltur reitur er endurheimtur. Stjórnandi þarf skjalfesta leið til að hreinsa hann, og sú leið ætti ekki að vera aðgengileg notanda sem einfaldlega smellir á endurtengja.
Prófið pörin sem skipta máli: tvær næstum samtímis innskráningar, endurtenging eftir hreina niðursetningu, endurauðkenning lotunnar sem er í gangi, hafnaður nýliði og endurræsing stýringarinnar. Í hverju tilviki verður lotan sem er í gangi að vera nothæf og nýliðanum að vera hafnað án aukaskemmda á aðra reikninga.