Viena VPN paskyra dviejuose serveriuose: trys būsenos registrai
Bendras priėmimas, mazgui vietinė tinklo konfigūracija ir gyvos sesijos yra atskiros problemos. Laikykite jas atskirai prieš replikuodami vieną paskyrą tarp mazgų.
Viena paskyra, kuri gali prisijungti prie bet kurio iš dviejų VPN mazgų, kelia projektavimo klausimą gerokai anksčiau, nei tampa programinės įrangos klausimu. Paskyros vaizdas, kiekvieno mazgo turimas tinklas ir prijungto kliento laikoma sesija yra trys skirtingos būsenos rūšys, ir jos nepavyksta skirtingais būdais, kai jas kopijuojate iš vienos vietos į kitą. Visų trijų kopijavimas į vieną sistemą yra įprastas būdas prarasti vieną iš jų.
Peržiūrėkite tris žemiau esančius registrus iš eilės. Kiekvienas klausia, kas yra įgaliotas, kas yra vietinis ir kas nutinka, kai kito mazgo nėra, o atsakymai vienas iš kito neišplaukia.
Kas gali prisijungti: viena valdžia, daug mazgų
Pradėkite nuo priėmimo registro: kuris tapatybės šaltinis yra įgaliotas, kuriems sertifikatų išdavėjams pasitikima, kurios paskyros tinkamos, kuris antrasis veiksnys taikomas ir ką kiekviena paskyra gali pasiekti. Tada užrašykite, kaip kiekvienas mazgas sužino apie pakeitimus ir kaip greitai.
Bendra duomenų bazė yra vienas galimas to atsakymo komponentas. Tai nėra įrodymas, kad ten gyvena kiekviena atitinkama politika arba kad kiekvienas mazgas taiko pakeitimą tuo pačiu momentu. Paskyra, išjungta mazge A, bet vis dar priimama mazge B, reiškia, kad išėjimo procesas nebaigtas.
Nuspręskite, ką mazgas daro, kai valdžia nepasiekiama. Priimti podėlyje saugomus prisijungimo duomenis sutrikimo metu yra politikos pasirinkimas su saugumo kaina, o juos atmesti yra politikos pasirinkimas su prieinamumo kaina. Abu yra apginami; palikti tai nedokumentuota nėra.
Išdavėjo valdžią laikykite atskirai nuo paskyros duomenų. Keli tinklų vartai gali pasitikėti ta pačia CA, nelaikydami jos pasirašymo rakto, ir kiekvienam mazgui vis dar reikia savo serverio sertifikato ir savo kliento pusės pasitikėjimo ryšio.
Ką mazgas valdo: adresai ir maršrutai
Antrasis registras yra vietinis kiekvienam mazgui: klausymosi adresas, serverio tapatybė, adresų telkinys, maršrutai į privačius išteklius, sprendėjo politika ir kaip srautas išeina į internetą. Ta pati paskyra gali būti aptarnaujama bet kurio mazgo, o šie objektai lieka atskiri.
Grįžtamasis kelias yra ta dalis, kuri pamirštama. Jei abu mazgai dalija adresus iš to paties telkinio, privatus tinklas negali pasakyti, kuriam mazgui priklauso duotas klientas, ir atsakymas gali būti išsiųstas ne ten. Skirtingiems telkiniams taip pat reikia maršrutų ir leidimų, todėl atskiras numerių diapazonas nėra išsamus projektas.
Nukreipkite klientus į mazgą sąmoningai. DNS pasirinkimas, kliento galinių taškų sąrašai ir priekinė paslauga yra skirtingi mechanizmai su skirtingu sveikatos ir perjungimo gedimo metu elgesiu. Pasirinkti vieną yra gerai; traktuoti „apkrovos balansavimą“ kaip projektą palieka grįžtamąjį kelią ir gedimo elgesį neapibrėžtus.
Dokumentuotas produkto pavyzdys čia padeda. Pritunl replikacijos dokumentacija VPN tinklą traktuoja kaip objektą kiekvienai replikai, o skirtingų replikų klientams reikia papildomų maršrutų ir ryšio, kad pasiektų vienas kitą. Tai produktui būdinga tvarka, ne Community OpenVPN receptas, bet ji parodo, kodėl replikos pridėjimas keičia tinklą, o ne tik paskyrų saugyklą.
Kas yra sesija: gyva būsena, ne eilutė
Trečiasis registras yra gyva sesija. Prijungtas klientas turi protokolo būseną ir tinklo priskyrimą tame mazge, kuris jį priėmė. Tai, kad paskyra žinoma kitame mazge, nesuteikia tam mazgui sesijos, raktų ar galimybės tęsti paketus.
Būkite aiškūs, kas nutinka, kai mazgas sugenda. Palaikomas rezultatas gali būti prisijungimas iš naujo prie kito mazgo su nauju autentifikavimu ir nauju adresu, po kurio programa atsistato savaip. Jei reikalingas nepertraukiamas perdavimas, tas reikalavimas reikalauja aiškios įgyvendinimo paramos, o ne išvados iš duomenų bazės replikacijos. Užrašykite atsakymą ten, kur budintis inžinierius jį ras.
Talpos taisyklėms reikia tokio pat požiūrio. Dviejų vienu metu sesijų vienai paskyrai ribą galima vykdyti tarp mazgų tik jei kokia nors valdžia turi suderintą užimtų vietų vaizdą. Mazgui vietiniai sąrašai ir istorinis paskyros įrašas į tokį vaizdą nesumuoja.
Trijų registrų bandymas
Praktikuokite kiekvieną atskirai. Prisijunkite per mazgą A, paskui per mazgą B ir patvirtinkite, kad abu pavyksta su laukiamais adresų diapazonais. Atšaukite tapatybę ir patikrinkite abu mazgus, ne tik tą, kurį atsitiktinai išbandėte. Tada sustabdykite vieną mazgą ir stebėkite, ką iš tikrųjų daro klientas ir privati programa.
Įtraukite grįžtamąjį kelią į priėmimo testą. Klientas, kuris prisijungia prie B, bet negali gauti atsakymų iš ištekliaus už A, išlaikė priėmimo patikrą ir nepraėjo tinklo, ir tas skirtumas turėtų atsirasti ataskaitoje.
Kelių mazgų paskyros projektas yra išsamus tik tada, kai visi trys registrai turi aiškų savininką, pakeitimo kelią ir gedimo elgesį. Konfigūracijos failo kopijavimas tarp mazgų neatsako nė į vieną iš šių klausimų.