Mae eich gwasanaeth yn methu cyn i OpenVPN redeg o gwbl, ac mae’r gwall yn siarad am uned mynediad na wnaethoch chi ei ffurfweddu. Dyna’r arwydd: mae systemd yn gwrthod y drafodaeth gyfan oherwydd bod uned y mynediad gwraidd wedi’i masgio, ac nid yw eich proffil VPN wedi’i ddarllen eto. Yr achos arferol yw ffeil sydd dros ben yn y cyfeiriadur unedau amser rhedeg, nid fstab wedi torri ac nid tystysgrif sy’n eisiau. Dilynwch y ffeil yn gyntaf, oherwydd dyma’r esboniad rhataf i’w ddiystyru.

Mae’r gwall yn enwi’r mynediad gwraidd, nid eich proffil

Mae systemd yn cynhyrchu uned y mynediad gwraidd ei hun o wybodaeth mynediad y cnewyllyn, ac mae’n enwi’r uned -.mount oherwydd bod llinell yn sefyll am y llwybr gwraidd. Mae’r uned honno fel arfer yn bodoli yn y cof yn unig ac nid oes ffeil y tu ôl iddi. Pan fo’r gwall yn dweud ei bod wedi’i masgio, mae rhywbeth wedi rhoi ffeil uned lle bydd systemd yn ei llwytho ac wedi cyfeirio’r ffeil honno at /dev/null. Mae’r masg yn gyflwr go iawn, nid camgymeriad teip yn y neges.

Mae uned y rhandaliad yn methu oherwydd bod ei graff tasgau yn cyrraedd y mynediad gwraidd drwy drefnu a thrwy ei gofynion mynediad ei hun. Gwrthodir y drafodaeth cyn i’r deuaidd OpenVPN gael ei weithredu, felly ni all dim yng nghyfluniad y cleient fod yn achos. Dyna pam nad oes gan newid proffiliau, tystysgrifau na chymwysterau unrhyw effaith ar y methiant hwn.

Gwiriwch y cyfeiriadur amser rhedeg cyn datfacio OpenVPN

Chwilwch am ffeil â’r enw union hwnnw yn y cyfeiriadur unedau amser rhedeg, yna gofynnwch i systemd beth y mae’n meddwl yw’r uned. Mae’r ddau ateb yn gyflym, ac gyda’i gilydd maen nhw’n gwahanu ffeil sbâr oddi wrth broblem mynediad go iawn.

ls -l /run/systemd/system/-.mount
systemctl status -.mount
systemctl list-unit-files --state=masked | grep mount

Nid oes ffeil o’r fath ar beiriant arferol, ac nid yw’r rhestr fasgio yn cynnwys y mynediad gwraidd. Os yw’r gorchymyn cyntaf yn argraffu cyswllt symbolaidd i /dev/null, mae’r diagnosis wedi’i setlo. Gall yr un cyfeiriadur gynnwys masg tmp.mount a grëwyd gan yr un offer, ac mae hynny’n cynhyrchu’r un dosbarth o fethiant o dan enw gwahanol. Edrychwch ar y cyfeiriadur cyfan yn hytrach na dim ond ar yr enw yn y gwall.

ls -la /run/systemd/system/*.mount

Os yw’r cyfeiriadur yn lân ac mae’r uned yn dal wedi’i masgio, mae’r masg yn rhywle arall yn y llwybr chwilio, a bydd systemctl cat -.mount yn dangos pa ffeil sy’n cael ei llwytho.

Dilewch y ffeil, ail-lwythwch a chychwynnwch eto

Mae dileu’r ffeil amser rhedeg ac ail-lwytho’r rheolwr yn ddigon, ac nid yw’n cyffwrdd â dim a ddaeth o becyn. Ail-lwythwch cyn cychwyn, oherwydd mae systemd yn cadw cyflwr yr uned a lwythwyd nes iddo ailddarllen y cyfeiriadur.

sudo rm -f /run/systemd/system/-.mount /run/systemd/system/tmp.mount
sudo systemctl daemon-reload
systemctl status -.mount
sudo systemctl start [email protected]

Yna darllenwch gylchgrawn y gwasanaeth ei hun yn lle tybio bod y cywiriad wedi gweithio. Mae cychwyn yn lân yn profi yn unig bod systemd wedi derbyn yr uned; gall y cleient farw o hyd ar broffil sy’n eisiau, cyfoed na ellir ei gyrraedd neu dystysgrif nad yw’n dilysu. Problemau OpenVPN cyffredin oedd y rhain a guddiwyd y tu ôl i’r uned fasgio. Mae’n cofnodi pa broffil a lwythwyd ac a sefydlwyd y twnnel mewn gwirionedd. Os yw’r uned yn cychwyn ac nad yw’r twnnel yn gwneud, rydych wedi symud i broblem wahanol, sy’n gynnydd.

journalctl -u [email protected] -b --no-pager

Gan fod /run yn system ffeiliau dros dro, mae ailgychwyn yn clirio’r ffeil hefyd. Mae hynny’n gwneud ailgychwyn yn brawf defnyddiol: os yw’r gwasanaeth yn gweithio ar ôl ailgychwyn ac yn methu eto ar ôl y defnydd nesaf, mae’r ffeil yn cael ei phobi i mewn i’r ddelwedd.

Ataliwch rhag iddo ddod yn ôl o’r ddelwedd

Bydd templed cynhwysydd neu beiriant rhithwir sy’n masgio unedau mynediad yn ystod ei adeiladu yn cario’r masg hwnnw i bob clôn. Mae beth bynnag sy’n angen y system ffeiliau nesaf yn torri, ac mae’r neges yn beio’r mynediad yn lle’r ddelwedd y daeth ohoni. Mae trwsio o fewn un rhandaliad rhedeg yn cuddio’r broblem nes i’r rhandaliad nesaf gael ei greu.

Chwilwch gyd-destun yr adeiladwaith am enw’r ffeil ac am y gorchymyn sy’n ei chreu, yna tynnwch y masg o’r templed ac ailadeiladwch. Os oes gwir angen y masg yn ystod yr adeiladwaith, tynnwch ef yn yr un haen sy’n gorffen yr adeiladwaith, fel bod y ddelwedd a anfonir yn cychwyn yn lân. Gwiriwch ar glôn newydd yn hytrach nag ar y peiriant a drwsiwyd â llaw. Dyma’r unig brawf sy’n profi bod y ddelwedd wedi newid.

Y symptom i’w gofio yw y camgymhariad rhwng y gwall a’r peth yr oeddech yn ei ffurfweddu. Pan fo systemd yn cwyno am fynediad tra’ch bod yn cychwyn cleient VPN, darllenwch enw’r uned yn y neges cyn darllen enw’r gwasanaeth.

Erthyglau cysylltiedig