Nawawalang ruta ng VPN sa NetworkManager: patakaran ng profile o script?
Kumokonekta ang tunnel at isang prefix ang hindi lumalabas. Magpasya sa pagitan ng patakaran ng profile, data ng plugin at pangalawang may-ari ng ruta bago magdagdag ng helper script.
Kumokonekta ka, lumalabas ang interface ng tunnel, at isang prefix na kailangan mo ay wala sa talahanayan. Ang susunod na hakbang ay karaniwang paghahanap ng script na nagdadagdag nito. Ang paghahanap na iyon ay nauuwi sa mga sagot na nagdidikit ng OpenVPN helper sa isang profile, at kalahati ng mga sagot na iyon ay ginagawang mas malala ang sitwasyon sa halip na mas mabuti, dahil ang nawawalang ruta ay may tatlong posibleng may-ari at isa lamang sa kanila ang nawawalang script.
Magpasya kung aling may-ari ang may pananagutan bago ka magsulat ng kahit ano.
Tatlong may-ari, isang nawawalang prefix
Maaaring wala ang prefix dahil walang nagbigay nito, dahil tinanggihan ito ng profile, o dahil na-install ito sa lugar na hindi mo tinitingnan. Magkaibang mga depekto ang mga ito at magkaiba ang mga pagtatama.
Ang una ang pinakamadaling suriin: nag-alok kaya ang server o ang plugin ng ruta? Ang backend na hindi kailanman nakatanggap ng prefix ay hindi maaaring mag-install nito, at ang helper script ay hindi makakaimbento ng maabot na hindi kailanman inilarawan ng kapares. Ang pangalawa ay ang patakaran ng profile, na maaaring sugpuin ang mga rutang kukunin sana ng koneksyon. Ang pangatlo ay isang talahanayan o panuntunan, na maaaring magtago ng ruta sa lugar na hindi kailanman tinitingnan ng default na paghahanap.
Ang ikaapat na may-ari ay ikaw, mamaya: isang script na nagdadagdag ng ruta sa pagkonekta ngunit hindi ito inaalis sa pagdiskonekta. Gumagawa iyon ng prefix na mas matagal pa sa tunnel, tumuturo sa patay na interface, at nagpapagulo sa susunod na taong magde-debug ng makina.
Basahin ang profile bago magdagdag ng kahit ano
Magsimula sa mga katangian ng naka-save na koneksyon. Basahin ang mga ito nang hindi nagbubuhos ng mga lihim, at gamitin ang UUID kung malabo ang pangalan ng profile.
nmcli -f vpn.service-type,ipv4.never-default,ipv4.ignore-auto-routes,ipv4.route-table,ipv4.routes connection show office
vpn.service-type ay nagsasabi sa iyo kung aling backend ang nagmamay-ari ng koneksyon, at mahalaga iyon dahil ang data ng plugin ay partikular sa backend. Ang susi na tinatanggap ng isang plugin ay hindi sinusuportahang tagubilin para sa iba, kaya ang sipi na kinopya mula sa dokumentasyon ng ibang kliyente ay hindi patunay ng anuman.
ipv4.ignore-auto-routes at ipv4.never-default ay sumasagot sa magkaibang tanong. Ang una ay maaaring tumanggi sa mga rutang kukunin sana ng koneksyon nang awtomatiko, at ang pangalawa ay kumokontrol kung ang profile ay maaaring maging default na ruta. Ang profile na hindi pinapansin ang mga awtomatikong ruta at walang ibang pinagkakatiwalaan ay kokonekta nang malinis at halos wala itong mai-install.
ip -4 rule show
ip -4 route show table all
Ang dalawang utos na iyon ay nagtatakda ng ikatlong posibilidad. Hanapin ang iyong prefix sa bawat talahanayan, hindi lamang sa main, at tingnan kung may panuntunan ng patakarang nagpapadala ng kaugnay na paghahanap sa ibang lugar. Kung ang prefix ay nasa ibang talahanayan at walang tumitingin dito, wala kang nawawalang ruta; mayroon kang paghahanap na hindi kailanman nakakarating dito.
Ano ang hindi kayang ayusin ng script
Ang pagdaragdag ng helper script ay nagbibigay sa vpn.data ng NetworkManager ng programang patakbuhin. Iyon ay tunay na mekanismo, at iyon ang mali para sa karamihan ng mga kasong ito, dahil ang script ay nakakakuha ng kontrol pagkatapos nang magpasya ang patakaran ng profile mismo kung ano ang tatanggapin.
Ang script-security ng OpenVPN ang isa pang paulit-ulit na kalituhan. Ito ay isang setting ng OpenVPN na kumokontrol kung aling mga script ang maaaring patakbuhin ng kliyente at kung ano ang maaari nitong ilagay sa kanilang kapaligiran; pinapayagan ng antas 3 ang pagpasa ng mga kredensyal sa pamamagitan ng kapaligiran, na isang desisyon tungkol sa paghawak ng mga lihim at hindi isang pagtatama sa routing. Ang pagdikit nito sa isang profile na ang backend ay hindi OpenVPN, o ang pagtataas nito kapag walang script na nangangailangan, ay nagdaragdag ng pagkakalantad nang walang pagdaragdag ng ruta.
Pagkatapos ay mayroong reflex ng pag-restart. Ang pag-restart ng serbisyo ng NetworkManager ay nagbabagsak at muling nagtatayo ng bawat pinamamahalaang link, kabilang ang link na kinokonektahan mo kung nagtatrabaho ka nang malayuan. Ito ay isang nakakagambalang aksyon, hindi isang hindi nakakapinsalang diagnostic, at sa isang server maaaring ito ang pagkakaiba sa pagitan ng session na nabubuhay at hindi.
Ang desisyon, ayon sa pagkakasunod-sunod
Magtanong ng tatlong tanong nang sunud-sunod. Nagbigay ba ang kapares ng prefix, na ipapakita ng log ng backend o ng sarili nitong output ng estado? Kung oo, naka-configure ba ang profile na tanggapin at i-install ang mga ruta, o sinasakal niya ang mga ito? Kung ang ruta ay umiiral sa isang lugar, tama ba ang landas ng paghahanap para sa trapikong sinusubukan mo?
Tanging kapag ang unang sagot ay oo, ang pangalawa ay oo at ang pangatlo ay tama nagiging maipagtatanggol ang isang karagdagang script, at kahit noon dapat mong itanong kung sinusuportahan ng backend ang ruta nang native. Ang sanggunian ng mga setting ng VPN ay nagdodokumento ng service-type at ang diksyunaryo ng data na partikular sa plugin, at doon dapat magsimula bago ipagpalagay na may umiiral na susi.
Pagkatapos ng isang aprubadong pagwawasto, kumonekta muli at subukan ang destinasyon sa pamamagitan ng address at pagkatapos ng pangalan, pagkatapos ay idiskonekta at kumonekta muli upang kumpirmahin na ang estado ay nauulit. Isang may-ari, isang talahanayan, at isang rutang nawawala kasama ng tunnel ang resulta na sulit.