Yksi tili, joka voi kirjautua kumpaan tahansa kahdesta VPN-solmusta, nostaa suunnittelukysymyksen esiin kauan ennen ohjelmistokysymystä. Tilinäkymä, kunkin solmun omistama verkko ja yhdistetyn asiakkaan pitämä istunto ovat kolme erilaista tilan lajia, ja ne epäonnistuvat eri tavoin, kun kopioit niitä ympäriinsä. Kaikkien kolmen kopioiminen yhteen järjestelmään on tavallinen tapa menettää yksi niistä.

Käy alla olevat kolme rekisteriä järjestyksessä läpi. Jokainen kysyy, mikä on valtuutettu, mikä paikallinen ja mitä tapahtuu, kun toinen solmu puuttuu, eivätkä vastaukset seuraa toisistaan.

Kuka saa yhdistää: yksi valtuus, monta solmua

Aloita sisäänpääsyrekisteristä: mikä identiteettilähde on valtuutettu, mihin varmenteiden myöntäjiin luotetaan, mitkä tilit ovat kelpoisia, mikä toinen tekijä pätee ja mihin kukin tili yltää. Kirjoita sitten ylös, miten kukin solmu saa tietää muutoksista ja kuinka nopeasti.

Jaettu tietokanta on yksi mahdollinen osa tuota vastausta. Se ei todista, että jokainen asiaankuuluva käytäntö asuu siellä tai että jokainen solmu soveltaa muutosta samalla hetkellä. Solmussa A poistettu mutta solmussa B yhä hyväksytty tili tarkoittaa, että poistumisprosessi ei ole valmis.

Päätä, mitä solmu tekee, kun valtuus ei ole tavoitettavissa. Välimuistiin tallennettujen tunnusten hyväksyminen katkoksen aikana on käytäntövalinta, jolla on turvallisuuskustannus, ja niiden hylkääminen on käytäntövalinta, jolla on saatavuuskustannus. Molemmat ovat puolustettavia; sen dokumentoimatta jättäminen ei ole.

Pidä myöntäjän valtuus erillään tilin tiedoista. Useat yhdyskäytävät voivat luottaa samaan CA:han pitämättä sen allekirjoitusavainta, ja jokainen solmu tarvitsee yhä oman palvelinvarmenneensa ja oman asiakaspuolen luottamussuhteensa.

Mitä solmu omistaa: osoitteet ja reitit

Toinen rekisteri on paikallinen kullekin solmulle: kuunteluosoite, palvelimen identiteetti, osoiteallas, reitit yksityisiin resursseihin, selvittimen käytäntö ja miten liikenne lähtee kohti internetiä. Sama tili voi olla kumman tahansa solmun palveltavana, kun nämä oliot pysyvät erillisinä.

Paluupolku on se osa, joka unohdetaan. Jos molemmat solmut jakavat osoitteita samasta altaasta, yksityinen verkko ei voi kertoa, mille solmulle tietty asiakas kuuluu, ja vastaus voi mennä väärään paikkaan. Eri altaat tarvitsevat myös reitit ja käyttöoikeudet, joten erillinen numeroväli ei ole täydellinen suunnittelu.

Ohjaa asiakkaat solmuun tarkoituksella. DNS-valinta, asiakkaan päätepisteluettelot ja etupään palvelu ovat eri mekanismeja, joilla on erilainen terveys- ja vikasietokäyttäytyminen. Yhden valitseminen on hyvä; jos “kuormantasapainoa” pidetään suunnitteluna, paluupolku ja vikakäyttäytyminen jäävät määrittelemättä.

Dokumentoitu tuote-esimerkki auttaa tässä. Pritunlin replikointidokumentaatio käsittelee VPN-verkkoa kopiokohtaisena oliona, ja eri kopioissa olevat asiakkaat tarvitsevat lisäreittejä ja yhteyksiä päästäkseen toisiinsa. Se on tuotekohtainen järjestely, ei resepti Community OpenVPN:lle, mutta se näyttää, miksi kopion lisääminen muuttaa verkkoa eikä vain tilitietovarastoa.

Mitä istunto on: elävä tila, ei rivi

Kolmas rekisteri on elävä istunto. Yhdistetyllä asiakkaalla on protokollatila ja verkkomääritys solmussa, joka otti hänet vastaan. Se, että tili tunnetaan toisessa solmussa, ei anna sille solmulle istuntoa, avaimia tai kykyä jatkaa paketteja.

Kerro selvästi, mitä tapahtuu, kun solmu pettää. Tuettu lopputulos voi olla uudelleenyhdistäminen toiseen solmuun tuoreella todennuksella ja uudella osoitteella, minkä jälkeen sovellus toipuu omalla tavallaan. Jos katkotonta siirtoa vaaditaan, vaatimus tarvitsee nimenomaista toteutustukea, ei tietokannan replikoinnista johdettua päätelmää. Kirjoita vastaus sinne, missä päivystävä insinööri voi löytää sen.

Kapasiteettisäännöt tarvitsevat saman kohtelun. Kahden samanaikaisen istunnon rajaa tiliä kohti voidaan valvoa solmujen välillä vain, jos jollakin valtuudella on koordinoitu näkymä varatuista paikoista. Solmukohtaiset luettelot ja historiallinen tilitietue eivät summaudu sellaiseksi näkymäksi.

Kolmen rekisterin kokeileminen

Harjoittele kutakin erikseen. Kirjaudu solmun A kautta, sitten solmun B kautta, ja varmista, että molemmat onnistuvat odotetuilla osoitealueilla. Peru identiteetti ja tarkista molemmat solmut, älä vain sitä, jota satuit testaamaan. Pysäytä sitten yksi solmu ja seuraa, mitä asiakas ja yksityinen sovellus todella tekevät.

Sisällytä paluupolku hyväksyntätestiin. Asiakas, joka yhdistää B:hen mutta ei voi vastaanottaa vastauksia A:n takana olevalta resurssilta, on läpäissyt sisäänpääsytarkistuksen ja epäonnistunut verkkotarkistuksessa, ja tämän eron pitäisi näkyä raportissa.

Monen solmun tilisuunnittelu on valmis vasta, kun kaikilla kolmella rekisterillä on nimenomainen omistaja, muutospolku ja vikakäyttäytyminen. Kokoonpanotiedoston kopioiminen solmujen välillä ei vastaa yhteenkään näistä kysymyksistä.

Aiheeseen liittyvät artikkelit