I-Systemd ne-NetworkManager: ubani oqala i-VPN lapho kuvulwa?
Izindlela ezintathu zingakhuphula iphrofayela efanayo ye-Ubuntu, ngayinye inomhlinzeki wokucindezela ohlukile. Ziqhathanise, gcina umnikazi oyedwa futhi ususe impinda.
Amamashini amabili e-Ubuntu avela esithombeni esisodwa, iphrofayela eyodwa ye-VPN, imiphumela ephambene lapho kungena umsebenzisi: kwelinye ithumbu selikhuphukile ngaphambi kokuba kubonakale ideskithophu, kwelinye alikhuphuki neze. Iphrofayela akuyona into eguqukayo lapha. Umehluko ukuthi yikuphi kwezingxenye ezintathu eyayalelwa ukuyiqala, futhi lezi zintathu azabelani isishintshi esisodwa.
Ukuziqhathanisa ngazimbili kushesha kunokuqagela. Ngayinye yehluleka ngendlela ebolekayo, futhi yikho okwenza ukuqhathanisa kube nenzuzo.
Iziqalisi ezintathu ezinemikhombisi emithathu ehlukene
Isevisi ye-openvpn epakishiwe iyindlela endala kakhulu. Iskripthi sayo se-init sifunda uhlu lokuqala ngokuzenzakalela ku-/etc/default/openvpn. Uma lolo hlu lushayiwe noma lushiywe lungenalutho, iskripthi siqala yonke ikhophi eliyitholayo kuleyo folda esikhundleni saleyo eyodwa oyengezile. Ifayela elilodwa elengezwe kwithumbu elilodwa lingakhuphula amaningi buthule.
| Starter | What triggers it | Typical failure |
|---|---|---|
| Init script and templated units | Boot, plus anything in the autostart list | Starts every config, not the one you meant |
| NetworkManager secondary | Activation of the base Wi-Fi or Ethernet profile | Nothing happens until that base link comes up |
| Hand-written unit or wrapper | Whatever its WantedBy and ExecStart say | Runs a different binary or environment than your shell |
Umugqa wesibili yiwo abantu abawuhlela ngokungalungile. I-NetworkManager igcina iphrofayela engenisiwe futhi izoyiqala, kodwa kuphela njengesibili sokunye ukuxhumana, okusho ukuthi umkhombisi ungowokuxhumana kwenethiwekhi hhayi owe-VPN.
Qhathanisa izindleko zokusetha kanye nobubanzi
Indlela yeskripthi se-init ibiza umugqa owodwa futhi ihlanganisa yonke ikhophi emshinini. Lokho kulungile kwi-router futhi akulungile kwi-laptop ejoyina amanethiwekhi ahlukene. Indlela ye-NetworkManager ibiza ukusesha kwe-UUID futhi ibopha ithumbu ekuxhumaneni okuyisisekelo okukodwa. Ikhuphuka ku-SSID yomsebenzi futhi ihlale phansi kunethiwekhi yehhotela.
I-unit ebhalwe ngesandla ibiza kakhulu futhi inikeza ukulawula okukhulu kakhulu, kuhlanganise nokuhleleka uma kuqhathaniswa nezinye izinsiza. Ububanzi yisici esinqumayo. Uma umshini unenethiwekhi eyodwa nethumbu elilodwa, isevisi epakishiwe iqotho futhi iqaguleka. Uma ithumbu kufanele lilandele i-Wi-Fi ethile, elesibili yilona kuphela kwezintathu eliveza lowo mbandela ngaphandle kweskripthi esengeziwe.
Khetha umnikazi oyedwa bese ususa abanye
Iphrofayela eqalwa abanikazi ababili ikhiqiza isikhathi esishintshayo phakathi kokuvulwa, lokho kubi kakhulu kunanoma iyiphi indlela iyodwa. Khetha umnikazi, bese uvimbela indlela eqhudelanayo ngamabomu hhayi ngengozi.
# who is configured to start something?
grep -v '^#' /etc/default/openvpn
systemctl list-units 'openvpn*'
nmcli -g connection.secondaries connection show 'Work Wi-Fi'
# NetworkManager: attach the tunnel to the base link by UUID
TUNNEL=$(nmcli -g UUID connection show 'Corp Tunnel')
nmcli connection modify 'Work Wi-Fi' +connection.secondaries "$TUNNEL"
Uma indlela epenshiniwe iyiphekiwe, yenza ngokulandelana okulungile: setha i-AUTOSTART ku-none, gijimisa i-systemctl daemon-reload ukuze ama-unit akhiwe athole uhlu olusha, bese uvimbela isibonelo sesifanekiso ongasasidingi. Ukweqa ukulayisha kabusha kushiya ama-unit amadala ekhona, futhi kubonakala sengathi ushintsho alunamphumela.
Ukuma okulengayo kuyinkinga ehlukile enempendulo elinganiselwe. I-TimeoutStopSec ikhawulela isikhathi i-systemd elindayo ngaphambi kokuthumela i-SIGKILL. Ifayela le-drop-in iyindawo efanele yokukusetha, ngoba ukuhlela i-unit epakishiwe kulahlekelwa ushintsho ekuthuthukisweni okulandelayo.
Qinisekisa ukuthi yini eyaqala ngempela
Qala kabusha bese ufunda ubufakazi esikhundleni sokwethemba ifayela lokuhlela. I-unit engumnikazi wethumbu izobonisa isimo esisebenzayo kanye nesigxivizo sesikhathi sokuqala esihambisana nokuvulwa, futhi isixhumi se-VPN sizobe sikhona ngaphambi kokuthi ungene.
systemctl is-enabled openvpn-client@office
systemctl status openvpn-client@office --no-pager
nmcli -f GENERAL.STATE,connection.secondaries connection show 'Work Wi-Fi'
ip -brief link show tun0
Nakhu okunye ukuhlola okufanele: qinisekisa ukuthi i-ExecStart ye-unit ikhomba kubhinari ocabanga ukuthi yiyo. Iklayenti elakhiwe endaweni noma iphakethe le-snap ngokuvamile lidinga indlela ecacile noma isigoqi se-snap run, ngoba i-systemd ayizuzele ifa lokulandelana kokusesha kweseluli sakho. Ukuqhathanisa i-command -v openvpn nefayela le-unit kuxazulula lokho ngemizuzwana.
Bhala umnikazi okhethiwe emibhalweni yomshini, eduze kwegama lephrofayela. Umuntu olandelayo ozolungisa ithumbu elilahlekile uzoqala kulowo mugqa esikhundleni sokuphinda ukuqhathanisa.