Systemd eða NetworkManager: hver ræsir VPN við upphleðslu?
Þrír ferlar geta reist sama Ubuntu-sniðið, hver með annarri kveikju. Berðu þá saman, haltu einum eiganda og farðu úr sér af tvíritinu.
Tvær Ubuntu-vélar úr sömu mynd, eitt VPN-snið, andstæðar niðurstöður við innskráningu: á annarri er göngin komin upp áður en skjáborðið birtist, á hinni kemur hún aldrei upp. Sniðið er ekki breytan hér. Það sem er ólíkt er hverjum af þremur hlutum var sagt að ræsa hana, og þessir þrír deila ekki einum rofa.
Að bera þá saman hlið við hlið er fljótlegra en að giska. Hver þeirra bregst á þekkjanlegan hátt, og það er það sem gerir samanburðinn þess virði.
Þrír ræsir með þremur mismunandi kveikjum
Pakkaða openvpn-þjónustan er elsta leiðin. Init-skriftan hennar les sjálfræsingarlista úr /etc/default/openvpn. Ef sá listi er settur út í athugasemd eða látinn vera tómur, ræsir skriftan hverja stillingu sem hún finnur í þeirri möppu í stað þeirrar einu sem þú bættir við. Ein skrá sem bætt er við fyrir eitt göng getur hljóðlega reist fleiri.
| 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 |
Önnur röðin er sú sem fólk stillir rangt. NetworkManager heldur innflutta sniðinu og mun ræsa það, en aðeins sem aukahlut í annarri tengingu, sem þýðir að kveikjan tilheyrir netleggnum en ekki VPN-inu.
Berðu saman uppsetningarkostnaðinn og umfangið
Leið init-skriftunnar kostar eina línu og nær yfir hverja stillingu á vélinni. Það hentar beini og er rangt fyrir fartölvu sem tengist mismunandi netum. Leið NetworkManager kostar UUID-leit og bindur göngin við eina grunntengingu. Hún rís á SSID vinnunnar og er kyrr niðri á hótelneti.
Handskrifuð unit kostar mest og kaupir mesta stjórn, þar á meðal röðun gagnvart öðrum þjónustum. Umfang er ráðandi þátturinn. Ef vélin hefur eitt net og eitt göng er pakkaða þjónustan heiðarleg og fyrirsjáanleg. Ef göngin eiga að fylgja ákveðnu Wi-Fi-neti er aukahluturinn sá eini af þremur sem lýsir því skilyrði án auka skriftunar.
Veldu einn eiganda og fjarlægðu hina
Snið sem tveir eigendur ræsa gefur tímasetningu sem breytist milli upphleðslna, sem er verra en hvort ferlið sem er eitt og sér. Veldu eigandann og slökktu síðan á samkeppnisleiðinni viljandi en ekki fyrir slysni.
# 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"
Ef það er pakkaða leiðin sem er lögð af, gerðu það í réttri röð: stilltu AUTOSTART á none, keyrðu systemctl daemon-reload svo mynduðu unitin taki nýja listann, og slökktu síðan á sniðmátsdæminu sem þú vilt ekki lengur. Ef sleppt er að endurhlaða haldast gömlu unitin virk, sem lítur út eins og breytingin hafi ekki haft nein áhrif.
Stöðvun sem hangir er sérstakt vandamál með afmarkað svar. TimeoutStopSec takmarkar hversu lengi systemd bíður áður en SIGKILL er sent. Drop-in er rétti staðurinn til að stilla það, því að breyta pakkaða unitinu tapar breytingunni í næstu uppfærslu.
Staðfestu hvað raunverulega ræstist
Endurræstu og lestu sönnunargögnin í stað þess að treysta stillingarskránni. Unitin sem eiga göngin sýna virka stöðu og upphafstíma sem passar við upphleðsluna, og VPN-viðmótið verður til áður en þú skráir þig inn.
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
Ein athugun til viðbótar á heima hér: staðfestu að ExecStart unitsins bendi á tvíundaskrána sem þú heldur. Staðbundið þýddur biðlari eða snap-pakki þarf oft skýra slóð eða snap run-umbúðir, því að systemd erfir ekki leitaröð skeljarinnar þinnar. Samanburður command -v openvpn við unit-skrána leysir það á sekúndum.
Skrifaðu valda eigandann í minnisblöð vélarinnar, við hlið sniðsheitisins. Næsta manneskja sem kembir göng sem vantar byrjar á þeirri línu í stað þess að endurtaka samanburðinn.