OpenConnect vpnc-script: kurią failą jis vykdo?
Pagalbinis scenarijus, įdiegiantis maršrutus ir DNS, yra atskiras nuo tunelio kliento. Raskite kelią, kurį naudoja veikiantis klientas, prieš pakeisdami jį kopija iš forumo.
OpenConnect gali užbaigti tunelio rankos paspaudimą ir vis tiek palikti jus be maršruto į privatų potinklį, nes klientas ir pagalbinis scenarijus, keičiantis vietinio tinklo būseną, yra dvi skirtingos programos. Autentifikacija įrodo, kad šliuzas priėmė sesiją; ji nieko neįrodo apie tai, kokia sąsaja, kokie maršrutai ar kokie sprendėjo nustatymai buvo įdiegti po to. Dauguma painių pranešimų atsiranda pakeitus pagalbinį scenarijų kopija iš seno atsakymo, o tai keičia kiekvienos jungties elgseną mašinoje. Prieš ką nors jame keisdami, raskite pagalbinį scenarijų, kurį veikiantis klientas iš tikrųjų iškviečia.
Dvi programos, dvi atsakomybės
Klientas valdo transportavimą, autentifikaciją ir tunelio įrenginį. Atskiras pagalbinis scenarijus valdo tai, kas vyksta vietinėje sistemoje, kai tunelis jau egzistuoja: adresavimą sąsajoje, maršrutus į potinklius, kuriuos paskelbė šliuzas, ir sprendėjo konfigūraciją. OpenConnect pagalbinio scenarijaus dokumentacija aprašo tą atskyrimą ir aplinką, kurią gauna pagalbinis scenarijus. Šis skirtumas svarbus gedimo metu, nes atmestas slaptažodis ir trūkstamas maršrutas nėra tas pats įvykis, net jei darbalaukis rodo vieną dialogą abiem.
Atsiminti šį atskyrimą taip pat paaiškina, kodėl jungtis gali pranešti apie sėkmę, o privatūs vardai vis dar neišsprendžiami. Tunelis veikia abiem atvejais, ir skiriasi tik vietinės integracijos etapas.
Raskite pagalbinį scenarijų, kurį naudoja veikiantis klientas
Kelias nustatomas kuriant paketą ir gali būti pakeistas kiekvieno iškvietimo metu, todėl failas, kurį prisimenate iš kitos distribucijos, gali neturėti nieko bendra su šia jungtimi. Klauskite veikiančio proceso, o ne dokumentacijos, kuri atsitiktinai atidaryta.
openconnect --version
ps -o args= -C openconnect
dpkg -L openconnect | grep -i script
ls -l /etc/vpnc/ 2>/dev/null
Jei proceso eilutėje yra --script argumentas, tas failas laimi prieš sukompiliuotą numatytąją reikšmę. Senesni keliai, tokie kaip /etc/vpnc/vpnc-script gali egzistuoti ir likti nenaudojami, todėl jų ištrynimas ar redagavimas nieko nekeičia naujame kūrime. Patikrinkite ir pakeitimo datą, nes pagalbinis scenarijus, kurio niekas nelietė metų metus, yra stiprus ženklas, kad darbą atlieka supakuota numatytoji reikšmė.
NetworkManager integracija yra trečiasis savininkas, su savo pagalbiniu scenarijumi ir savo profilio nustatymais. Antros maršrutų ar sprendėjo scenarijaus sudėjimas ant šios integracijos dvigubina maršrutus ir palieka sprendėją, kurį dvi programos teigia valdančios. Pasirinkite vieną savininką kiekvienai jungčiai ir išjunkite kitą prieš testuodami.
Skaitykite pirmą nepavykusią operaciją, o ne paskutinį įspėjimą
Sąsajos konfigūracija, maršrutų įdiegimas, sprendėjo parinkimas ir pasenusios būsenos valymas yra atskiri žingsniai, o paskutinis atspausdintas įspėjimas dažnai yra valymo skundas, o ne gedimas, nutraukęs jungtį. Skaitykite aukštyn iki pirmos konkrečios nepavykusios operacijos. Pagalbinio scenarijaus klaida, įvardijanti failą ar adresą, verta daugiau nei dešimt eilučių išrinkimo triukšmo.
Palyginkite numatytą vietinį rezultatą su stebimu: tunelio įrenginys egzistuoja, maršrutas į žinomą privatų adresą eina per jį, o sprendėjas atsako už privatų vardą. Pagalbinis scenarijus, kuris pavyksta pirmuose dviejuose ir nepavyksta trečiame, rodo sprendėjo politiką, o ne maršrutizavimą. Pagalbinis scenarijus, kuris visai nesukonfigūruoja įrenginio, greičiausiai nebuvo paleistas, ir tai yra teisių, o ne tinklo klausimas. Prieš perrašydami bet kokią logiką patvirtinkite vykdymo bitą ir paslaugos paskyrą.
Patikrinkite prisijungimą, prisijungimą iš naujo ir atsijungimą
Nustatymas yra tik pusė sutarties, nes tas pats pagalbinis scenarijus turi atkurti arba pašalinti būseną, kurią valdo, kai tunelis uždaromas. Pagalbinis scenarijus, kuris prideda maršrutus ir niekada jų nepašalina, palieka mašiną su pasenusiu keliu, kuris išgyvena sesiją.
ip -brief address show tun0
ip route get 10.24.8.15
resolvectl status tun0
journalctl -u NetworkManager -b --no-pager | grep -i -E 'vpnc|script'
Paleiskite pirmus tris, kol esate prisijungę, atsijunkite, tada paleiskite juos dar kartą ir patvirtinkite, kad maršrutas ir sprendėjo įrašas dingo. Ketvirtoji eilutė rodo, ar pagalbinis scenarijus apskritai buvo iškviestas, ir kokį vykdymo kelią naudojo paslauga. Išsaugokite šią išvesties porą biliete, nes būtent palyginimas prieš ir po daro valymo klaidą akivaizdžią.
Laikykite pagalbinį scenarijų supakuotą ir paslaugos paskyros vykdomą, nes scenarijus, veikiantis jūsų apvalkale, vis tiek gali būti atmestas pagal ribotą paslaugos politiką. Kai pritaikymas tikrai reikalingas, dokumentuokite jo tikslą ir savininką bei kiekvieno naujinimo metu palyginkite su supakuota versija. Nepaaiškinta pagalbinio scenarijaus atšaka yra vienas iš nedaugelio dalykų, galinčių po metų sugadinti veikiančią jungtį.