உங்கள் சுரங்கப்பாதை எழுகிறது, கிளையண்ட் இணைகிறது, ஆனால் நிலையான முகவரியும் அந்த ஒரு பயனருக்காக நீங்கள் வரையறுத்த தள்ளப்பட்ட வழித்தடங்களும் காணவில்லை. பதிவில் “file not found” என்று இல்லை, அதுவே மக்களைச் சான்றிதழ்களை மீண்டும் உருவாக்க அனுப்புகிறது. இத்தகைய பெரும்பாலான நிகழ்வுகளில் டீமன் நீங்கள் சோதித்த ஷெல்லை விட வேறு அடைவிலிருந்து இயங்குகிறது, மேலும் client-config-dir நீங்கள் கருதியபடி ஒருபோதும் தீர்க்கப்படவில்லை. திருத்தம் பாதைத் திருத்தம், சான்றுகளை மீட்டமைப்பது அல்ல.

கட்டமைப்பைத் தொடுவதற்கு முன் யூனிட்டைப் படியுங்கள்

நீங்கள் திருத்திய கோப்பிலிருந்து அல்ல, உண்மையில் இயங்கும் செயல்முறையிலிருந்து தொடங்குங்கள். systemd-ஐ இயக்க வரி, பணி அடைவு மற்றும் அது இறங்கும் கணக்கு பற்றிக் கேளுங்கள். அந்த மூன்று பதில்களும் இந்த வகையின் பெரும்பாலான தோல்விகளை விளக்குகின்றன:

systemctl show openvpn-server@server -p ExecStart -p WorkingDirectory -p User -p RootDirectory

காலியான WorkingDirectory என்பது யூனிட் / இல் தொடங்குகிறது என்பதைக் குறிக்கிறது, எனவே சார்பு client-config-dir ccd /ccd இல் தேடப்படுகிறது. அந்த அடைவு கிட்டத்தட்ட ஒருபோதும் இல்லை, டீமன் அதன் இல்லாமையை மரணகரமாகக் கருதுவதில்லை.

சோதனையின் போது நீங்கள் பயன்படுத்திய ஊடாடும் தொடக்கத்துடன் இதை ஒப்பிடுங்கள், அங்கே உங்கள் ஷெல்லின் தற்போதைய அடைவு கட்டமைப்பு அடைவாக இருந்திருக்கும். அதே கோப்பு, அதே முக்கியச் சொற்கள், இரண்டு வெவ்வேறு முடிவுகள்.

சார்பு பாதை எதைப் பொருத்துத் தீர்க்கப்படுகிறது

விருப்பம் பயன்படுத்தப்படும் தருணத்தில் செயல்முறையின் பணி அடைவைப் பொருத்து முக்கியச் சொல் தீர்க்கப்படுகிறது. இதன் பொருள் “நான் --config உடன் அனுப்பிய கட்டமைப்புக் கோப்பின் அருகில்” என்பது அல்ல. OpenVPN முழுமையான பாதையிலிருந்து கட்டமைப்பை மகிழ்ச்சியுடன் படிக்கும், இருந்தாலும் சார்பு மதிப்புகளை வேறெங்கோ தீர்க்கும், இங்கே உள்ள பொறி அதுவே. OpenVPN 2.6 கையேடு விதியை --client-config-dir கீழும் மீண்டும் --cd கீழும் கூறுகிறது.

cd முக்கியச் சொல் மற்ற கோப்புகள் படிக்கப்படுவதற்கு முன் அந்தச் சூழலை மாற்றுகிறது, எனவே cd /etc/openvpn/server அமைத்து பிறகு client-config-dir ccd வைக்கும் யூனிட் /etc/openvpn/server/ccd ஆகத் தீர்க்கப்படுகிறது. நீங்கள் cd சேர்த்தால், வழிமுறைகளின் வரிசையைச் சரிபார்த்து, அது அதே கோப்பில் உள்ள மற்ற ஒவ்வொரு சார்பு குறிப்பையும் பாதிக்கும் என்பதை நினைவில் கொள்ளுங்கள்.

பாதையை டீமனின் கணக்காக நடந்து பாருங்கள்

பாதை சரியாக இருந்தும் படிக்க முடியாமல் இருக்கலாம். சலுகைகள் குறைந்த பிறகு டீமன் இனி root அல்ல, எனவே ஒவ்வொரு பெற்றோர் அடைவுக்கும் அந்தக் கணக்கிற்குத் தேடல் அனுமதி தேவை, கிளையண்ட் கோப்பிற்கே படிக்கும் அனுமதி தேவை. பெற்றோரில் ஒரு இயக்க பிட் இல்லாதிருந்தாலே கோப்பு மறையும், பிழை அமைதியாக இயல்புநிலைக் குளத்தைப் பெறும் கிளையண்டாக மட்டுமே தெரியும்.

namei ஒவ்வொரு பகுதியின் அனுமதியையும் வரிசையாக அச்சிடுகிறது, இது அடைவுகளை ஒவ்வொன்றாகச் சரிபார்ப்பதை விட வேகமானது:

