Jy maak verbinding, die tonnelkoppelvlak verskyn, en een prefiks wat jy nodig het, is eenvoudig nie in die tabel nie. Die volgende stap is gewoonlik 'n soektog na 'n script wat dit byvoeg. Daardie soektog beland by antwoorde wat 'n OpenVPN-helper in 'n profiel plak, en die helfte van daardie antwoorde maak die situasie erger eerder as beter, want 'n ontbrekende roete het drie moontlike eienaars en net een daarvan is 'n ontbrekende script.

Besluit watter eienaar verantwoordelik is voordat jy enigiets skryf.

Drie eienaars, een ontbrekende prefiks

Die prefiks kan afwesig wees omdat niemand dit verskaf het nie, omdat die profiel dit geweier het, of omdat dit êrens geïnstalleer is waar jy nie kyk nie. Dit is verskillende foute en hulle het verskillende regstellings.

Die eerste is die maklikste om te kontroleer: het die bediener of die inprop ooit die roete aangebied? 'n Agterkant wat die prefiks nooit ontvang het nie, kan dit nie installeer nie, en 'n hulpscript kan nie bereikbaarheid uitdink wat die eweknie nooit beskryf het nie. Die tweede is profielbeleid, wat roetes kan onderdruk wat die verbinding andersins sou neem. Die derde is 'n tabel of reël, wat die roete kan hou op 'n plek waar die verstekopsoek nooit kyk nie.

'n Vierde eienaar is jy, later: 'n script wat die roete by verbinding byvoeg maar dit nie by ontkoppeling verwyder nie. Dit produseer 'n prefiks wat die tonnel oorleef, na 'n dooie koppelvlak wys, en die volgende persoon wat die masjien ontfout, verwar.

Lees die profiel voordat jy enigiets byvoeg

Begin met die gestoorde verbinding se eie eienskappe. Lees hulle sonder om geheime uit te stort, en gebruik die UUID as die profielnaam dubbelsinnig is.

nmcli -f vpn.service-type,ipv4.never-default,ipv4.ignore-auto-routes,ipv4.route-table,ipv4.routes connection show office

vpn.service-type vertel jou watter agterkant die verbinding besit, en dit maak saak want inpropdata is spesifiek aan die agterkant. 'n Sleutel wat deur een inprop aanvaar word, is nie 'n ondersteunde instruksie vir 'n ander nie, so 'n brokkie wat uit 'n ander kliënt se dokumentasie gekopieer is, is nie bewys van enigiets nie.

ipv4.ignore-auto-routes en ipv4.never-default beantwoord verskillende vrae. Die eerste kan roetes verwerp wat die verbinding andersins outomaties sou neem, en die tweede beheer of die profiel die verstekroete mag word. 'n Profiel wat outomatiese roetes ignoreer en op niks anders staatmaak nie, sal skoon verbind en byna niks installeer nie.

ip -4 rule show
ip -4 route show table all

Daardie twee opdragte besleg die derde moontlikheid. Soek jou prefiks in elke tabel, nie net main nie, en kyk of 'n beleidsreël die betrokke opsoek elders heen stuur. As die prefiks in 'n ander tabel voorkom en niks dit raadpleeg nie, het jy nie 'n ontbrekende roete nie; jy het 'n opsoek wat dit nooit bereik nie.

Wat 'n script nie kan regstel nie

Om 'n hulpscript by te voeg gee NetworkManager se vpn.data 'n program om te laat loop. Dit is 'n werklike meganisme, en dit is die verkeerde een vir die meeste van hierdie gevalle, want die script kry beheer nadat die profiel se eie beleid reeds besluit het wat om te aanvaar.

OpenVPN se script-security is die ander herhalende verwarring. Dit is 'n OpenVPN-instelling wat bepaal watter scripte die kliënt mag uitvoer en wat hy in hul omgewing mag plaas; vlak 3 laat toe dat geloofsbriewe deur die omgewing geslaag word, wat 'n besluit oor geheimehantering is eerder as 'n roeteregstelling. Om dit in 'n profiel te plak waarvan die agterkant nie OpenVPN is nie, of om dit te verhoog wanneer geen script dit nodig het nie, voeg blootstelling by sonder om 'n roete by te voeg.

Dan is daar die herbegin-refleks. Om die NetworkManager-diens te herbegin breek elke bestuurde skakel af en bou dit weer op, insluitend die een waardeur jy verbind is as jy op afstand werk. Dit is 'n ontwrigtende aksie, nie 'n onskadelike diagnostiek nie, en op 'n bediener kan dit die verskil wees tussen 'n sessie wat oorleef en een wat nie.

Die besluit, in volgorde

Vra drie vrae in volgorde. Het die eweknie die prefiks verskaf, wat die agterkant se log of sy eie statusuitset sal wys? Indien ja, is die profiel ingestel om roetes te aanvaar en te installeer, of onderdruk dit hulle? Indien die roete êrens bestaan, is die opsoekpad korrek vir die verkeer wat jy toets?

Eers wanneer die eerste antwoord ja is, die tweede ja is en die derde korrek is, word 'n aanvullende script verdedigbaar, en selfs dan moet jy vra of die agterkant die roete inheems ondersteun. Die VPN-instellingsverwysing dokumenteer service-type en die inprop-spesifieke datastruktuur, wat die plek is om te begin voordat jy aanneem 'n sleutel bestaan.

Na 'n goedgekeurde regstelling, verbind weer en toets die bestemming per adres en dan per naam, en ontkoppel dan en verbind weer om te bevestig die toestand is herhaalbaar. Een eienaar, een tabel, en 'n roete wat saam met die tonnel verdwyn is die uitkoms wat die moeite werd is.

Verwante artikels