Systemd da NetworkManager: wa ke fara VPN a lokacin tashin na’urar?
Hanyoyi uku na iya tada wannan bayanin Ubuntu, kowanne da sanadin daban. Kwatanta su, ajiye mai shi ɗaya, kuma cire kwafin.
Na’urori biyu na Ubuntu daga hoto ɗaya, bayanin VPN ɗaya, sakamako dabam a lokacin shiga: a ɗaya ramin yana aiki kafin tebur ya bayyana, a ɗayan kuma ba ya tashi ko kaɗan. Bayanin ba shi ne abin da ya canja ba a nan. Abin da ya bambanta shi ne wane daga cikin sassa uku aka umarce shi ya fara shi, kuma waɗannan ukun ba su raba maɓalli ɗaya.
Kwatanta su gefe da gefe ya fi yin hasashe sauri. Kowanne yana kasawa a wata hanya da za a gane, kuma shi ne ya sa kwatancin ya cancanci.
Masu farawa uku da sanadi uku daban-daban
Sabis ɗin openvpn da aka haɗa shi ne hanya mafi tsufa. Rubutun init ɗinsa yana karanta jerin farawa kai tsaye daga /etc/default/openvpn. Idan an yi sharhi a kan jerin ko an bar shi fanko, rubutun zai fara kowane tsari da ya samu a wannan babban fayil ɗin maimakon guda ɗaya da ka ƙara. Fayil ɗaya da aka ƙara domin rami ɗaya na iya tada da yawa a shiru.
| 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 |
Layi na biyu shi ne wanda mutane suke yi masa kuskure. NetworkManager yana riƙe da bayanin da aka shigo da shi kuma zai fara shi, amma kawai a matsayin na biyu na wata hanyar sadarwa, wato sanadin na hanyar sadarwar ne ba na VPN ba.
Kwatanta kuɗin saitin da iyakar aikin
Hanyar rubutun init tana ɗaukar layi ɗaya kuma tana rufe kowane tsari a na’urar. Wannan ya dace da na’urar raba hanyar sadarwa kuma bai dace da kwamfutar tafi-da-gidanka da ke shiga cibiyoyin sadarwa daban-daban ba. Hanyar NetworkManager tana ɗaukar neman UUID kuma tana ɗaure ramin ga hanyar sadarwa ta tushe ɗaya. Yana tashi a SSID na aiki kuma yana zama a ƙasa a cibiyar sadarwar otal.
Unit da aka rubuta da hannu ya fi tsada kuma yana sayan mafi yawan iko, har da tsari game da sauran ayyuka. Iyakar aiki ita ce mabuɗin shawara. Idan na’urar tana da hanyar sadarwa ɗaya da rami ɗaya, sabis ɗin da aka haɗa gaskiya ne kuma ana iya tsammani. Idan ramin ya kamata ya bi wata hanyar sadarwar Wi-Fi takamaimai, na biyu ne kaɗai daga cikin ukun da ke bayyana wannan sharadi ba tare da ƙarin rubutu ba.
Zaɓi mai shi ɗaya ka cire sauran
Bayanin da masu shi biyu suka fara yana haifar da lokaci da ke canzawa tsakanin tashi, wanda ya fi kowane ɗaya daga cikin hanyoyin muni. Zaɓi mai shi, sannan ka kashe hanyar da ke hamayya da gangan ba da haɗari ba.
# 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"
Idan hanyar da aka haɗa ce ake janyewa, yi shi a tsari daidai: sa AUTOSTART zuwa none, gudanar da systemctl daemon-reload domin unit ɗin da aka ƙirƙira su karɓi sabon jerin, sannan ka kashe misalin samfurin da ba ka son sa kuma. Yin watsi da sake lodawa yana barin tsoffin unit ɗin aiki, wanda ke nuna kamar canjin bai yi wani tasiri ba.
Tsayawa da ke rataye wata matsala ce daban da amsa mai iyaka. TimeoutStopSec yana iyakance tsawon lokacin da systemd ke jira kafin ya aika SIGKILL. Fayil ɗin drop-in shi ne wurin da ya dace a saita shi, domin gyara unit ɗin da aka haɗa yana rasa canjin a sabunta na gaba.
Tabbatar da abin da ya fara a zahiri
Sake tayar da na’urar ka karanta shaidar maimakon amincewa da fayil ɗin saiti. Unit ɗin da ya mallaki ramin zai nuna yanayi mai aiki da tambarin lokacin farawa da ya dace da tashin, kuma haɗin VPN zai kasance kafin ka shiga.
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
Wata bincike kuma ta dace a nan: tabbatar da cewa ExecStart na unit ɗin yana nuni ga binary ɗin da kake tsammani. Abokin ciniki da aka haɗa a gida ko fakitin snap galibi yana buƙatar bayyanannen hanya ko naɗin snap run, domin systemd ba ya gado tsarin neman harsashinka. Kwatanta command -v openvpn da fayil ɗin unit yana warware hakan cikin daƙiƙa.
Rubuta mai shi da aka zaɓa a cikin bayanan na’urar, kusa da sunan bayanin. Mutum na gaba da zai gyara rami da ya ɓace zai fara daga wannan layin maimakon sake kwatancin.