Prielaida yra ta, kad tunelis yra privatus, greitas laidas: jį pastatote, o viduje esantis srautas yra šifruojamas, kelias trumpesnis, o jungtis elgiasi kaip kabelis tarp dviejų vietų. Kiekviena šios prielaidos dalis yra atskira savybė, o tunelis suteikia tik pirmą dalyką, kurio paprašėte, būtent loginį kelią. Visa kita reikia pasirinkti ir sukonfigūruoti tyčia. Savybių painiojimas yra būdas, kuriuo projektas baigiasi šifruota jungtimi, kurios niekas negali diagnozuoti, ir delsos pažadu, kurio niekas negali įvykdyti.

Mitas: vienas tunelis, trys garantijos

Tunelis patikimai daro vieną dalyką. Jis priverčia du galinius taškus, kurie nėra tiesiogiai sujungti, elgtis taip, tarsi jie būtų gretimi kokiam nors tikslui, o tarpinė tinklo dalis perduoda išorinius paketus. Tai topologijos pokytis, ir jis pats savaime tikrai naudingas.

Šifravimas, protokolų perdavimas ir persiuntimo izoliavimas yra atskiri sprendimai, sluoksniuojami ant viršaus. GRE tunelis neturi nė vieno iš trijų kriptografine prasme, o IP-in-IP tunelis yra galiojantis projektas visiškai be konfidencialumo. Nė vienas iš jų nėra klaida; tai tuneliai, darantys būtent tai, ką daro tuneliai. Diagramos etiketė nepasako, kokios savybės yra.

Kai atskirsite savybes, klausimai taps atsakomi: ar šis tunelis perduoda maršrutizavimo gretimumą, ar perduoda kadrus, ar slepia vidinius adresus, ar žada ką nors apie vėlavimą? Tai keturi skirtingi atsakymai su keturiomis skirtingomis konfigūravimo pasekmėmis.

Ką tunelis iš tikrųjų prideda prie žemėlapio

Galiniai taškai gauna kelią, kurio anksčiau neturėjo. Ar tas kelias elgiasi kaip maršrutizuotas šuolis, ar kaip Ethernet segmentas, visiškai priklauso nuo inkapsuliavimo, o skirtumas keičia tai, ką abi vietos gali su juo daryti. Maršrutizuotas tunelis duoda jums kitą šuolį ir prefiksą; Ethernet plėtinys duoda transliacijos elgesį ir daug didesnę gedimų sritį.

IP tunelis automatiškai nepadaro tolimos vietos to paties potinklio dalimi ir nepriverčia maršrutizavimo protokolo veikti per jį, nebent realizacija palaiko tą gretimumą. Multicast yra dar vienas atskiras klausimas su savo atsakymu.

ip -d link show type gre
ip route get 10.20.0.5
traceroute -n -T -p 443 10.20.0.5
mtr -n --report -c 20 10.20.0.5

Tos komandos atsako į skirtingas klausimo dalis. Pirmoji pasako, koks sąsajos tipas egzistuoja, antroji pasako, kurį kelią pasirinktų branduolys, o paskutinės dvi rodo tikrąjį apatinio sluoksnio elgesį, o ne etiketės pažadą.

Perdavimas yra atskiras sprendimas nuo pasiekiamumo

Tunelis gali perduoti protokolą, kurio apatinis sluoksnis nepersiunčia. IPv6 per IPv4 kelią yra klasikinis atvejis, ir jis veikia todėl, kad galiniai taškai supranta abi šeimas, o maršrutizatoriai tarp jų turi tik pristatyti išorinius paketus. Apatiniam sluoksniui reikia veikiančio kelio iki tunelio galo ir nieko daugiau.

Tačiau galiniams taškams reikia visiškos paramos: persiuntimo, adresų ir programos, kuri iš tikrųjų naudoja vidinę šeimą. IPv6 prefikso priskyrimas tuneliui nepadaro paslaugos, veikiančios tik su IPv4, pasiekiamos per IPv6, ir nepadaro apatinio sluoksnio dual-stack.

Kadrų perdavimas yra didesnis įsipareigojimas nei protokolų perdavimas. Transliacijos srities išplėtimas per tunelį kartu perkelia spanning tree elgesį, ARP ir gedimų plitimą, o tai yra projektavimo sprendimas, o ne funkcijos jungiklis.

Izoliavimas nėra konfidencialumas

Teikėjo VPN laiko klientų maršrutus ir srautą atskiruose persiuntimo kontekstuose, ir tas atskyrimas yra tikras ir vertingas. Tai nėra šifravimas. BGP/MPLS VPN specifikacija aiškiai sako, kad jo privatumas kyla iš persiuntimo modelio, o ne iš kriptografijos, ir būtent šis skirtumas pasimeta skaidrėje, kuri tik sako VPN.

Jei jums reikia konfidencialumo, jums reikia kriptografinio mechanizmo su autentifikavimu ir raktų valdymu, ir jūs turite žinoti, kur jis baigiasi. Tunelis, užtikrinantis atskyrimą, ir tunelis, užtikrinantis šifravimą, gali būti tas pats tunelis, bet tik tada, kai kas nors sukonfigūravo abu.

Praktinė pasekmė yra ta, kad „tai yra VPN“ atsako į klausimą apie maršrutizavimo kontekstą ir nieko nepasako apie tai, kas gali skaityti kelio baitus. Dvi komandos gali abi būti teisios ir vis tiek apibūdinti skirtingus dalykus. Kai iškyla saugumo klausimas, klauskite kur baigiasi kriptografija ir kas autentifikuoja partnerius, o ne ar tunelis egzistuoja.

Delsa ir QoS seka apatiniu sluoksniu

Loginė briauna nėra trumpesnis fizinis kelias. Išoriniai paketai vis dar eina tais pačiais ryšiais, eilėmis ir teikėjais, o inkapsuliavimas prideda papildomų sąnaudų kiekvienam paketui ir apdorojimą abiejuose galuose. Tunelis gali būti greitas todėl, kad apatinis sluoksnis geras, niekada todėl, kad jis tunelis.

Paslaugos kokybės apdorojimas yra dar blogesnis, nes jis priklauso nuo administracinių sričių, kurių galbūt nekontroliuojate. Vidinės žymos turi būti tyčia susietos su išorinėmis, ir kiekvienas kelyje esantis teikėjas turi pasiūlyti apdorojimą, kurio tikitės. Šifravimas nesukuria prioriteto; jis paslepia lauką, kurį tarpinis įrenginys galėjo naudoti srautui klasifikuoti.

Išmatuokite apatinį sluoksnį prieš ką nors žadėdami. Ataskaita, rodanti stabilią delsą ir jokių nuostolių išoriniame kelyje, yra įrodymas; diagrama su tuneliu joje nėra.

Pasirinkite tunelį reikiamam tinklo ryšiui, tada atskirai nurodykite šifravimą, prieigos politiką, paketo dydį ir našumą. Keturi sprendimai, keturi įrodymai ir nė viena etiketė, kuri atstotų bet kurį iš jų.

Susiję straipsniai