Mae rhedeg nordvpn a chael neges am daemon na ellir ei gyrraedd yn ŵyn gul sy’n dod fel arfer pan ydych chi eisoes yn hwyr. Nid yw’n dweud dim am ba un a yw’r twnnel yn gweithio, oherwydd dim ond blaen yw’r CLI: mae’n siarad â phroses gefndir dros socket Unix, ac mae’r neges yn golygu na chafodd y sgwrs honno ei chynnal. Cerddwch allan o’r gorchymyn a stopiwch ar y peth cyntaf sy’n troi allan yn anwir.

Dechreuwch lle mae’r gwall yn ymddangos

Mae dwy broses yn cymryd rhan, a’u drysu nhw yw’r hyn sy’n gwneud hyn yn ddirgel. Y daemon sy’n berchen ar y twnnel ac mae’n gwrando ar socket o dan /run/nordvpn/. Mae’r gorchymyn y gwnaethoch ei deipio yn cysylltu â’r socket hwnnw yn lle cyffwrdd y rhyngwynebau ei hun.

Pan fydd y socket ar goll neu’n gwrthod y cysylltiad, nid oes gan y CLI neb i ofyn iddo, felly mae’n adrodd am y fersiwn „daemon defnyddiwr“ neu „daemon system“ o’r un ŵyn. Mae un o’r fersiynau hynny’n enwi’r llwybr yn uniongyrchol, a dyna’r frawddeg fwyaf defnyddiol yn y cyfnewid cyfan.

Gwiriwch yr unit cyn unrhyw beth arall

Gofynnwch i reolwr y gwasanaeth a yw’r daemon yn rhedeg, yna ei gychwyn a’i alluogi mewn un cam os nad yw:

systemctl status nordvpnd
sudo systemctl enable --now nordvpnd
nordvpn version

Os yw’r unit yn bodoli ond yn anweithredol, mae enable --now yn ei gychwyn ac yn trefnu’r cychwyn nesaf ar yr un pryd. Os nad yw’r unit yn bodoli, nid y pecyn yw’r un yr ydych yn ei dybio, ac mae’r enw gosodedig yn bwysicach na’r enw yn eich nodiadau. Mae hynny’n swnio fel gwahaniaeth manylgar nes i chi dreulio ugain munud yn galluogi gwasanaeth na chafodd ei osod dan y label hwnnw erioed. Darllenwch yr hyn sydd yno, yna gweithredwch arno.

Mae rhestru’r ffeiliau unit yn setlo hynny mewn un gorchymyn, ac mae’n werth ei wneud cyn i chi gasglu unrhyw beth am y gosodiad:

systemctl list-unit-files 'nordvpn*'
service --status-all

Mae rhyddhau wedi cludo’r gwasanaeth o dan fwy nag un enw unit, felly bydd adeiladwaith sy’n defnyddio nordvpn yn lle nordvpnd yn cynhyrchu copi perffaith o’r gwall hwn tra bo gwasanaeth iach yn rhedeg yn union wrth ei ymyl.

Y socket a’i grŵp sy’n penderfynu mynediad

Hyd yn oed gyda’r daemon yn rhedeg, gellir gwrthod y cysylltiad ar sail caniatâd. Mae’r gosodwr yn creu grŵp nordvpn, ac mae’r socket yn cael ei berchenogi yn unol â hynny, felly mae defnyddiwr y tu allan i’r grŵp hwnnw’n cael ei wrthod tra bo’r gwasanaeth yn hollol iach.

sudo usermod -aG nordvpn "$USER"
newgrp nordvpn

Mae aelodaeth grŵp yn cael ei darllen pan fydd sesiwn yn cychwyn, a dyna pam mae’r newid yn ymddangos fel pe na bai’n gweithio yn y terfynell lle gwnaethoch chi ef. Mae angen plisgyn mewngofnodi ffres neu newgrp cyn i’r sesiwn sy’n rhedeg weld y grŵp newydd. Profwch mewn plisgyn newydd, nid yn yr un a redodd y gorchymyn funud yn ôl. Fel arall byddwch yn casglu bod y cywiriad wedi methu pan nad yw ond heb ei roi ar waith eto.

Perchnogaeth y socket ei hun yw ail hanner y gwiriad hwnnw. Cymharwch y grŵp ar y socket â’r grwpiau a adroddir yn y plisgyn sy’n rhedeg y CLI, ac mae’r cwestiwn caniatâd yn cael ei ateb mewn un cam yn lle trwy ailosod:

ls -l /run/nordvpn
id

Nid yw proses fyw yn brawf o’r socket cywir. Mae daemon a lansiwyd gan reolwr arall, neu hen becyn a rwymodd socket ag enw gwahanol, yn adrodd yr un peth. Mae’r rhestr cyfeiriadur yn gwahaniaethu’r achosion hynny mewn un llinell, a dyna pam y mae’n well nag ailosod.

Y broses fesul defnyddiwr ar becynnu hŷn

Mae rhai pecynnau’n rhedeg ail broses yng nghyd-destun y defnyddiwr sydd wedi mewngofnodi, y mae’r integreiddiad bwrdd gwaith yn disgwyl ei chael. Os yw sgript cychwyn system yn ei lansio heb ddisgyn i’r cyfrif hwnnw, mae’r CLI yn chwilio am daemon nad oes unrhyw sesiwn yn berchen arno.

Ar init nad yw’n systemd, mae’r trefniant dogfennol yn rhannu’r rolau: mae’r gwasanaeth system yn rhedeg o dan un enw a’r broses ar ochr y defnyddiwr o dan y cyfrif targed gyda chpst -u <user>. Gwiriwch ba drefniant y mae eich gosodiad yn ei ddefnyddio mewn gwirionedd cyn ychwanegu sgript cychwyn sy’n tybio’r llall.

Sut i wybod eich bod wedi gorffen

Uwchraddiad yw’r sbardun arferol, oherwydd mae’r binary newydd yn disgwyl cyflwr gwasanaeth na adawodd yr hen un erioed. Bydd stopio, ail-alluogi a chychwyn yn y drefn honno yn clirio hynny:

sudo systemctl stop nordvpnd
sudo systemctl enable --now nordvpnd
sudo systemctl start nordvpnd
nordvpn version

Y gorchymyn olaf yw’r prawf derbyn. Mae fersiwn wedi’i argraffu yn golygu bod y socket yn ateb, sy’n symud pob nam sy’n weddill i diriogaeth mewngofnodi, cynllun neu gysylltedd ac allan o’r erthygl hon. Os yw’n ateb, stopiwch ddarllen yma a cherddwch i edrych ar y cyfrif yn lle hynny.

Os yw’r socket yn dal ar goll, darllenwch y journal unit i weld pam y daeth i ben, yna gwiriwch fod /run/nordvpn yn bodoli a bod y cyfrif gwasanaeth yn gallu ysgrifennu yno. Mae proses sy’n codi ac yn marw ar unwaith yn cofnodi ei rheswm yn y journal hwnnw, ac mae un llinell yn gyflymach i’w darllen nag y mae ailosod i’w gyflawni.

Erthyglau cysylltiedig