OpenVPN TAP macOS: patikrinkite klientą prieš pradėdami derinti
TAP perduoda Ethernet kadrus, o TUN – IP, ir dauguma dabartinių macOS klientų pirmojo atsisakė. Patvirtinkite režimą, tada pereikite kartu su serverio savininku.
Senas profilis patenka į naują Mac, klientas jį importuoja be jokių priekaištų, o ryšys nutrūksta arba duomenys niekada nepraslenka. Prieš skirdami visą popietę sertifikatams, perskaitykite įrenginio eilutę profilyje. Jei joje parašyta dev tap, jūs prašote kliento Ethernet tipo sąsajos, ir macOS būtent šiame prašyme baigiasi dauguma tokių sesijų.
1 žingsnis: patvirtinkite, kad profilis tikrai prašo TAP
Profiliai pervadinami, įvyniojami ir eksportuojami iš naujo, todėl tikrinkite failą, kurį tikrai importavote. Ieškokite įrenginio direktyvos ir bet kurio include, galinčio ją pakeisti. Dvi išvesties eilutės dažniausiai išsprendžia klausimą. Kai pasitaiko ir dev, ir dev-type, laimi vėlesnė direktyva, ir būtent tokią detalę slepia nukopijuotas profilis.
grep -nE "^[[:space:]]*(dev|dev-type)[[:space:]]" client.ovpn
ls -l ~/Library/Application\ Support/ 2>/dev/null
Jei faile yra dev tap arba dev tap0, klientas turi įgyvendinti TAP sąsają. Jei yra dev tun, likusi straipsnio dalis netaikoma, o gedimas yra kitur.
Užrašykite kliento pavadinimą ir versiją, macOS versiją ir iš kur gautas profilis. Šie trys faktai lemia, kuris iš dviejų žemiau nurodytų kelių apskritai įmanomas.
2 žingsnis: sužinokite, ką iš tikrųjų keičia įrenginio režimas
TUN sąsaja perduoda IP paketus. Klientas skaito ir rašo paketus, adresuotus IP partneriui, o operacinė sistema juos maršrutizuoja kaip bet kurią kitą sąsają.
TAP sąsaja perduoda Ethernet kadrus, įskaitant transliaciją ir ARP. Tai leidžia sujungtam serveriui dalyti adresus per DHCP, o klientui atrasti įrenginius šaukiant, todėl kai kurie seni sprendimai tuo remiasi.
Kaina ta, kad TAP reikia tvarkyklės, kuri sistemai pateikia Ethernet sąsają. Apple atsisakė branduolio plėtinio modelio, kuriuo rėmėsi senesnės Mac TAP tvarkyklės, o jo pakaitalo API neatsiranda stebuklingai klientuose, kurie niekada nebuvo atnaujinti jo naudoti. Platformos galimybė ir pristatytas produktas yra du skirtingi dalykai.
3 žingsnis: pasirinkite tarp suderinamo kliento ir migracijos
Yra du sąžiningi keliai. Pirmasis – klientas, kurio leidėjas jūsų macOS versijai ir aparatūrai nurodo palaikantis reikiamą TAP konfigūraciją. Ne forumo įrašas iš prieš ketverius metus ir ne archyvuotas diegėjas: dabartinis pareiškimas ir bandomasis ryšys.
Antrasis – perkelti paslaugą į TUN, o tai tiek pat serverio, kiek ir kliento pakeitimas. Reikia maršrutizuotos topologijos, adresų baseino, stumiamų maršrutų nuotoliniams tinklams ir grįžimo kelio iš tų tinklų į baseiną.
Tai, kas neveikia, yra pakeisti tap į tun vietinėje kopijoje ir tikėtis. Serveris vis dar jungia, klientas dabar kalba IP, ir niekas nesutampa.
4 žingsnis: surinkite faktus prieš keisdami veikiančią paslaugą
Palikite originalų profilį nepaliestą ir padarykite eksperimentams kopiją. Failas, kurį galite atkurti per minutę, vertesnis už tvarkingą aplanką. Kai pakaitalas suveikia, sąmoningai ištrinkite kopiją, o ne palikite du profilius, sąraše atrodančius vienodai. Šis vienas įprotis išvengia didžiosios dalies painiavos po nepavykusios migracijos. Užrašykite dabartinį elgesį, kad galėtumėte įrodyti, kas pasikeitė: ar tunelis pakyla, ar gauna adresą, ar pasiekiate vieną žinomą mazgą ir ar veikia vardų skyrimas.
Užduokite tinklų sietuvui tris klausimus. Ar serveris veikia sujungtoje, ar maršrutizuotoje topologijoje? Kurie nuotoliniai priešdėliai turėtų būti pasiekiami? Ir ar yra techninės priežiūros langas konfigūracijai keisti, ar tikimasi, kad viskas veiks neliečiant serverio?
Atsakymai į tai lemia, ar šią popietę sprendžiate kliento problemą, ar kitą savaitę planuojate tinklo pokytį.
5 žingsnis: patikrinkite migraciją iš abiejų pusių
Kai serveris turi maršrutizuotą konfigūraciją, o jūs – tinkamą profilį, išbandykite tokia tvarka: tunelis susidaro, klientas gauna adresą iš naujo baseino, nuotolinės pusės mazgas atsako, o vardas išsprendžiamas per stumiamą DNS nuostatą.
Tada išbandykite tai, kas anksčiau priklausė nuo Ethernet elgesio. Jei programa atrasdavo įrenginius transliacija, maršrutizuotu tuneliu jų neras, ir jokia kliento konfigūracija to negrąžins. Tokiai programai reikia žinomo adreso, vietinio pagalbinio mazgo ar kito aptikimo būdo.
Užbaikite vieną kartą prisijungę iš naujo ir vieną kartą paleidę iš naujo, nes profilis, veikiantis tik pirmu bandymu, paprastai reiškia, kad stumiami maršrutai ar DNS nuostata neitaikomi prisijungiant iš naujo.
Kai vis tiek nepavyksta, perskaitykite pirmąją klaidą
Klientas, kuris negali sukurti sąsajos, tai pasako žurnale, dažniausiai pirmose eilutėse. Klientas, kuris ją sukuria ir po to nepraeina autentifikacijos, jau seniai praėjo įrenginio klausimą, o tolesnis TAP persekiojimas švaisto sesiją.
Saugokite originalų profilį ir veikiančią konfigūraciją, kol pakaitalas bus įrodytas. Kliento pakeitimą atšaukti greita; sujungto tinklo, kurį kas nors išardė pagal nuojautą, atstatymas ne toks greitas.