మీ సేవ OpenVPN ఎప్పుడూ నడవకముందే విఫలమవుతుంది, మరియు లోపం మీరు ఎప్పుడూ కాన్ఫిగర్ చేయని మౌంట్ యూనిట్ గురించి మాట్లాడుతుంది. ఇదే సంకేతం: రూట్ మౌంట్ యూనిట్ మాస్క్ చేయబడినందున systemd మొత్తం లావాదేవీని తిరస్కరిస్తోంది, మరియు మీ VPN ప్రొఫైల్ ఇంకా చదవబడలేదు. సాధారణ కారణం రన్‌టైమ్ యూనిట్ డైరెక్టరీలో మిగిలిన ఫైల్, పాడైన fstab కాదు మరియు లేని సర్టిఫికెట్ కాదు. మొదట ఫైల్‌ను అనుసరించండి, ఎందుకంటే దానిని మినహాయించడం చవకైన వివరణ.

లోపం రూట్ మౌంట్‌ను పేర్కొంటుంది, మీ ప్రొఫైల్‌ను కాదు

systemd కెర్నల్ మౌంట్ సమాచారం నుండి రూట్ మౌంట్ యూనిట్‌ను తానే సృష్టించి, యూనిట్‌ను -.mount అని పిలుస్తుంది ఎందుకంటే డాష్ రూట్ మార్గాన్ని సూచిస్తుంది. ఈ యూనిట్ సాధారణంగా మెమరీలో మాత్రమే ఉంటుంది మరియు దాని వెనుక ఫైల్ ఉండదు. లోపం అది మాస్క్ చేయబడిందని చెప్పినప్పుడు, ఎవరో యూనిట్ ఫైల్‌ను systemd లోడ్ చేసే చోట ఉంచి ఆ ఫైల్‌ను /dev/null వైపు చూపించారు. మాస్క్ చేయడం నిజమైన స్థితి, సందేశంలో టైపింగ్ పొరపాటు కాదు.

ఇన్‌స్టాన్స్ యూనిట్ విఫలమవుతుంది ఎందుకంటే దాని జాబ్ గ్రాఫ్ క్రమం మరియు దాని స్వంత మౌంట్ అవసరాల ద్వారా రూట్ మౌంట్‌ను చేరుకుంటుంది. OpenVPN బైనరీ అమలు కాకముందే లావాదేవీ తిరస్కరించబడుతుంది, కాబట్టి క్లయింట్ కాన్ఫిగరేషన్‌లో ఏదీ కారణం కాలేదు. అందుకే ప్రొఫైల్‌లు, సర్టిఫికెట్లు లేదా ఆధారాలు మార్చడం ఈ నిర్దిష్ట వైఫల్యంపై ఎటువంటి ప్రభావం చూపదు.

OpenVPN డీబగ్ చేసే ముందు రన్‌టైమ్ డైరెక్టరీని చూడండి

రన్‌టైమ్ యూనిట్ డైరెక్టరీలో సరిగ్గా ఆ పేరుతో ఫైల్‌ను వెతకండి, ఆపై యూనిట్ ఏమిటని systemd భావిస్తుందో అడగండి. రెండు సమాధానాలూ వేగవంతం, మరియు కలిసి మిగిలిన ఫైల్‌ను నిజమైన మౌంట్ సమస్య నుండి వేరు చేస్తాయి.

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

సాధారణ యంత్రంలో అలాంటి ఫైల్ ఉండదు, మరియు మాస్క్ చేసిన జాబితాలో రూట్ మౌంట్ ఉండదు. మొదటి ఆదేశం /dev/null కు సింబాలిక్ లింక్‌ను ముద్రిస్తే, నిర్ధారణ ఖాయం. అదే డైరెక్టరీలో అదే సాధనాలతో సృష్టించిన tmp.mount మాస్క్ కూడా ఉండవచ్చు, అది వేరే పేరుతో అదే రకమైన వైఫల్యాన్ని కలిగిస్తుంది. మొత్తం డైరెక్టరీని చూడండి, లోపంలోని పేరును మాత్రమే కాదు.

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

డైరెక్టరీ శుభ్రంగా ఉండి యూనిట్ ఇంకా మాస్క్ చేయబడి ఉంటే, మాస్క్ శోధన మార్గంలో మరెక్కడో ఉంది, మరియు ఏ ఫైల్ లోడ్ అవుతోందో systemctl cat -.mount చూపిస్తుంది.

