OpenVPN பிழை இல்லாமல் தொடங்கவில்லையா? journal-ஐப் பாருங்கள்
Ubuntu-வில் அமைதியான வெளியேற்றம் என்பது பொதுவாகச் செய்தி வேறெங்கோ சென்றது அல்லது unit ஒருபோதும் இயங்கவில்லை என்பதைக் குறிக்கும். முதலில் instance பெயர், journal மற்றும் binary-ஐச் சரிபார்க்கவும்.
கட்டளை திரும்புகிறது, சேவை தோல்வியாகத் தெரிகிறது, மேலும் விளக்கத்தைப் போன்ற எதுவும் டெர்மினலுக்கு வரவில்லை. அந்த அமைதியே மக்கள் «OpenVPN தொடங்கவில்லை» என்று விவரிக்கும் அறிகுறி, மேலும் நிரல் எதுவும் சொல்லாமல் இறந்தது என்று அர்த்தமாவது கிட்டத்தட்ட இல்லை. செய்தி நீங்கள் படிக்காத சேனலுக்குச் சென்றது, அல்லது நீங்கள் தொடங்கியது நீங்கள் கட்டமைத்தது அல்ல என்று அர்த்தம். சுயவிவரத்தைச் சந்தேக நபராகக் கருதுவதை நிறுத்தியவுடன் இரண்டு நிகழ்வுகளையும் ஒரு நிமிடத்திற்குள் கண்டறியலாம்.
வெளியீட்டை நான்கு இடங்கள் உறிஞ்சுகின்றன: unit-இன் journal, இணைப்பைக் கொண்டுள்ள plugin, சுரங்கப்பாதையின் மறுமுனை, மற்றும் இயங்குவதாக நீங்கள் நினைப்பதிலிருந்து வேறுபட்ட binary. ஒவ்வொன்றுக்கும் அதன் சொந்த சரிபார்ப்பு உள்ளது.
அமைதி என்றால் நீங்கள் சரியான சேனலைப் பார்க்கவில்லை
முன்னணிக் கட்டளை உங்கள் டெர்மினலில் அச்சிடுகிறது. unit journal-இல் அச்சிடுகிறது, தோல்வியடைந்த unit எதையும் எழுதுவதற்கு முன்பே வெளியேறலாம், தோல்வி அது எவ்வாறு தொடங்கப்பட்டது என்பதில் இருந்தால், அதற்குச் சொல்லப்பட்டதில் இல்லை. இந்த வேறுபாடு முக்கியம்: journal-இல் பதிவு இல்லாதது செயல்முறை உண்மையில் ஒருபோதும் இயங்கவில்லை என்று பொருள், ஒரு பதிவும் அதைத் தொடர்ந்து வெளியேற்றமும் இருந்தால் அது இயங்கி ஏதோ ஒன்றை நிராகரித்தது என்று பொருள்.
systemctl status openvpn-client@office
journalctl -u openvpn-client@office -b --no-pager
தூய வெளியேற்றத்தை சமிக்ஞையிலிருந்து பிரிக்க இதைச் சேர்க்கவும்: systemctl show -p Result -p ExecMainStatus openvpn-client@office. நிலை 1 மற்றும் Result=exit-code ஒரு நிரல் முடிவு; Result=signal அல்லது காலவரம்பு அதற்குப் பதிலாக சூழலைக் குறிக்கின்றன, சுயவிவரத் திருத்தம் எவ்வளவு செய்தாலும் அதை மாற்றாது. எதையும் மறுதொடக்கம் செய்வதற்கு முன் இரண்டு மதிப்புகளையும் பதிவு செய்யுங்கள், ஏனெனில் மறுதொடக்கம் அவற்றை உருவாக்கிய தற்காலிக நிலையை அழிக்கிறது.
instance பெயர் பாதையின் ஒரு பகுதி
தொகுக்கப்பட்ட template unit ஒரு கோப்பு பாதையை எடுக்காது. அது instance பெயரை எடுக்கிறது, அந்தப் பெயர் சுயவிவரத்தைக் கண்டறிய ஒரு கோப்பகத்தில் சேர்க்கப்படுகிறது: office Debian மற்றும் Ubuntu தொகுப்பில் /etc/openvpn/client/office.conf ஆகத் தீர்க்கப்படுகிறது. office-v2.conf எனும் கோப்பு @office ஆகத் தொடங்கப்பட்டாலும் ஒருபோதும் படிக்கப்படுவதில்லை, அதன் பார்வையில் செய்ய எதுவும் இல்லாததால் unit அமைதியாக வெளியேறுகிறது. தேடல் கோப்பகம் client மற்றும் server பயன்முறைகளில் வேறுபடுகிறது, எனவே template-ஐ மாற்றும்போது அதே தவறு முற்றிலும் வேறு இடத்தைக் காட்டுகிறது.
அந்த முரண்பாடே அமைதியான தோல்வியின் பொதுவான மூலம், சுயவிவரம் சரியாக இருப்பதால் அது சுயவிவரத்தில் தெரிவதில்லை. உண்மையில் என்ன இருக்கிறது என்பதைப் பட்டியலிட்டு, தொகுப்பு எதிர்பார்க்கும் எந்த நீட்டிப்பையும் சேர்த்து இரு பெயர்களையும் எழுத்து எழுத்தாக ஒப்பிடுங்கள்.
ls -l /etc/openvpn/client/
systemctl list-units 'openvpn*' --all
unit இயக்கப்பட்டிருந்தாலும் எந்த instance-உம் பட்டியலிடப்படவில்லை என்றால், இயக்கமே பின்னர் பெயர் மாற்றப்பட்ட பெயரைக் குறிக்கலாம். சரியான instance-ஐ மீண்டும் இயக்குவது பொதுவாகப் போதும், பின்தங்கிய பழைய unit கோப்பை நீக்குவது மதிப்புள்ளது, அது அடுத்த நபரைக் குழப்பாமல் இருக்க. பின்தங்கிய unit கோப்பு பின்னர் யாருக்கோ ஒரு மணி நேரத்தை இழக்கச் செய்யும் சிறிய விஷயம்.
plugin சுரங்கப்பாதையைக் கொண்டிருக்கும்போது, டெர்மினல் எதையும் பார்ப்பதில்லை
டெஸ்க்டாப் applet-இலிருந்து தொடங்கப்பட்ட இணைப்பை NetworkManager கொண்டிருக்கிறது, அதன் OpenVPN வெளியீடு நீங்கள் திறந்திருக்கும் எந்த shell-க்கும் அல்ல, அந்தச் சேவையின் journal-க்குச் செல்கிறது. client-ஐ கையால் இயக்கி எதையும் பாராமல் இருப்பது அந்த ஏற்பாட்டில் எதிர்பார்க்கப்படும் ஒன்று, கையால் இயக்கப்பட்ட செயல்முறை இணைப்பைச் சுமப்பது அல்ல.
அதைக் கொண்டிருக்கும் சேவையை journal-இல் தேடுங்கள், பின்னர் நீங்கள் படிக்கக்கூடிய விவர அளவில் பகுப்பாய்வை மீண்டும் உருவாக்குங்கள். கீழே உள்ள இரண்டு கட்டளைகள் ஒரே தோல்வியின் வெவ்வேறு உரிமையாளர்களைப் பார்க்கின்றன.
journalctl -b -u NetworkManager --no-pager | grep -i -A3 openvpn
openvpn --config /etc/openvpn/client/office.conf --verb 4 --log /tmp/ovpn.log
தனித்த இயக்கமானது செய்திகளைப் படிக்க, நிர்வகிக்கப்பட்ட இணைப்பை மாற்ற அல்ல, இரண்டும் பின்னர் வேறுபடுகின்றன: DNS ஒருங்கிணைப்பு, வழிகள் மற்றும் ஆயுள் plugin-க்கு உரியது. தனித்த இயக்கத்தில் பகுப்பாய்வுப் பிழையை சரிசெய்வது applet பொறுப்பேற்ற பிறகு பெயர் தீர்வை தானாகவே சரிசெய்யாது, எனவே இரு கவனிப்புகளையும் தனித்தனியாக வைத்திருங்கள்.
இரண்டு binary, ஒரு PATH
கையால் கட்டப்பட்ட நிறுவல் /usr/local கீழ் இருந்தால் shell அழைப்பில் வெல்லும், ஏனெனில் /usr/local/sbin Ubuntu இயல்புநிலை PATH-இல் /usr/sbin க்கு முன் வருகிறது. unit உங்கள் PATH-ஐப் பயன்படுத்தாது; அது ExecStart இல் எழுதப்பட்ட முழுமையான பாதையை இயக்குகிறது. எனவே உங்கள் டெர்மினலில் வேலை செய்யும் பதிப்பும் சேவையாகத் தோல்வியடையும் பதிப்பும் உண்மையிலேயே வெவ்வேறு நிரல்களாக இருக்கலாம்.
எதையும் மீண்டும் கட்டுவதற்கு முன் இரண்டையும் ஒப்பிடுங்கள். மூன்றாவது கட்டளையே வாதத்தைத் தீர்மானிக்கிறது.
command -v openvpn
whereis openvpn
systemctl cat openvpn-client@office | grep ExecStart
மற்றொரு சூழல் வேறுபாடு அதே இடத்தில் மறைந்திருக்கிறது. தொகுக்கப்பட்ட unit /run கீழ் systemd அதற்காக உருவாக்கும் இயக்கநேரக் கோப்பகத்தைச் சார்ந்திருக்கிறது; அந்த அமைப்பை விட்டுவிடும் கையால் எழுதப்பட்ட மாற்று unit ஒரு கோப்பையும் திறக்கும் முன் தோல்வியடையலாம், தோல்வி எந்த OpenVPN செய்தியும் இல்லாத பொதுவான மறுப்பைப் போலத் தெரிகிறது.
client தெரிவிக்க முடியாத தோல்விகள்
சில முடிவுகள் தொலை முனையில் தீர்மானிக்கப்படுகின்றன. HTTP நிலையுடன் பதிலளித்து இணைப்பை மூடும் நுழைவாயில் அதன் சொந்த நிலையை உங்களுக்குச் சொல்லிவிட்டது, அடுத்த பயனுள்ள படி உங்கள் உள்ளூர் கோப்புகள் அல்ல, அதன் பதிவு அல்லது சான்றுகளுக்குப் பின்னால் உள்ள கணக்கு. அந்தச் சூழலில் உள்ளூரில் எதுவும் உடைந்திருக்கவில்லை, ஈடுசெய்ய சுயவிவரத்தைத் திருத்துவது அடுத்த கண்டறிதலைக் கடினமாக்குகிறது. client உள்ளமைவைத் தொடுவதற்கு முன் அந்தப் பதிவைப் படியுங்கள்.
மற்றொரு அமைதியான நிகழ்வு சரியாக வேலை செய்யும் client. client பயன்முறை சுரங்கப்பாதை ஒருபோதும் ஒரு துறையில் கேட்பதில்லை, எனவே திறந்த கேட்பவரை எதிர்பார்க்கும் சரிபார்ப்பு எதையும் தெரிவிக்காது, தோல்வி போலத் தெரியும். வெற்றுத் துறை பட்டியலிலிருந்து முடிவுக்கு வருவதற்கு முன் நீங்கள் எந்தப் பயன்முறையைத் தொடங்கினீர்கள் என்பதை உறுதிசெய்யுங்கள்.
அடுக்குகளை வரிசையாகக் கையாளுங்கள்: unit உள்ளதா மற்றும் instance பெயர் சரியா, journal அல்லது --log கோப்புக்கு ஏதாவது வந்ததா, எந்த binary மற்றும் சுயவிவரம் உண்மையில் இயங்கின, தோல்வி உள்ளூரா அல்லது தொலைவா. ஒவ்வொரு பதிலும் ஒரு அடுக்கை நீக்குகிறது. சுயவிவரத்திலிருந்து தொடங்குவது ஒருபோதும் திறக்கப்படாத ஒரு கோப்பை மீண்டும் எழுதுவதாகும்.