Systemd iyo NetworkManager: yaa bilaaba VPN-ka marka la shido?
Saddex hab ayaa kicin kara isla profile Ubuntu, mid kastaa leh kiciye kala duwan. Isbarbar dhig, hayso hal milkiile oo ka saar nuqulka.
Laba mishiin Ubuntu oo isla sawir ka yimid, hal profile VPN, natiijooyin iska soo horjeeda marka la galo: mid ka mid ah tunnel-ku wuu kacsan yahay ka hor inta aanay shaashadda soo muuqan, midka kalena waligiis ma kaco. Profile-ku halkan doorsoome ma aha. Farqigu waa qaybtee ka mid ah saddexda qaybood ee la amray in ay bilaabaan, saddexdaasna isma wadaagaan hal badhan.
Isbarbar dhiggoodu way ka dhaqso badan tahay qiyaasidda. Mid kastaa si la aqoonsan karo ayuu u guuldareystaa, taasuna waa waxa isbarbardhigga qiimo u leh ka dhigaya.
Saddex bilaabe oo leh saddex kiciye oo kala duwan
Adeegga openvpn ee la xidhxidhay waa waddada ugu duqsan. Qoraalkiisa init wuxuu liis is-bilaabid ah ka akhriyaa /etc/default/openvpn. Haddii liiskaas la faallooyay ama madhan la dhaafay, qoraalku wuxuu bilaabaa konfigarashan kasta oo uu ka helo galalkaas, ma aha midda kaliya ee aad ku dartay. Hal fayl oo loo daray hal tunnel ayaa si aamusan dhowr u kicin kara.
| 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 |
Sadarka labaad waa kan dadku si khaldan u habeejiyaan. NetworkManager wuxuu hayaa profile-ka la soo dhoofiyay oo wuu bilaabi doonaa, laakiin kaliya sidii labaad ee xiriir kale, taas oo macneheedu yahay kiciyuhu wuxuu ka tirsan yahay xiriirka shabakadda ee ma aha VPN-ka.
Isbarbar dhig kharashka habaynta iyo baaxadda
Waddada init qoraalku waxay qaadataa hal sadar oo waxay dabooshaa konfigarashan kasta oo mishiinka ku yaal. Taasi waa sax raawtar, waana khalad laptop ku biira shabakado kala duwan. Waddada NetworkManager waxay qaadataa raadin UUID oo waxay tunnel-ka ku xirtaa hal xiriir saldhig ah. Waxay kacdaa SSID-ga shaqada, waxayna hoos ku sii ahaanaysaa shabakad huteel.
Unit gacan lagu qoray ayaa ugu kharashka badan oo ugu kontoroolka badan bixiya, oo ay ku jirto nidaamka marka loo eego adeegyada kale. Baaxaddu waa qodobka go'aanka. Haddii mishiinku leeyahay hal shabakad iyo hal tunnel, adeegga la xidhxidhay waa daacad oo la saadaalin karaa. Haddii tunnel-ku ay tahay inuu raaco shabakad Wi-Fi gaar ah, kan labaad ayaa keliya oo saddexda ka mid ah oo shardigaas muujiya isagoon qoraal dheeraad ah u baahnayn.
Dooro hal milkiile oo ka saar kuwa kale
Profile ay bilaabaan laba milkiile wuxuu soo saaraa waqti isbeddelaya inta u dhaxaysa shidista, taas oo ka xun mid kasta oo ka mid ah hababka keligiis. Dooro milkiilaha, ka dibna si ula kac ah, ma aha shil, u dami waddada tartanka.
# 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"
Haddii waddada la joojinayo ay tahay tan la xidhxidhay, samee sidan nidaamka saxda ah: u dhig AUTOSTART none, socodsii systemctl daemon-reload si unit-yada la soo saaray ay u qaataan liiska cusub, ka dibna dami tusaalaha aad aanad u baahnayn. Haddii la boodo dib-u-kicinta, unit-yadii hore way sii shaqeeyaan, waxayna u ekaanaysaa sidii isbeddelku wax saameyn ah uusan lahayn.
Joogsi laalaada waa dhibaato gooni ah oo leh jawaab xaddidan. TimeoutStopSec wuxuu xaddidaa inta systemd uu sugayo ka hor inta uusan dirin SIGKILL. Faylka drop-in waa goobta saxda ah ee loogu dejiyo, sababtoo ah wax ka beddelka unit-ka la xidhxidhay waxay lumiyaan isbeddelka casriyaynta xigta.
Xaqiiji waxa dhab ahaan bilaabmay
Dib u shid oo akhri caddaynta halkii aad ku kalsoonaan lahayd faylka habaynta. Unit-ka leh tunnel-ku wuxuu muujin doonaa xaalad firfircoon iyo shaabad waqti bilow ah oo u dhigma shidista, interface-ka VPN-na wuxuu jiri doonaa ka hor inta aanad galin.
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
Halkan waxaa ku habboon hubin kale: xaqiiji in ExecStart unit-ku uu tilmaamayo binary-ga aad u malaynayso. Macmiil gudaha lagu soo ururiyay ama xidhmada snap waxay inta badan u baahan yihiin waddo cad ama duubitaan snap run, sababtoo ah systemd ma dhaxlo nidaamka raadinta qolofkaaga. Isbarbardhigga command -v openvpn iyo faylka unit-ku wuxuu taas ku xalliyaa ilbiriqsiyo gudahood.
Ku qor milkiilaha la doortay qoraallada mishiinka, agtiisa magaca profile-ka. Qofka xiga ee debugging ka sameeya tunnel maqan wuxuu ka bilaabmi doonaa sadarkaas halkii uu ku celin lahaa isbarbardhigga.