Ären Déngscht feelt, ier OpenVPN iwwerhaapt leeft, an den Feeler schwätzt vun enger Mount-Eenheet, déi Dir ni konfiguréiert hutt. Dat ass den Hiwäis: systemd refuséiert déi ganz Transaktioun, well d’Wuerzel-Mount-Eenheet maskéiert ass, an Äre VPN-Profil nach net gelies gouf. Déi gewéinlech Ursaach ass eng läichstléich Datei am Runtime-Eenheeten-Verzeechnis, net eng futti fstab an net e fehlend Zertifikat. Follegt als éischt der Datei, well dat déi bëllegst Erklärung ass, déi Dir ausschléisse kënnt.

Den Feeler nennt de Wuerzel-Mount, net Äre Profil

systemd generéiert d’Wuerzel-Mount-Eenheet selwer aus de Mount-Informatioune vum Kernel an nennt d’Eenheet -.mount, well e Bindestréch fir de Wuerzelpad steet. Déi Eenheet existéiert normalerweis nëmmen am Späicher an huet keng Datei hannert sech. Wa den Feeler seet, si ass maskéiert, huet een eng Eenheetsdatei dohinner geluecht, wou systemd se lued, an déi Datei op /dev/null weisen. D’Maske ass en echte Zustand, keen Tippfeeler an der Noriicht.

D’Instanz-Eenheet feelt, well hire Aufgabegraph iwwer d’Reiefolleg an iwwer seng eege Mount-Ufuerderungen d’Wuerzel-Mount erreecht. D’Transaktioun gëtt refuséiert, ier de OpenVPN-Binaire ausgefouert gëtt, also kann näischt an der Konfiguratioun vum Client d’Ursaach sinn. Dofir huet en Ëmstelle vu Profilen, Zertifikaten oder Umeldungsdaten keen Effekt op dëse bestëmmte Feeler.

Kuckt an d’Runtime-Verzeechnis, ier Dir OpenVPN debugg

Sicht eng Datei mat genau deem Numm am Runtime-Eenheeten-Verzeechnis an frot dann systemd, wat hie mengt, wat d’Eenheet ass. Béid Äntwerten si séier, a zusammen trenne se eng läichstléich Datei vun engem richtege Mount-Problem.

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

Op enger normaler Maschinn gëtt et sou eng Datei net, an d’Lëscht vun de maskéierten Eenheeten enthält d’Wuerzel-Mount net. Wann den éischte Kommando e symbolesche Link op /dev/null dréckt, ass d’Diagnos geséchert. Datselwecht Verzeechnis kann eng tmp.mount-Maske enthalen, déi dat selwecht Tool ugeleet huet, an dat produzéiert déiselwecht Klass vu Feeler ënner engem aneren Numm. Kuckt dat ganzt Verzeechnis un an net nëmmen den Numm aus dem Feeler.

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

Wann d’Verzeechnis propper ass an d’Eenheet trotzdeem maskéiert ass, läit d’Maske soss anzwousch am Sichpad, an systemctl cat -.mount weist, wéi eng Datei gelueden gëtt.

Läscht d’Datei, lued nei a start nei

Et genüügt, d’Runtime-Datei ewechzehuelen an de Manager nei ze lueden, an et beréiert näischt, wat aus engem Pak kënnt. Lued nei virum Start, well systemd de geluedenen Zoustand vun der Eenheet behält, bis en d’Verzeechnis nach eng Kéier liest.

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

Liest duerno de Journal vum Déngscht selwer, amplaz unzehuelen, d’Reparatur hätt funktionéiert. En propperen Start beweise just, datt systemd d’Eenheet akzeptéiert huet; de Client kann ëmmer nach u engem fehlende Profil, engem onerreechbare Peer oder engem Zertifikat stierwen, dat sech net validéiert. Dat si gewéinlech OpenVPN-Problemer, déi hannert der maskéierter Eenheet verstoppt waren. Et hält fest, wéi ee Profil gelueden gouf an ob den Tunnel wierklech opgebaut gouf. Wann d’Eenheet startet an den Tunnel net, sidd Dir op en anert Problem iwwergaangen, an dat ass e Fortschrëtt.

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

Well /run en temporäre Dateiesystem ass, läscht en Neistart d’Datei och. Dat mécht en Neistart zu engem nëtzlechen Test: wa den Déngscht no engem Neistart funktionéiert an no der nächster Ausrollung erëm feelt, gëtt d’Datei an d’Image agebaken.

Verhënnert, datt se aus dem Image zeréckkënnt

En Container- oder virtuelle-Maschinn-Template, deen beim Build Mount-Eenheete maskéiert, dréit déi Maske mat an all Klon. Dat Nächst, wat de Dateiesystem brauch, geet futti, an d’Noriicht beschëllegt de Mount amplaz vum Image, vun deem et kënnt. Eng Reparatur an enger lafender Instanz verstoppt d’Problem bis déi nächst Instanz ugeluecht gëtt.

Sicht am Build-Kontext no dem Dateinumm an no dem Kommando, deen en uleet, hëlt dann d’Maske aus dem Template a baut nei. Wann d’Maske beim Build wierklech gebraucht gëtt, hëlt se an därselwechter Schicht ewech, déi de Build ofschléisst, sou datt d’Image, déi ausgeliwwert gëtt, propper startet. Iwwerpréift op engem frische Klon an net op der Maschinn, déi Dir vun Hand reparéiert hutt. Dat ass den eenzegen Test, deen beweist, datt d’Image sech geännert huet.

D’Symptom, dat Dir behale sollt, ass d’Diskrepanz tëscht dem Feeler an deem, wat Dir konfiguréiert hutt. Wa systemd sech iwwer e Mount beschwéiert, während Dir en VPN-Client start, liest den Eenheetsnumm an der Noriicht, ier Dir den Déngschtnumm liest.

Ähnlech Artikelen