ఫైల్‌ను తొలగించండి, మళ్లీ లోడ్ చేయండి మరియు మళ్లీ ప్రారంభించండి

రన్‌టైమ్ ఫైల్‌ను తీసివేయడం మరియు మేనేజర్‌ను మళ్లీ లోడ్ చేయడం సరిపోతుంది, అది ప్యాకేజీ నుండి వచ్చిన దేనినీ తాకదు. ప్రారంభించే ముందు మళ్లీ లోడ్ చేయండి, ఎందుకంటే డైరెక్టరీని మళ్లీ చదివే వరకు systemd లోడ్ చేసిన యూనిట్ స్థితిని ఉంచుతుంది.

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

ఆపై సరిచేయడం పనిచేసిందని భావించకుండా సేవ యొక్క స్వంత జర్నల్ చదవండి. శుభ్రమైన ప్రారంభం systemd యూనిట్‌ను అంగీకరించిందని మాత్రమే రుజువు చేస్తుంది; లేని ప్రొఫైల్, చేరుకోలేని సహచరుడు లేదా ధృవీకరించని సర్టిఫికెట్ కారణంగా క్లయింట్ ఇప్పటికీ చనిపోవచ్చు. ఇవి మాస్క్ చేసిన యూనిట్ వెనుక దాగిన OpenVPN సాధారణ సమస్యలు. ఏ ప్రొఫైల్ లోడ్ అయింది మరియు సొరంగం నిజంగా ఏర్పడిందా అని జర్నల్ నమోదు చేస్తుంది. యూనిట్ ప్రారంభమై సొరంగం కాకపోతే, మీరు మరో సమస్యకు వెళ్లారు, అది పురోగతి.

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

/run తాత్కాలిక ఫైల్ సిస్టమ్ కాబట్టి, రీబూట్ ఫైల్‌ను కూడా తుడిచివేస్తుంది. అది రీబూట్‌ను ఉపయోగకరమైన పరీక్షగా మారుస్తుంది: సేవ రీబూట్ తర్వాత పనిచేసి తదుపరి విస్తరణ తర్వాత మళ్లీ విఫలమైతే, ఫైల్ ఇమేజ్‌లో కాల్చబడుతోంది.

అది ఇమేజ్ నుండి తిరిగి రాకుండా నిరోధించండి

నిర్మాణ సమయంలో మౌంట్ యూనిట్‌లను మాస్క్ చేసే కంటైనర్ లేదా వర్చువల్ మెషీన్ టెంప్లేట్ ఆ మాస్క్‌ను ప్రతి క్లోన్‌కు తీసుకువెళ్తుంది. తర్వాత ఫైల్ సిస్టమ్ అవసరమయ్యేది విరిగిపోతుంది, మరియు సందేశం వచ్చిన ఇమేజ్‌ను కాకుండా మౌంట్‌ను నిందిస్తుంది. ఒక నడుస్తున్న ఇన్‌స్టాన్స్ లోపల సరిచేయడం తదుపరి ఇన్‌స్టాన్స్ సృష్టించే వరకు సమస్యను దాస్తుంది.

నిర్మాణ సందర్భంలో ఫైల్ పేరు మరియు దాన్ని సృష్టించే ఆదేశాన్ని వెతకండి, ఆపై టెంప్లేట్ నుండి మాస్క్‌ను తీసివేసి మళ్లీ నిర్మించండి. మాస్క్ నిర్మాణ సమయంలో నిజంగా అవసరమైతే, నిర్మాణాన్ని ముగించే అదే పొరలో దాన్ని తీసివేయండి, తద్వారా పంపే ఇమేజ్ శుభ్రంగా ప్రారంభమవుతుంది. కొత్త క్లోన్‌లో ధృవీకరించండి, చేతితో మరమ్మతు చేసిన యంత్రంలో కాదు. ఇమేజ్ మారిందని రుజువు చేసే ఏకైక పరీక్ష అదే.

గుర్తుంచుకోవాల్సిన లక్షణం లోపానికి మరియు మీరు కాన్ఫిగర్ చేస్తున్న విషయానికి మధ్య ఉన్న అసమానత. systemd మౌంట్ గురించి ఫిర్యాదు చేస్తున్నప్పుడు మీరు VPN క్లయింట్‌ను ప్రారంభిస్తుంటే, మొదట సందేశంలోని యూనిట్ పేరు చదవండి, ఆపై సేవ పేరు.

సంబంధిత వ్యాసాలు