OpenConnect vpnc-script: watter lêer word tans uitgevoer?
Die helper wat roetes en DNS installeer, is los van die tonnel-kliënt. Vind die pad wat die lopende kliënt gebruik voordat jy dit met 'n forum-kopie vervang.
OpenConnect kan die tonnel-handdruk voltooi en jou tog sonder 'n roete na die private subnet laat, want die kliënt en die helper wat die plaaslike netwerktoestand wysig, is twee verskillende programme. Outentisering bewys dat die gateway die sessie aanvaar het; dit bewys niks oor watter koppelvlak, roetes of resolver-instellings daarna geïnstalleer is nie. Die meeste verwarrende verslae kom daarvan dat die helper met 'n kopie uit 'n ou antwoord vervang word, wat die gedrag vir elke verbinding op die masjien verander. Spoor die helper op wat die lopende kliënt werklik oproep voordat jy enigiets daaraan wysig.
Twee programme, twee verantwoordelikhede
Die kliënt besit vervoer, outentisering en die tonneltoestel. 'n Aparte helper besit wat op die plaaslike stelsel gebeur sodra die tonnel bestaan: adressering op die koppelvlak, roetes vir die subnette wat die gateway aangekondig het, en resolver-konfigurasie. Die dokumentasie oor die OpenConnect-helper beskryf daardie skeiding en die omgewing wat die helper ontvang. Die onderskeid maak saak tydens 'n fout, want 'n verwerpte wagwoord en 'n ontbrekende roete is nie dieselfde voorval nie, selfs wanneer die lessenaar een dialoog vir albei wys.
Om die skeiding in gedagte te hou, verduidelik ook waarom 'n verbinding sukses kan rapporteer terwyl private name steeds nie opgelos word nie. Die tonnel is in albei gevalle op, en net die plaaslike integrasiefase verskil.
Vind die helper wat die lopende kliënt gebruik
Die pad word vasgestel wanneer die pakket gebou word en kan per oproep oorskryf word, so die lêer wat jy van 'n ander distribusie onthou, het dalk niks met hierdie verbinding te doen nie. Vra die lopende proses eerder as die dokumentasie wat jy toevallig oop het.
openconnect --version
ps -o args= -C openconnect
dpkg -L openconnect | grep -i script
ls -l /etc/vpnc/ 2>/dev/null
As die prosesreël 'n --script argument dra, wen daardie lêer bo die saamgestelde verstek. Ouer paaie soos /etc/vpnc/vpnc-script kan bestaan en steeds ongebruik wees, en daarom verander die verwydering of wysiging daarvan niks op 'n onlangse bou nie. Kyk ook na die wysigingsdatum, want 'n helper wat jare lank deur niemand aangeraak is nie, is 'n sterk teken dat die verpakte verstek die werk doen.
NetworkManager-integrasie is 'n derde eienaar, met sy eie helper en sy eie profielinstellings. Om 'n tweede roete- of resolver-skrip bo-op daardie integrasie te stapel, dupliseer roetes en laat 'n resolver wat twee programme albei beweer hulle bestuur. Kies een eienaar per verbinding en skakel die ander een af voordat jy toets.
Lees die eerste mislukte bewerking, nie die laaste waarskuwing nie
Koppelvlakkonfigurasie, roete-installasie, resolver-keuse en opruiming van verouderde toestand is aparte stappe, en die waarskuwing wat laaste gedruk word, is dikwels 'n opruimingsklag eerder as die fout wat die verbinding gebreek het. Lees opwaarts tot by die eerste spesifieke bewerking wat misluk het. 'n Helper-fout wat 'n lêer of 'n adres noem, is meer werd as tien reëls opruimingsgeraas.
Vergelyk die beoogde plaaslike resultaat met die waargenome een: die tonneltoestel bestaan, 'n roete na 'n bekende private adres gaan daardeur, en die resolver antwoord vir 'n private naam. 'n Helper wat die eerste twee slaag en by die derde misluk, wys na resolver-beleid eerder as na routering. 'n Helper wat die toestel glad nie konfigureer nie, is waarskynlik nooit uitgevoer nie, wat 'n toestemmingsvraag is eerder as 'n netwerkvraag. Bevestig die uitvoerbare bis en die diensrekening voordat jy enige logika herskryf.
Verifieer verbinding, herverbinding en ontkoppeling
Opstelling is net die helfte van die kontrak, want dieselfde helper moet die toestand wat hy besit herstel of verwyder wanneer die tonnel sluit. 'n Helper wat roetes byvoeg en dit nooit verwyder nie, laat die masjien met 'n verouderde pad wat die sessie oorleef.
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'
Voer die eerste drie uit terwyl jy verbind is, ontkoppel, en voer hulle dan weer uit en bevestig dat die roete en die resolver-inskrywing weg is. Die vierde reël wys of die helper hoegenaamd opgeroep is, en watter uitvoerbare pad die diens gebruik het. Teken daardie paar uitsette in die kaartjie aan, want 'n voor-en-na is wat 'n opruimingsfout duidelik maak.
Hou die helper verpak en uitvoerbaar deur die diensrekening, want 'n skrip wat in jou dop hardloop, kan steeds onder 'n ingeperkte diensbeleid geweier word. Wanneer 'n aanpassing werklik nodig is, dokumenteer die doel en eienaar daarvan en vergelyk dit by elke opgradering met die verpakte weergawe. 'n Onverklaarde vurk van 'n helper is een van die min dinge wat 'n werkende verbinding 'n jaar later kan laat misluk.