Įdiegiate antrą klientą, kad jį palygintumėte, ir pirmasis nustoja veikti. Niekas nebuvo ištrinta, ir abi programos vis dar įdiegtos. Pasikeitė tai, kas yra po jais: sistemos plėtinys, DNS nuostata ar numatytasis maršrutas, ir du klientai dabar nesutaria, kam tai priklauso. Diegimas nėra rizikinga dalis; rizikinga dalis yra paleisti abu be užrašytos pradinės būsenos, į kurią galima grįžti.

Simptomas: veikianti konfigūracija sustoja po antrojo diegimo

Šiuolaikiniai macOS VPN klientai dažnai pateikia tinklo plėtinį, o ne seno stiliaus sąsają. Vieno diegimas gali paprašyti patvirtinimo, pridėti konfigūracijos profilį arba užregistruoti sistemos plėtinį, kuris paveikia srautą dar prieš sukuriant bet kokį ryšį. Plėtinys įkeliamas prieš pasirodant programos langui, todėl pradinis klientas gali nepavykti, kol naujasis stovi nenaudojamas.

Jei pradinis klientas tada negali prisijungti arba prisijungia ir nieko neišsprendžia, naujasis plėtinys yra pirmasis įtariamasis. Tai ne konflikto įrodymas, bet nuo čia prasideda tyrimas. Toliau patikrinkite plėtinių sąrašą ir įdiegtus konfigūracijos profilius, ne tik programų aplanką.

Užsirašykite pradinę būseną prieš ką nors diegdami

Užrašykite, kas šiuo metu veikia: programos rezultatą, kliento versiją, galinį tašką, prie kurio jis jungiasi, ir bet kokias išimtis pagal programą arba bendram tuneliui. Išsaugokite pradinį profilį per apsaugotą procesą, kurį palaiko klientas, o ne kopijuodami failus iš programos paketo.

scutil --dns | head -40
netstat -rn | head -30
ifconfig | grep -E "^(utun|ipsec)"

Užfiksuokite šias tris išvestis, kol veikiantis klientas prisijungęs. Jos pateikia sprendėjo būseną, maršrutų lentelę ir sąsajų sąrašą, kurį sukuria veikianti konfigūracija, ir būtent to reikia vėlesniam palyginimui. Jei Mac kompiuterį valdo darbdavys, prieš pradėdami patvirtinkite, kad palyginimas leidžiamas, nes automatinis darbo ryšys gali vėl suaktyvėti bandymo metu, ir tada rezultatas neatspindi nė vieno kliento atskirai. Laikykite tris išvestis šalia profilio pastabos, kad vėlesnis palyginimas turėtų atskaitos tašką.

Keiskite po vieną aktyvų kelią

Sustabdykite pradinį ryšį įprastu jo valdymu, tada paleiskite alternatyvą. Du vienu metu prisijungę klientai duoda rezultatą, apibūdinantį derinį, o ne kurį nors produktą. Išlaikykite galinį tašką ir užduotį palyginamus, jei paslaugos leidžia, nes greitesnis atsisiuntimas per kitą serverį lygina dvi ryšio parinktis, o ne dvi programas.

Jei naujasis klientas nepavyksta, išsaugokite jo pirmąją klaidą prieš ką nors keisdami. Pirmoji klaida paprastai nurodo etapą, o antrasis bandymas po nustatymų pakeitimo dažnai praneša ką nors mažiau naudingo.

Palyginkite DNS, maršrutus ir programą, o ne tik greitį

Vykdykite tas pačias tris komandas su prisijungusiu nauju klientu ir palyginkite jas eilutė po eilutės. Sprendėjas, nurodantis kitur, arba maršrutų lentelė be privataus potinklio paaiškina daugumą elgsenos skirtumų dar nepažiūrėjus į pralaidumą. Tada išbandykite pačią programą su ta pačia užduotimi, nes klientas, kuris greitai prisijungia ir nesugeba išspręsti vidinio vardo, nelaimėjo palyginimo, net jei būsenos langas atrodo geriau.

Atkreipkite dėmesį, kurią sąsają naudojo srautas. macOS sistemoje tunelio sąsajos pavadinimas nėra patikimas rodiklis, kuriam klientui priklauso maršrutas, todėl susiekite sąsajų sąrašą su maršrutų lentele, o ne skaitykite tik vieną iš jų. Jei yra dvi utun sąsajos, srautą neša ta, kuri turi atitinkantį maršrutą ir sprendėjo įrašą. Spėliojimas iš pavadinimo yra būdas apkaltinti ne tą sąsają, nes egzistuojanti sąsaja ne visada yra ta, kuri neša srautą.

Skaitykite tris išvestis, o ne tik perbraukite jomis akimis. Sprendėjo išraše prie utun sąsajos prijungtas vardų serveris parodo, kuris klientas jį įdiegė; maršrutų lentelėje numatytasis maršrutas įvardija sąsają, kuri neša srautą; sąsajų sąraše antras utun įrenginys reiškia, kad buvo sukurtas antras tunelis. Šios trys eilutės, palygintos su pradine būsena, atskiria atkurtą konfigūraciją nuo tos, kurioje abu klientai vis dar konkuruoja.

Atkurkite, tada pašalinkite švariai

Grįžkite per paties pradinio kliento darbo procesą ir patvirtinkite, kad pradinės būsenos išvestys atitinka tai, ką užsirašėte. Jei sprendėjas ar maršrutų lentelė neatsistato, sustokite ir sutvarkykite tai prieš ką nors kitą pašalindami. Pašalinkite nenaudojamą konfigūraciją per komponentą, kuriam ji priklauso: kliento šalinimo programą, profilį ar sistemos plėtinio nustatymus.

Užbaikite atnaujindami pastabas išbandyta versija, naudotu galiniu tašku ir kiekvieno rezultatu. Po pusės metų šis įrašas yra skirtumas tarp sprendimo ir gando.

Susiję straipsniai