Systemd kontra NetworkManager: min jibda l-VPN waqt il-boot?
Tliet mekkaniżmi jistgħu jtellgħu l-istess profil Ubuntu, kull wieħed b’trigger differenti. Qabbelhom, żomm sid wieħed u rtira d-duplikat.
Żewġ magni Ubuntu mill-istess immaġni, profil VPN wieħed, riżultati opposti fid-dħul: fuq waħda t-tunnel ikun diġà tela’ qabel ma jidher id-desktop, fuq l-oħra qatt ma jitla’. Il-profil mhuwiex il-varjabbli hawn. Id-differenza hija liema minn tliet komponenti ngħata l-ordni biex tibdah, u dawn it-tlieta ma jaqsmu l-ebda swiċċ wieħed.
Li tqabbel wieħed ma’ ieħor huwa aktar mgħaġġel milli taqta’ bl-addoċċ. Kull wieħed minnhom ifalli b’mod rikonoxxibbli, u dan huwa dak li jagħmel il-paragun utli.
Tliet starters b’tliet triggers differenti
Is-servizz openvpn ippakkettat huwa l-eqdem triq. L-iskript init tiegħu jaqra lista ta’ awtostart minn /etc/default/openvpn. Jekk dik il-lista tkun ikkummentata jew titħalla vojta, l-iskript jibda kull konfigurazzjoni li jsib f’dak id-direttorju minflok dik waħda li żidt int. Fajl wieħed miżjud għal tunnel wieħed jista’ jtella’ bosta bl-addoċċ.
| 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 |
It-tieni ringiela hija dik li n-nies jikkonfiguraw ħażin. NetworkManager iżomm il-profil importat u se jibdah, iżda biss bħala sekondarju ta’ konnessjoni oħra, li jfisser li t-trigger jappartjeni għall-ħolqa tan-netwerk u mhux għall-VPN.
Qabbel l-ispiża tat-tħejjija u l-ambitu
It-triq tal-iskript init tiswa linja waħda u tkopri kull konfigurazzjoni fuq il-magna. Dan huwa tajjeb għal router u ħażin għal laptop li jingħaqad ma’ netwerks differenti. It-triq ta’ NetworkManager tiswa tfittxija ta’ UUID u torbot it-tunnel ma’ konnessjoni bażika waħda. Titla’ fuq l-SSID tax-xogħol u tibqa’ ’l isfel fuq netwerk ta’ lukanda.
Unit miktuba bl-idejn tiswa l-aktar u tixtri l-aktar kontroll, inkluż l-ordni fir-rigward ta’ servizzi oħra. L-ambitu huwa l-fattur deċiżiv. Jekk il-magna għandha netwerk wieħed u tunnel wieħed, is-servizz ippakkettat huwa onest u prevedibbli. Jekk it-tunnel għandu jsegwi netwerk Wi-Fi speċifiku, is-sekondarju huwa l-uniku minn tlieta li jesprimi dik il-kundizzjoni mingħajr skripts addizzjonali.
Agħżel sid wieħed u neħħi l-oħrajn
Profil li jibdew żewġ sidien jipproduċi ħin li jinbidel bejn boots, li huwa agħar minn kwalunkwe wieħed mill-mekkaniżmi waħdu. Agħżel is-sid, imbagħad iddiżattiva t-triq konkurenti apposta u mhux b’inċident.
# 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"
Jekk it-triq ippakkettata hija dik li qed tiġi rtirata, agħmilha fl-ordni t-tajba: issettja AUTOSTART għal none, ħaddem systemctl daemon-reload biex l-units iġġenerati jieħdu l-lista l-ġdida, imbagħad iddiżattiva l-istanza mudell li ma tridx aktar. Jekk taqbeż it-tagħbija mill-ġdid, l-units qodma jibqgħu attivi, u jidher li l-bidla ma kellha l-ebda effett.
Waqfa li tiddendel hija problema separata b’risposta limitata. TimeoutStopSec jillimita kemm systemd jistenna qabel jibgħat SIGKILL. Fajl drop-in huwa l-post it-tajjeb biex issettjah, għax l-editjar tal-unit ippakkettat jitlef il-bidla fl-aġġornament li jmiss.
Ivverifika x’beda tassew
Erġa’ ibda u aqra l-evidenza minflok tafda l-fajl tal-konfigurazzjoni. L-unit li jippossjedi t-tunnel se juri stat attiv u timbru tal-ħin tal-bidu li jaqbel mal-boot, u l-interface tal-VPN se tkun teżisti qabel ma tidħol.
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
Hawnhekk jaqa’ kontroll ieħor: ikkonferma li l-ExecStart tal-unit jindika lejn il-binarju li taħseb. Klijent ikkompilat lokalment jew pakkett snap spiss jeħtieġ triq espliċita jew wrapper snap run, għax systemd ma jirtix l-ordni tat-tiftix tal-shell tiegħek. Li tqabbel command -v openvpn mal-fajl tal-unit isolvi dan fi ftit sekondi.
Ikteb is-sid magħżul fin-noti tal-magna, ħdejn l-isem tal-profil. Il-persuna li jmiss li tiddibaggja tunnel nieqes se tibda minn dik il-linja minflok ma tirrepeti l-paragun.