OpenConnect vpnc-script: kva fil vert køyrd?
Hjelparen som installerar ruter og DNS er skild frå tunnelklienten. Finn stien den køyrande klienten brukar før du byter han ut med ein kopi frå eit forum.
OpenConnect kan fullføre tunnelhandtrykket og likevel la deg stå utan rute til det private subnettet, fordi klienten og hjelparen som endrar den lokale nettverkstilstanden er to ulike program. Autentiseringa provar at gatewayen godtok økta; ho provar ingenting om kva grensesnitt, kva ruter eller kva resolverinnstillingar som vart installerte etterpå. Dei fleste forvirrande rapportane kjem av å byta ut hjelparen med ein kopi frå eit gammalt svar, noko som endrar åtferda for kvar tilkopling på maskina. Finn hjelparen den køyrande klienten faktisk kallar, før du endrar noko i han.
To program, to ansvarsområde
Klienten eig transport, autentisering og tunneleininga. Ein separat hjelpar eig det som skjer på det lokale systemet når tunnelen finst: adressering på grensesnittet, ruter til subnettet gatewayen kunngjorde, og resolverkonfigurasjon. dokumentasjonen for OpenConnect-hjelparen skildrar denne delinga og miljøet hjelparen får. Skilnaden er viktig ved ein feil, fordi eit avvist passord og ei manglande rute ikkje er same hendinga, sjølv når skrivebordet viser éin dialog for båe.
Å hugse denne delinga forklarer òg kvifor ei tilkopling kan melde suksess medan private namn framleis ikkje let seg slå opp. Tunnelen er oppe i båe tilfelle, og berre det lokale integreringstrinnet er ulikt.
Finn hjelparen den køyrande klienten brukar
Stien vert fastsett når pakken vert bygd, og kan overstyrast ved kvar kall, så fila du hugsar frå ein annan distribusjon har kanskje ingenting med denne tilkoplinga å gjere. Spør den køyrande prosessen i staden for dokumentasjonen du tilfeldigvis har open.
openconnect --version
ps -o args= -C openconnect
dpkg -L openconnect | grep -i script
ls -l /etc/vpnc/ 2>/dev/null
Viss prosesslinja ber eit --script argument, vinn den fila over den kompilerte standarden. Eldre stiar som /etc/vpnc/vpnc-script kan finnast og likevel vere ubrukte, og difor endrar sletting eller redigering av dei ingenting på ein nyare bygg. Sjekk òg endringsdatoen, fordi ein hjelpar ingen har rørt på årevis er eit sterkt teikn på at standardverdien frå pakken gjer jobben.
NetworkManager-integreringa er ein tredje eigar, med eigen hjelpar og eigne profilinnstillingar. Å leggje eit ekstra rute- eller resolverskript oppå den integreringa dobbeltfører ruter og lèt att ein resolver som to program båe hevdar å styre. Vel éin eigar per tilkopling, og slå av den andre før du testar.
Les den første mislukka operasjonen, ikkje den siste åtvaringa
Grensesnittkonfigurasjon, ruteinstallasjon, resolval og opprydding av utdatert tilstand er separate trinn, og åtvaringa som vert skriven ut sist er ofte ei oppryddingsklage og ikkje feilen som braut tilkoplinga. Les oppover til den første konkrete operasjonen som mislukkast. Ein hjelparfeil som namngjev ei fil eller ei adresse er verdt meir enn ti linjer oppryddingsstøy.
Samanlikn det tilsikta lokale resultatet med det observerte: tunneleininga finst, ei rute til ei kjend privat adresse går gjennom henne, og resolveren svarar for eit privat namn. Ein hjelpar som lukkast med dei to første og feilar på den tredje, peikar på resolverpolitikk og ikkje på ruting. Ein hjelpar som ikkje konfigurerer eininga i det heile vart truleg aldri køyrd, og det er eit spørsmål om løyve, ikkje om nettverk. Stadfest den køyrbare biten og tenestekontoen før du skriv om nokon logikk.
Stadfest tilkopling, gjenoppkopling og fråkopling
Oppsettet er berre halve kontrakten, fordi den same hjelparen må gjenopprette eller fjerne tilstanden han eig når tunnelen vert stengd. Ein hjelpar som legg til ruter og aldri fjernar dei, lèt att maskina med ein utdatert sti som overlever økta.
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'
Køyr dei tre første medan du er tilkopla, kopla frå, og køyr dei så igjen og stadfest at ruta og resolveroppføringa er borte. Den fjerde linja viser om hjelparen vart kalla i det heile, og kva køyrbar sti tenesta brukte. Ta vare på det paret med utdata i saka, fordi nettopp før-og-etter gjer ein oppryddingsfeil tydeleg.
Hald hjelparen pakka og køyrbar for tenestekontoen, fordi eit skript som køyrer i skalet ditt kan framleis verte avvist under ein avgrensa tenestepolicy. Når ein tilpassing verkeleg er nødvendig, dokumenter føremålet og eigaren, og samanlikn han med den pakka versjonen ved kvar oppgradering. Ein uforklart fork av ein hjelpar er ein av dei få tinga som kan få ei fungerande tilkopling til å feile eit år seinare.