Manjkajoča pot VPN v NetworkManagerju: politika profila ali skript?
Tunel se poveže in ena predpona se nikoli ne pojavi. Odločite se med politiko profila, podatki vtičnika in drugim lastnikom poti, preden dodate pomožni skript.
Povežete se, pojavi se vmesnik tunela, in ene predpone, ki jo potrebujete, preprosto ni v tabeli. Naslednji korak je običajno iskanje skripta, ki jo doda. To iskanje vodi do odgovorov, ki v profil prilepijo pomočnika OpenVPN, in polovica teh odgovorov stanje poslabša namesto izboljša, ker ima manjkajoča pot tri možne lastnike in le eden od njih je manjkajoči skript.
Odločite, kateri lastnik je odgovoren, preden karkoli napišete.
Trije lastniki, ena manjkajoča predpona
Predpona lahko manjka, ker je ni nihče zagotovil, ker jo je profil zavrnil, ali ker je bila nameščena nekje, kamor ne gledate. To so različne okvare in imajo različne popravke.
Prvo je najlažje preveriti: ali sta strežnik ali vtičnik kdaj ponudila pot? Backend, ki predpone ni nikoli prejel, je ne more namestiti, pomožni skript pa si ne more izmisliti dosegljivosti, ki je partner ni nikoli opisal. Druga je politika profila, ki lahko zatre poti, ki bi jih povezava sicer prevzela. Tretja je tabela ali pravilo, ki lahko drži pot na mestu, kamor privzeto iskanje nikoli ne pogleda.
Četrti lastnik ste vi, pozneje: skript, ki pot doda ob povezavi, a je ob prekinitvi ne odstrani. To ustvari predpono, ki preživi tunel, kaže na mrtvo vmesnik in zmede naslednjo osebo, ki bo razhroščevala stroj.
Preberite profil, preden karkoli dodate
Začnite z lastnostmi shranjene povezave. Preberite jih, ne da bi izlili skrivnosti, in uporabite UUID, če je ime profila dvoumno.
nmcli -f vpn.service-type,ipv4.never-default,ipv4.ignore-auto-routes,ipv4.route-table,ipv4.routes connection show office
vpn.service-type vam pove, kateri backend ima povezavo, in to je pomembno, ker so podatki vtičnika specifični za backend. Ključ, ki ga sprejme en vtičnik, ni podprto navodilo za drugega, zato odlomek, kopiran iz dokumentacije drugega odjemalca, ni dokaz za nič.
ipv4.ignore-auto-routes in ipv4.never-default odgovarjata na različni vprašanji. Prvi lahko zavrne poti, ki bi jih povezava sicer prevzela samodejno, drugi pa nadzira, ali lahko profil postane privzeta pot. Profil, ki ignorira samodejne poti in se ne zanaša na nič drugega, se bo povezal čisto in ne bo namestil skoraj ničesar.
ip -4 rule show
ip -4 route show table all
Ta dva ukaza razrešita tretjo možnost. Poiščite svojo predpono v vsaki tabeli, ne le v main, in preverite, ali pravilo politike pošilja ustrezno iskanje kam drugam. Če je predpona v drugi tabeli in je nič ne preverja, nimate manjkajoče poti; imate iskanje, ki je nikoli ne doseže.
Česa skript ne more popraviti
Dodajanje pomožnega skripta da vpn.data v NetworkManagerju program za izvajanje. To je resničen mehanizem in za večino teh primerov je napačen, ker skript dobi nadzor potem, ko je politika samega profila že odločila, kaj sprejeti.
script-security v OpenVPN je druga ponavljajoča se zmeda. To je nastavitev OpenVPN, ki določa, katere skripte lahko odjemalec izvaja in kaj lahko postavi v njihovo okolje; raven 3 dovoljuje posredovanje poverilnic skozi okolje, kar je odločitev o ravnanju s skrivnostmi in ne popravek usmerjanja. Lepljenje v profil, katerega backend ni OpenVPN, ali povišanje, ko ga noben skript ne potrebuje, doda izpostavljenost brez dodane poti.
Nato je tu refleks ponovnega zagona. Ponovni zagon storitve NetworkManager pretrga in znova zgradi vsako upravljano povezavo, vključno s tisto, prek katere ste povezani, če delate na daljavo. To je moteče dejanje, ne neškodljiva diagnostika, in na strežniku je lahko razlika med sejo, ki preživi, in tisto, ki ne.
Odločitev, po vrsti
Zastavite tri vprašanja po vrsti. Ali je partner zagotovil predpono, kar bo pokazal dnevnik backendu ali njegov lastni izpis stanja? Če da, je profil nastavljen tako, da poti sprejema in namešča, ali jih zatira? Če pot nekje obstaja, je pot iskanja pravilna za promet, ki ga preizkušate?
Šele ko je prvi odgovor da, drugi da in tretji pravilen, postane dodatni skript zagovorljiv, in tudi takrat bi morali vprašati, ali backend pot podpira izvorno. Referenca za nastavitve VPN dokumentira service-type in slovar podatkov, specifičen za vtičnik, in prav tam je treba začeti, preden domnevate, da ključ obstaja.
Po odobrenem popravku se znova povežite in preizkusite cilj po naslovu in nato po imenu, nato se odklopite in znova povežite, da potrdite, da je stanje ponovljivo. En lastnik, ena tabela in pot, ki izgine s tunelom, je rezultat, ki se ga splača imeti.