Zakaj si veliko povezav aplikacij deli eno sejo OpenVPN
En zunanji pogovor UDP nosi vsak notranji tok, ki ga poti pošiljajo vanj. Notranja vrata in protokoli preživijo; fiksna ostane le zunanja peterica.
Predstavljajte si brskalnik, ki nalaga stran HTTPS, medtem ko odjemalec SSH doseže drug strežnik in razreševalnik odgovori na poizvedbo, vse skozi eno sejo OpenVPN. Na fizičnem vmesniku vidite en pogovor; znotraj tunela vidite tri. Oba pogleda sta pravilna, in vedeti zakaj je razlika med koristnim in zmedenim zajemom. Sledite enemu notranjemu toku od vtičnice do žice in slojevitost preneha biti abstraktna.
En zunanji pogovor, veliko notranjih tokov
Vsaka aplikacija odpre svojo vtičnico, jedro pa ji dodeli peterico: naslov vira, vrata vira, naslov cilja, vrata cilja in protokol. Te peterice obstajajo še preden se vključi kakršen koli tunel. Nato usmerjanje odloči, da vsi izhajajo skozi tunelsko napravo, zato paket, predan OpenVPN, še vedno nosi izvirne glave v sebi. OpenVPN ta notranji paket šifrira in rezultat zavije v en zunanji pogovor UDP ali TCP s partnerjem. Zunanji pogovor je torej eden, medtem ko je tokov v njem toliko, kolikor jih je aplikacij odprlo.
Nič se ne sesede. Notranje peterice preživijo od konca do konca, in zato oddaljena stran še vedno loči tri tokove.
Vrata, ki ostanejo fiksna
Stalna ostane zunanja peterica: vaš naslov, lokalna vrata, ki jih je odjemalec vezal, naslov partnerja in konfigurirana storitvena vrata. To peterico mora dovoliti požarni zid ali NAT na poti, in to bo pokazal zajem na navzgornji povezavi. Je tudi tista, ki se spremeni po ponovni povezavi ali menjavi omrežja, ker lahko odjemalec veže druga lokalna vrata. En tunel ne pomeni enih fiksnih izvornih vrat za vedno.
Notranja vrata so tisto, kar je pomembno končnim točkam. Tok HTTPS ohrani ciljna vrata 443 znotraj tunela, čeprav zunanji transport sedi na vratih, ki jih je konfiguriral operater. Končne točke aplikacije nikoli ne izvedo za zunanja.
Kaj dekapsulacija spremeni na oddaljenem koncu
Pri partnerju se zunanji sloj odstrani in ostane notranji paket. Od tam se posredovanje in politika dostopa uporabljata za notranji cilj in protokol. Spletni strežnik še vedno prejme povezavo HTTPS, demon SSH še vedno prejme SSH, razreševalnik pa še vedno prejme poizvedbo.
Zato pravilo, ki dovoljuje zunanji transport, ni isto pravilo kot dovoljenje notranje storitve. Prvo opisuje pot; drugo opisuje pooblastilo.
Zunanji TCP pomeni en tok, ne ene povezave
Ko je zunanji transport UDP, je usoda vsakega notranjega toka neodvisna: izgubljen datagram vpliva na en prenos do lastnega ponovnega pošiljanja. Ko je zunanji transport TCP, si vsi notranji tokovi delijo en zanesljiv bajtni tok.
Ta skupni tok je del, ki ga ljudje spregledajo. Obnovitev se zgodi enkrat, za vse, zato en izgubljen segment zakasni promet vsake znotraj multipleksirane aplikacije. Na končnih točkah je še vedno veliko povezav, na žici pa ena povezava, in prav na žici živi učinek glave vrste. Število poslušajočih vrat o tem ne pove ničesar, zato je štetje vrat slab način razmišljanja o zmogljivosti tunela.
Natančno opišite svojo nastavitev
Poimenujte izbrani notranji promet in konkretni zunanji transport, ki ga nosi, namesto da bi rekli, da stroj pošilja vse skozi ena vrata. Lokalne storitve, drugi tunel in druga družina naslovov ustvarjajo tokove, ki nikoli ne vstopijo v ta pogovor. Zajem na navzgornji povezavi pokaže zunanjo peterico; zajem znotraj tunela pokaže notranje.
Vzemite oboje in časovne žige položite drug ob drugega. Če morate dokazati, katera aplikacija je ustvarila kateri notranji tok, je tabela vtičnic na gostitelju boljše orodje, ker vrata neposredno poveže s procesi. Nato zapišite opaženo zunanjo peterico in trenutek opažanja, kajti naslednji zajem po ponovni povezavi lahko povsem zakonito pokaže drugačne številke.