OpenVPN TUN prieš TAP: trys sąlygos, kurios nusprendžia
Viena sąsaja perduoda IP paketus, kita – Ethernet kadrus. Patikrinkite programą, kliento palaikymą ir tikrąjį simptomą prieš ką nors sujungdami tiltu.
Du tuneliai gali perduoti tą patį failo persiuntimą ir vis dėlto visiškai skirtis tuo, ką deda į laidą. Vienas perkelia IP paketus tarp dviejų adresų; kitas perkelia Ethernet kadrus ir gali būti sujungtas tiltu į segmentą. Šis skirtumas nulemia, kurios programos veikia, kurie klientai gali prisijungti ir kiek tinklo projektavimo prisiimate.
Praktiškai tai nusprendžia trys sąlygos. Nagrinėkite jas iš eilės, nes pirmoji paprastai užbaigia diskusiją.
Ką iš tikrųjų perduoda kiekviena sąsaja
TUN įrenginys yra 3 lygio taškas-taškas sąsaja: branduolys jam perduoda IP paketus, o tunelis juos nuneša į partnerio adresą. TAP įrenginys yra 2 lygio sąsaja, perduodanti Ethernet kadrus, ir būtent tai apskritai įgalina tiltą, kaip aprašo branduolio dokumentacija. Nė vienas nekeičia to, kaip šifruojama naudingoji apkrova, ir nė vienas nėra stiprumo nustatymas. Pasirinkimas yra apie tai, ką turi apsikeisti galai, o ne apie tai, kaip gerai apsaugotas srautas.
Viena pasekmė iškart išplaukia: abu galai turi sutarti. Klientas, sukonfigūruotas vienam įrenginio tipui, negali prisijungti prie serverio, sukonfigūruoto kitam, kad ir kas kita sutaptų.
Pirmoji sąlyga: ar kam nors reikia antrojo lygio?
Tiltas pateisina savo sudėtingumą, kai protokolui tikrai reikia to paties transliacijos domeno: ne IP srauto, aptikimo, kuris negali pereiti maršrutizatoriaus, arba programos, kuri reikalauja būti viename segmente. Visa kita yra maršrutizavimo problema, o maršrutizavimas ją išsprendžia daug mažesne mašinų suma. Segmento išplėtimas didelėje teritorijoje išplečia ir jo transliacijas, todėl kilpų prevencija, adresų planavimas ir gedimų domenai tampa dizaino dalimi. Tai daug ką priimti už reikalavimą, kurį būtų patenkinęs vienas maršrutas.
Testas konkretus: įvardykite programą, kuri nepavyksta maršrutizuotame tunelyje, ir pasakykite kodėl. Jei atsakymas yra kad jai reikia transliacijos, antrasis lygis yra sąžiningas atsakymas. Jei atsakymas yra kad kažkas negalėjo pasiekti vieno serverio, reikalavimas yra maršrutas arba ugniasienės taisyklė.
Antroji sąlyga: ar klientai gali tai?
Palaikymas nėra vienodas. Darbalaukio klientai paprastai pateikia abu įrenginio tipus, o mobilieji ir integruoti klientai dažnai įgyvendina tik maršrutizuotą režimą, ir profilis, importuotas be priekaištų, vis tiek gali nepavykti, kai bando sukurti sąsają. Tikrinkite konkretų klientą ir versiją, o ne spėkite funkcijas iš platformos pavadinimo.
Nepalaikomos parinkties klaida nėra kvietimas trinti nepažįstamas eilutes, kol importas pavyks. Tai reiškia, kad profilis ir klientas nesutaria, kas įmanoma, o taisymas priklauso operatoriui, išdavusiam profilį. Parinkties pašalinimas, siekiant nutildyti validatorių, gali sukurti ryšį, kuris atrodo veikiąs, bet tyliai praleidžia savybę, kuriai jis egzistavo.
Trečioji sąlyga: ar tai tikrai sąsajos klausimas?
Dėl sąsajos problemų kaltinami du gretimi pasirinkimai. Virtualus įrenginys nusprendžia, kas patenka į tunelį, o UDP arba TCP nusprendžia, kaip elgiasi išorinis transportas, ir nė vienas negydo užstrigusių persiuntimų. Kai dideli persiuntimai stringa, o maži pavyksta, dėmesio verti paketo dydis ir MTU.
Klientas, kuris prisijungia ir tada negali pasiekti vieno vidinio mazgo, dažniausiai žiūri maršrutizavimą, ugniasienės taisyklę arba trūkstamą grįžimo kelią.
Valdomai paslaugai naudokite sąsajų išdėstymą, kurį nurodo operatoriaus profilis, nes serverio pusė jau pastatyta aplink jį. Privačiam diegimui rinkitės pagal tikrąjį programos reikalavimą ir parašykite priežastį šalia pasirinkimo.
Klausimas nėra tai, kuri parinktis stipresnė. Klausimas yra tai, kurios iš tikrųjų reikia srautui.