namei -l /etc/openvpn/server/ccd/client1

பிறகு படிப்பதை நீங்களாக அல்ல, சேவைக் கணக்காகச் சோதியுங்கள்:

runuser -u openvpn -- test -r /etc/openvpn/server/ccd/client1 && echo readable

யூனிட் chroot பயன்படுத்தினால், அடைவு சிறையின் உள்ளே இருக்க வேண்டும், கட்டமைப்பில் உள்ள பாதை chroot பயன்படுத்தப்பட்ட பிறகு விளக்கப்படுகிறது. சிறைக்கு வெளியே ஹோஸ்ட்டில் உள்ள கோப்பு உள்ளிருந்து தெரியாது.

ஊகிக்காமல் தேடலை உறுதிப்படுத்துங்கள்

ஒரு மறுதொடக்கத்திற்கு பதிவு அளவை உயர்த்தி, கிளையண்ட்-குறிப்பிட்ட விருப்பங்கள் பற்றி சேவையகம் என்ன சொல்கிறது என்பதைப் படியுங்கள். verb 4 இல் டீமன் இறக்குமதி செய்த ஒவ்வொரு கிளையண்டின் கட்டமைப்பையும் தெரிவிக்கிறது, எனவே விடுபட்ட வரி அந்த இணைப்பிற்கு எந்தக் கோப்பும் படிக்கப்படவில்லை என்பதற்கு நேரடி ஆதாரம்.

openvpn --config /etc/openvpn/server.conf --verb 4 --client-config-dir /etc/openvpn/server/ccd

அதை ஒரு காலியான துறையில் முன்னணியில் இயக்கி ஒரு கிளையண்டை இணைக்கவும். இது systemd-ஐ படத்திலிருந்து முழுவதுமாக நீக்குகிறது: மேலெழுதல் இங்கே தோன்றி சேவையின் கீழ் தோன்றவில்லை என்றால், வேறுபாடு கோப்பில் அல்ல, யூனிட்டின் சூழலில் உள்ளது.

எந்தக் கோப்பும் பொருந்தாதபோது என்ன நடக்க வேண்டும் என்பதை முடிவு செய்யுங்கள். ccd-exclusive இல்லாமல் கிளையண்ட் உலகளாவிய குள அமைப்புகளுடன் மட்டுமே ஏற்கப்படுகிறது, அதுவே மேலே விவரிக்கப்பட்ட அமைதியான தோல்வி. அதனுடன் விடுபட்ட கோப்பு மறுக்கப்பட்ட இணைப்பாக மாறும், அந்த மறுப்பைக் கவனிப்பது எளிது ஆனால் சுமையின் கீழ் பிழைத்திருத்துவது கடினம்.

சரிசெய்து, மறுதொடக்கம் செய்து, சரிபாருங்கள்

கட்டமைப்பில் அடைவை முழுமையாக்கி அதேபோல் வையுங்கள். சார்பு பாதைகள் யூனிட் பணி அடைவைப் பூட்டும்போது மட்டுமே பாதுகாப்பானவை, பூட்டுவது பின்னர் யாரோ அகற்றப்போகும் கூடுதல் நகரும் பகுதி.

client-config-dir /etc/openvpn/server/ccd
ccd-exclusive

நிகழ்வை மறுதொடக்கம் செய்து, தெரிந்த ஒரு கிளையண்டை மீண்டும் இணைத்து, அது பெற்ற முகவரியை அதை நோக்கித் தள்ளப்பட்ட வழித்தடங்களுடன் படியுங்கள். முகவரி அந்தக் கிளையண்டின் கோப்பில் உள்ள ifconfig-push வரியுடன் பொருந்தினால், தேடல் வேலை செய்தது. கிளையண்ட் இன்னும் பொதுக் குளத்தில் விழுந்தால், பதிவு வரிகளின் எண்ணிக்கைக்குத் திரும்புங்கள்: பூஜ்ஜிய இறக்குமதி என்றால் பாதை அல்லது அடையாளம் தவறு, தவறான உள்ளடக்கத்துடன் ஒரு இறக்குமதி என்றால் டீமன் படிப்பதை விட வேறு கோப்பைத் திருத்துகிறீர்கள்.

முந்தைய யூனிட்டையும் கட்டமைப்பையும் ஒன்றாக மீட்டெடுத்து பின்னோக்கிச் செல்லுங்கள், பிறகு மறுதொடக்கம் செய்யுங்கள். இவற்றில் எதற்கும் சான்றிதழ்களை மீண்டும் வழங்க வேண்டியதில்லை, அடைவுப் பிரச்சினையைச் சான்றுப் பிரச்சினையாகக் கருதுவதே ஐந்து நிமிடத் திருத்தத்தைப் பராமரிப்பு சாளரமாக மாற்றும் வழி.

தொடர்புடைய கட்டுரைகள்