Üks VPN-konto kahel serveril: kolm olekuregistrit
Jagatud vastuvõtt, sõlme kohalik võrguseadistus ja elusad sessioonid on eraldi probleemid. Hoidke need lahus enne, kui paljundate ühe konto sõlmede vahel.
Üks konto, mis saab sisse logida kummassegi kahest VPN-sõlmest, tõstatab projekteerimisküsimuse ammu enne tarkvaraküsimust. Konto vaade, iga sõlme oma võrk ja ühendatud kliendi hoitav sessioon on kolme eri liiki olek, ja need nurjuvad erineval viisil, kui te neid ringi kopeerite. Kõigi kolme kopeerimine ühte süsteemi on tavaline viis ühe neist kaotamiseks.
Töötage kolm allolevat registrit järjekorras läbi. Igaüks küsib, mis on autoriteetne, mis on kohalik ja mis juhtub, kui teist sõlme pole, ning vastused ei tulene üksteisest.
Kes tohib ühenduda: üks autoriteet, palju sõlmi
Alustage vastuvõturegistrist: milline identiteediallikas on autoriteetne, milliseid sertifikaadi väljaandjaid usaldatakse, millised kontod on kõlblikud, milline teine tegur kehtib ja mida iga konto ulatub. Seejärel kirjutage üles, kuidas iga sõlm muudatustest teada saab ja kui kiiresti.
Jagatud andmebaas on selle vastuse üks võimalik osa. See ei tõesta, et iga asjakohane poliitika elab seal, ega seda, et iga sõlm rakendab muudatust samal hetkel. Sõlmes A keelatud, kuid sõlmes B ikka aktsepteeritud konto tähendab, et väljaviimise protsess pole lõppenud.
Otsustage, mida sõlm teeb, kui autoriteet pole kättesaadav. Vaheajal vahemällu salvestatud mandaatide aktsepteerimine on poliitika valik turbekuluga ja nende tagasilükkamine on poliitika valik kättesaadavuskuluga. Mõlemad on kaitstavad; dokumenteerimata jätmine ei ole.
Hoidke väljaandja autoriteet kontoandmetest lahus. Mitmed lüüsid võivad usaldada sama CA-d ilma selle allkirjavõtit hoidmata, ja igal sõlmel on endiselt vaja oma serverisertifikaati ja oma kliendipoolset usaldussuhet.
Mida sõlm omab: aadressid ja marsruudid
Teine register on iga sõlme jaoks kohalik: kuulamisandress, serveri identiteet, aadressibassein, marsruudid privaatsete ressursside juurde, lahendaja poliitika ja see, kuidas liiklus internetti väljub. Sama kontot võib teenindada kumbki sõlm, samal ajal kui need objektid jäävad erinevaks.
Tagasitee on see osa, mis ununeb. Kui mõlemad sõlmed jagavad aadresse samast basseinist, ei suuda privaatvõrk öelda, millisele sõlmele antud klient kuulub, ja vastus võib minna valesse kohta. Erinevad basseinid vajavad samuti marsruute ja õigusi, seega eraldi numbrite vahemik ei ole täielik projekt.
Suunake kliendid sõlme teadlikult. DNS-i valik, kliendi lõpp-punktide loendid ja front-end-teenus on erinevad mehhanismid, mille tervise- ja tõrkeasenduskäitumine erineb. Ühe valimine on korras; „koormuse tasandamise“ kui projekti käsitlemine jätab tagasitee ja tõrkekäitumise määratlemata.
Dokumenteeritud tootenäide aitab siin. Pritunli paljundamise dokumentatsioon käsitleb VPN-võrku iga koopia objektina, ja erinevates koopiates olevad kliendid vajavad üksteiseni jõudmiseks lisamarsruute ja ühenduvust. See on tootespetsiifiline korraldus, mitte retsept Community OpenVPN-ile, kuid näitab, miks koopia lisamine muudab võrku, mitte ainult kontode hoidlat.
Mis on sessioon: elav olek, mitte rida
Kolmas register on elus sessioon. Ühendatud kliendil on protokolli olek ja võrgu määramine sõlmes, mis ta vastu võttis. See, et konto on teises sõlmes teada, ei anna sellele sõlmele sessiooni, võtmeid ega võimalust pakette jätkata.
Olge selge, mis juhtub, kui sõlm nurjub. Toetatud tulemus võib olla taasühendus teise sõlmega värske autentimise ja uue aadressiga, mille järel rakendus taastub omamoodi. Kui on nõutud katkematu üleandmine, vajab see nõue selget rakendustuge, mitte andmebaasi paljundamisest tuletatud järeldust. Kirjutage vastus sinna, kus valves insener selle leiab.
Mahureeglid vajavad sama käsitlust. Piirang kaks samaaegset sessiooni konto kohta on sõlmede vahel jõustatav ainult siis, kui mõnel autoriteedil on koordineeritud vaade hõivatud kohtadele. Sõlmekohalikud loendid ja ajalooline kontokirje ei liitu selleks vaateks.
Kolme registri proovimine
Harjutage igaüht eraldi. Logige sisse sõlme A kaudu, seejärel sõlme B kaudu, ja kinnitage, et mõlemad õnnestuvad oodatud aadressivahemikega. Tühistage identiteet ja kontrollige mõlemat sõlme, mitte ainult seda, mida juhtusite katsetama. Seejärel peatage üks sõlm ja jälgige, mida klient ja privaatne rakendus tegelikult teevad.
Kaasake tagasitee vastuvõtutesti. Klient, mis ühendub B-ga, kuid ei saa vastuseid A taga olevalt ressursilt, on läbinud vastuvõtukontrolli ja kukkunud võrgukontrollis, ning see vahe tuleks aruandes välja tuua.
Mitme sõlme konto projekt on täielik alles siis, kui kõigil kolmel registril on selge omanik, muutuste tee ja tõrkekäitumine. Konfiguratsioonifaili kopeerimine sõlmede vahel ei vasta ühelegi neist küsimustest.