Vsak profil odjemalca navaja en strežnik, zato z uporabnikovega mesta obstaja en tunel in eno mesto, kjer se zaščita konča. Kaj se zgodi za temi prvimi vrati, je oblikovalska odločitev, ki je odjemalec nikoli ne vidi, in oba običajna modela se pri pregledu obnašata zelo različno. V serijski verigi prva vrata dešifrirajo in znova šifrirajo. V gnezdeni verigi odstranijo zunanjo plast in posredujejo notranji tunel, ki ga ne morejo odpreti. Število skokov je v obeh enako, zato je treba razliko narisati, ne prešteti.

Začnite pri odjemalcu in poimenujte oba konca

Začnite tam, kjer začne uporabnik, v profilu povezave. Vsebuje en oddaljeni naslov, eno metodo preverjanja pristnosti in, kadar model to podpira, seznam poti. Označite tisti zunanji tunel od odjemalca do prehoda A in mu dajte primerne naslove: naslov tunela odjemalca 10.77.0.2, naslov A 10.77.0.1 in javno končno točko A 198.51.100.10, vzete iz dokumentacijskega obsega TEST-NET-2, da se nič v primeru ne more zaleteti v resničnega gostitelja.

Nič v tem profilu ne omenja prehoda B, in to ni napaka. Drugi skok pripada A, edina dolžnost odjemalca pa je dostaviti promet do A in sprejeti, kar se vrne. Ali A tunel zaključi, ga posreduje naprej ali odpre novega, je vprašanje, na katero odgovarja preostanek tega pregleda, in to odloča, kaj lahko A bere.

Serijsko: A dešifrira in nato znova šifrira

V serijskem modelu A promet zaključi dvakrat. Odstrani zaščito z odjemalca, pridobi paket IP aplikacije in nato ta paket pošlje skozi drugi tunel, ki ga A vzpostavi proti B. Med tema dvema operacijama paket leži na poti posredovanja A kot običajen paket IP, naslovljen na zasebni cilj.

To prinese dva učinka, ki ju je vredno povedati naravnost. A lahko na notranji paket uporabi politiko v obliki poti, filtrov in beleženja izvora ter cilja, in A mora hraniti dva nabora poverilnic: enega kot strežnik za odjemalca in enega kot odjemalec B. Zaščita obstaja v vsakem trenutku, vendar zaščiteni predmet pri A spremeni identiteto.

Iz tega ne sledi, da A bere odprto besedilo aplikacije. Ko odjemalec in storitev izvajata TLS in preverjata certifikate drug drugega, A vidi tok zapisov TLS in ne berljive zahteve. Potrditev, kje se ta zaščita konča, zahteva pogled na verigo certifikatov storitve, ne na shemo tunela.

Gnezdeno: A odstrani le zunanjo plast

V gnezdenem modelu odjemalec najprej zgradi notranji tunel do B in nato ta tunel nosi znotraj zunanjega do A. A odstrani zunanjo glavo, najde notranji tunel in ga posreduje, ne da bi držal njegove ključe, zato se notranja zaščita še vedno konča pri B.

Nato vzpon odjemalca nosi dve plasti, pot med A in B pa eno. A vidi zunanje naslove notranjega tunela, kar zadostuje, da ve, da promet obstaja in približno kam gre, in ne zadostuje za branje tovora. To je vsa razlika od serijskega primera, in noben števec skokov je ne pokaže. Kar A še lahko stori, je zavrnitev posredovanja tega, česar ne more brati, in to je operaterju teh vrat vedno na voljo.

Gnezdenje se plača za to lastnost. Vsaka plast doda stroške glave, zato načrtovanje MTU in MSS postane obvezno in ne le urejeno, pot, ki deluje z eno plastjo, pa lahko z dvema tiho spusti velike pakete. Vsaka plast potrebuje tudi svoje vedenje pri ponovnem povezovanju in vzdrževanju, okvara v eni plasti pa se skozi drugo kaže kot delna prekinitev.

Narišite opazovalce, ne le tunelov

Tuneli so lažji del risbe. Opazovalci so tisto, za kar gre pri modelu, zato napišite eno vrstico na vsako vidno točko in izpolnite, kaj lahko vsak v resnici prebere.

Vantage pointSerial chainNested chain
Client's access networkOuter tunnel onlyOuter tunnel only
Operator of AInner IP packet between A and BOuter addresses of the inner tunnel, not its payload
Path between A and BSecond tunnelSecond tunnel
Operator of BInner packet re-originated by APayload after the inner layer is removed
Service edgeTraffic from the exit addressTraffic from the exit address

Dve vrstici se nenehno mešata: operater A in ponudnik odjemalčevega tunela. Lahko sta ena entiteta, in ločena imena prehodov ju ne naredijo neodvisnih. Neodvisna lastnina zahteva ločen upravni nadzor, ločene poverilnice in ločeno beleženje.

Metapodatki preživijo oba modela. Čas, velikosti paketov in število povezav ostajajo na vsakem skoku opazljivi, zato dva skoka dvigneta ceno korelacije, namesto da bi odstranila signal. Model, ki obljublja nevidnost, bi bilo treba pred zanašanjem primerjati s tem seznamom.

Prehodite poti okvare, preden izberete

Lomite stvari namenoma z odjemalca, v vrstnem redu, v katerem bi jih uporabnik srečal. Začnite z vmesnikom in njegovim MTU, ker gnezdenje odpove pri velikosti paketa veliko prej kot pri preverjanju pristnosti.

ip -4 addr show dev tun0
ip link show dev tun0 | grep mtu
ping -M do -s 1380 -c 2 10.77.1.1

Nato potrdite končne točke zaščite, namesto da bi jih predpostavljali. Zaprosite storitev za njen certifikat iz notranjosti katerega koli odprtega tunela in primerjajte verigo, ki jo vidi odjemalec, z verigo, ki jo storitev v resnici predstavi. Prehod, ki znova podpiše ali prestreže, spremeni ta certifikat, in pregled postane viden z enim samim ukazom.

openssl s_client -connect intranet.example.com:443 -brief < /dev/null

Končajte z matriko ponovnega povezovanja: tunel odjemalca pade, tunel B pade, pot med A in B se spremeni. Zabeležite, kaj se vrne in kaj ne, in ali notranja povezava kdaj pade na pot zunaj svojega predvidenega nosilca. Zapišite naslove, ki jih je uporabil vsak test, ker ponovitev v drugem dostopovnem omrežju odgovarja na drugo vprašanje. Po vsakem ponovnem povezovanju ponovite tudi preizkus MTU, ker spremenjena pot lahko zniža uporabno velikost, ne da bi se premaknila ena sama vrstica konfiguracije.

Izberite serijsko, ko mora A uporabiti politiko na notranjem paketu, ali ko odjemalec ne more poganjati dveh zloženih tunelov. Izberite gnezdenje, ko mora notranji tovor pri A ostati neberljiv. Zapišite izbiro z njenimi opazovalci in njenimi številkami MTU, in naslednja oseba ne bo morala znova narisati celotne slike, da bi odgovorila na eno vprašanje.

Sorodni članki