En račun VPN na dveh strežnikih: tri registri stanja
Skupno sprejemanje, omrežna konfiguracija, lokalna za vozlišče, in žive seje so ločeni problemi. Držite jih ločene, preden replicirate en račun med vozlišči.
En račun, ki se lahko prijavi v katero koli od dveh vozlišč VPN, odpre vprašanje zasnove veliko prej, preden odpre vprašanje programske opreme. Pogled na račun, omrežje, ki ga ima vsako vozlišče, in seja, ki jo drži povezan odjemalec, so tri različne vrste stanja in spodletijo na različne načine, ko jih kopirate naokoli. Kopiranje vseh treh v en sistem je pogost način, da izgubite enega od njih.
Pojdite skozi tri registre spodaj po vrsti. Vsak vpraša, kaj je avtoritativno, kaj je lokalno in kaj se zgodi, ko drugega vozlišča ni, odgovori pa ne izhajajo drug iz drugega.
Kdo se sme povezati: ena avtoriteta, veliko vozlišč
Začnite z registrom sprejemanja: kateri vir identitete je avtoritativen, katerim izdajateljem potrdil se zaupa, kateri računi so upravičeni, kateri drugi dejavnik velja in do česa seže vsak račun. Nato zapišite, kako vsako vozlišče izve za spremembe in kako hitro.
Skupna podatkovna baza je ena od možnih sestavin tega odgovora. Ni dokaz, da v njej živi vsaka ustrezna politika ali da vsako vozlišče uporabi spremembo v istem trenutku. Račun, onemogočen na vozlišču A, a še vedno sprejet na vozlišču B, pomeni, da postopek odhoda ni končan.
Odločite, kaj vozlišče naredi, ko avtoriteta ni dosegljiva. Sprejemanje predpomnjenih poverilnic med izpadom je politična odločitev s ceno za varnost, njihovo zavračanje pa je politična odločitev s ceno za razpoložljivost. Oboje je zagovorljivo; pustiti to nedokumentirano ni.
Držite avtoriteto izdajatelja ločeno od podatkov računa. Več prehodov lahko zaupa isti CA, ne da bi imelo njen podpisni ključ, in vsako vozlišče še vedno potrebuje lastno strežniško potrdilo in lasten odnos zaupanja na strani odjemalca.
Kaj vozlišče ima: naslovi in poti
Drugi register je lokalen za vsako vozlišče: naslov poslušanja, identiteta strežnika, nabor naslovov, poti do zasebnih virov, politika razreševalnika in kako promet odhaja v internet. Isti račun lahko streže katero koli vozlišče, medtem ko ti objekti ostajajo ločeni.
Povratna pot je del, ki se pozabi. Če oba vozlišča delita naslove iz istega nabora, zasebno omrežje ne more ugotoviti, kateremu vozlišču pripada določen odjemalec, in odgovor lahko gre na napačno mesto. Različni nabori potrebujejo tudi poti in dovoljenja, zato ločen obseg številk ni popolna zasnova.
Usmerite odjemalce na vozlišče namerno. Izbira DNS, seznami končnih točk odjemalcev in storitev na sprednji strani so različni mehanizmi z različnim vedenjem pri zdravju in pri preklopu ob napaki. Izbrati enega je v redu; obravnavati „uravnavanje obremenitve“ kot zasnovo pusti povratno pot in vedenje ob napaki nedoločeno.
Dokumentiran primer izdelka tukaj pomaga. Dokumentacija replikacije Pritunl obravnava omrežje VPN kot objekt na repliko, odjemalci na različnih replikah pa potrebujejo dodatne poti in povezljivost, da dosežejo drug drugega. To je za izdelek specifična ureditev, ne recept za Community OpenVPN, a kaže, zakaj dodajanje replike spremeni omrežje in ne le shrambe računov.
Kaj je seja: živo stanje, ne vrstica
Tretji register je živa seja. Povezan odjemalec ima stanje protokola in omrežno dodelitev na vozlišču, ki ga je sprejelo. To, da je račun znan na drugem vozlišču, temu vozlišču ne da seje, ključev ali zmožnosti nadaljevanja paketov.
Bodite izrecni glede tega, kaj se zgodi, ko vozlišče odpove. Podprt izid je lahko ponovna povezava z drugim vozliščem s svežo overitvijo in novim naslovom, nato pa si aplikacija opomore na svoj način. Če je potreben neprekinjen prehod, ta zahteva potrebuje izrecno podporo v izvedbi, ne sklepa iz replikacije podatkovne baze. Zapišite odgovor tja, kjer ga dežurni inženir lahko najde.
Pravila zmogljivosti potrebujejo enako obravnavo. Omejitev dveh hkratnih sej na račun je mogoče uveljaviti med vozlišči le, če ima neka avtoriteta usklajen pogled na zasedena mesta. Seznami, lokalni za vozlišča, in zgodovinski zapis računa se v tak pogled ne seštejejo.
Preizkus treh registrov
Vadite vsakega posebej. Prijavite se prek vozlišča A, nato prek vozlišča B, in potrdite, da oba uspeta s pričakovanimi razponi naslovov. Odvzemite identiteto in preverite oba vozlišča, ne le tistega, ki ste ga slučajno testirali. Nato ustavite eno vozlišče in opazujte, kaj odjemalec in zasebna aplikacija v resnici počneta.
Vključite povratno pot v sprejemni test. Odjemalec, ki se poveže na B, a ne more prejemati odgovorov od vira za A, je opravil preverjanje sprejema in padel na omrežnem, ta razlika pa bi se morala pojaviti v poročilu.
Zasnova računa za več vozlišč je popolna le, ko imajo vsi trije registri izrecnega lastnika, pot spremembe in vedenje ob napaki. Kopiranje konfiguracijske datoteke med vozlišči ne odgovori na nobeno od teh vprašanj.