OpenVPN முதல் வரியை நிராகரிக்கிறதா? கோப்பு ஒருவேளை UTF-16 ஆக இருக்கலாம்
முதல் வரியில் விசித்திர எழுத்துகளுடன் வரும் பிழை பொதுவாக சுயவிவரம் UTF-16 ஆக சேமிக்கப்பட்டது என்று பொருள். முதல் பைட்டுகளைப் படித்து, பின்னர் கோப்பை சரியாக மாற்றவும்.
பிழை .ovpn கோப்பின் முதல் வரியைச் சுட்டிக்காட்டி, client இருக்க வேண்டிய இடத்தில் குழப்பமான எழுத்துகள் போலத் தோன்றுவதை மேற்கோள் காட்டுகிறது. கோப்பு உங்கள் எடிட்டரில் சிக்கலின்றி திறக்கிறது, முதல் வரி client என்று படிக்கிறது, மேலும் அறிவுறுத்தல் முற்றிலும் சாதாரணமானது. இரண்டு அவதானிப்புகளும் உண்மை, ஏனெனில் எடிட்டர் பைட்டுகளை டிகோட் செய்கிறது, கிளையண்ட் செய்யவில்லை. நீங்கள் பார்ப்பது கிட்டத்தட்ட எப்போதும் என்கோடிங் பிரச்சினை, இலக்கணப் பிரச்சினை அல்ல.
கட்டுக்கதை: எடிட்டர் உங்களுக்கு கோப்பைக் காட்டுகிறது
உரை எடிட்டர் பைட்டுகளை எழுத்துகளாக மாற்றுவது, அது கண்டறியும் அல்லது ஊகிக்கும் என்கோடிங்கைப் பயன்படுத்தி. UTF-16 என்று ஊகிக்கும்போது, திரையில் கோப்பு சரியாகத் தெரிகிறது, ஆனால் கீழே உள்ள பைட்டுகள் ஜோடிகளாக இருக்கின்றன, ஒவ்வொரு லத்தீன் எழுத்துக்குப் பிறகும் ஒரு பூஜ்ஜிய பைட் வருகிறது. OpenVPN அந்த பைட்டுகளை எழுத்துகளாகப் படிக்கிறது, மேலும் அது பகுப்பாய்வு செய்ய முயற்சிக்கும் முதல் அறிவுறுத்தலில் வேறுபாடு தெரிகிறது.
எனவே தெரியும் வரியும் அனுப்பப்படும் வரியும் இரண்டு வேறு விஷயங்கள். நீங்கள் பார்க்கும் விசித்திர எழுத்துகளை நீக்குவது காட்சியில் ஏற்படும் மாற்றம், என்கோடிங்கில் அல்ல, அடுத்த பகுப்பாய்வும் அதே காரணத்தால் சற்று வேறு செய்தியுடன் தோல்வியடைகிறது. அதனால்தான் பிழையில் உள்ள டோக்கனைத் துரத்துவது எப்போதும் எங்கும் செல்லாது. பைட்டுகள் மூலத்திலேயே தவறானவை, பின்னால் வரும் ஒவ்வொரு வாசகரும் அதே உடைந்த வரிசையை ஊகிக்கிறார்.
தோல்வியின் குறிப்பிட்ட வடிவத்தை அறிந்துகொள்வது மதிப்புள்ளது, ஏனெனில் அது ஒரு தனித்துவமான வழியில் கண்டறியத்தக்கது. கோப்பின் மிகத் தொடக்கத்தில் ஒரு டோக்கன், மற்ற இயந்திரங்களில் வேறுவிதமாக வேலை செய்த சுயவிவரத்தில், சொல்லகராதி பிரச்சினை அல்ல, பைட் வரிசை பிரச்சினை.
முதல் பைட்டுகள் உண்மையில் என்ன சொல்கின்றன
எழுத்துகளுக்குப் பதிலாக பைட்டுகளைப் படியுங்கள். இரண்டு சிறிய கட்டளைகள் அதை சில வினாடிகளில் தீர்மானிக்கின்றன, இரண்டும் கோப்பை மாற்றக்கூடிய ஒரு பயன்பாட்டில் திறக்கத் தேவையில்லை:
file client.ovpn
head -c 24 client.ovpn | od -An -tx1
நீங்கள் தேடும் முறை என்பது ஒவ்வொரு இரண்டாவது பைட்டும் பூஜ்ஜியமாக இருக்கும் உரையின் முன் வரும் ஒரு ஜோடி தொடக்க பைட்டுகள். FF FE UTF-16 லிட்டில்-எண்டியனையும், FE FF பிக்-எண்டியனையும், EF BB BF பைட் வரிசைக் குறியுடன் UTF-8 ஐயும் குறிக்கின்றன. குறியில்லாத சாதாரண UTF-8 கோப்பு நேரடியாக முதல் எழுத்தின் பைட்டில் தொடங்குகிறது.
எழுத்துகளுக்கு இடையே உள்ள பூஜ்ஜிய பைட்டுகளே முக்கிய துப்பு. UTF-16 லிட்டில்-எண்டியனில் client என்ற சொல் ஆறுக்குப் பதிலாக பன்னிரண்டு பைட்டுகளை எடுக்கிறது, ஏனெனில் ஒவ்வொரு ASCII எழுத்துக்குப் பிறகும் பூஜ்ஜியம் வருகிறது. அந்த அமைப்பை எடிட்டரின் திரை உங்களுக்குக் காட்ட முடியாது, இரண்டு பைட்டுகளை நீக்குவதாலும் அது போகாது.
இங்கே ஒரு முக்கிய நுணுக்கம் உள்ளது: OpenVPN இன் கட்டமைப்பு வாசிப்பான் கோப்பின் தொடக்கத்தில் உள்ள UTF-8 பைட் வரிசைக் குறியை உண்மையிலேயே தவிர்க்கிறது, 2.6 கட்டமைப்பு வாசிப்பான் காட்டுவது போல. அந்தச் சகிப்புத்தன்மை அந்தக் குறிக்கே சொந்தமானது, எழுத்துகள் பூஜ்ஜியங்களால் நிரப்பப்பட்ட UTF-16 கோப்புக்கு அது எதுவும் செய்யாது. இரண்டு குறிகளையும் ஒரே பிரச்சினையாகக் கருதுவதே கட்டுக்கதையின் இரண்டாம் பாதி.
சரிசெய்யப்பட்ட என்கோடிங் எதைச் சரிசெய்யாது
எதையும் செய்வதற்கு முன் இயக்குபவரின் அசல் கோப்பின் தொடாத நகலை வைத்துக்கொண்டு தனிக் கோப்பில் வேலை செய்யுங்கள். சுயவிவரத்தில் தனிப்பட்ட விசை அல்லது கணக்குப் பொருள் இருக்கலாம், எனவே நகல் உங்கள் பின்திரும்பல் மற்றும் உங்கள் குறிப்பு இரண்டும் ஆகும்.
பின்னர் உண்மையான என்கோடிங் மாற்றத்தைச் செய்யுங்கள், ஒன்று எடிட்டரின் வெளிப்படையான என்கோடிங் மெனு வழியாக, அல்லது அதன் உள்ளீடு மற்றும் வெளியீட்டு என்கோடிங்கைக் கூறும் மாற்றியின் மூலம்:
iconv -f UTF-16 -t UTF-8 client.ovpn > client-utf8.ovpn
file client-utf8.ovpn
கட்டளையின் வெளியேறும் நிலையை நம்புவதற்குப் பதிலாக முடிவைச் சரிபார்க்கவும். மாற்றம் ஒவ்வொரு அறிவுறுத்தலையும் பாதுகாக்க வேண்டும், மேலும் அதன் குறியீடுகளுக்குள் உள்ள எந்த உட்பொதிக்கப்பட்ட சான்றிதழ் அல்லது விசைத் தொகுதியையும் பைட் அளவில் பாதுகாக்க வேண்டும். PEM தரவை மீண்டும் சுருட்டுவது, தொகுதிக்குள் வரி முடிவுகளை மாற்றுவது அல்லது மாற்றத்தின் போது சுயவிவரத்தை மீண்டும் வடிவமைப்பது பழைய பிரச்சினையை சரிசெய்யும்போது புதிய பிரச்சினையை உருவாக்குகிறது.
கிளையண்ட் அல்லது சேவையை மாற்றப்பட்ட கோப்பை நோக்கிக் காட்டி, அது தெரிவிக்கும் முதல் பிழையைப் பாருங்கள். குழப்பமான டோக்கன் போய்விட்டால் என்கோடிங் வேலை முடிந்தது, அதன் பிறகு தோல்வியடைவது வேறு கேள்வி.
சரிசெய்யப்பட்ட என்கோடிங் சரிசெய்யாதவை
என்கோடிங் உரை எவ்வாறு படிக்கப்படுகிறது என்பதைத் தீர்மானிக்கிறது; உங்கள் முன் உள்ள கிளையண்டுக்கு விருப்பங்கள் செல்லுபடியாகுமா என்பதை அது சொல்லாது. வேறு செயலாக்கத்திற்கு ஏற்றுமதி செய்யப்பட்ட சுயவிவரம் தூய்மையாகப் பகுப்பாய்வு செய்யப்படலாம், இருப்பினும் இயங்கும் கட்டமைப்பு ஆதரிக்காத விருப்பத்தால் அல்லது அந்தக் கிளையண்டில் அதன் வாதத்திற்கு வேறு பொருள் உள்ள அறிவுறுத்தலால் நிராகரிக்கப்படலாம்.
அந்தப் பிந்தைய பிழைகள் தனி விசாரணைக்கு உரியவை: சரியான எழுத்துப்பிழை, வாதத்தின் இலக்கணம் மற்றும் அதை ஏற்கும் பதிப்பு. வெற்றிகரமான பகுப்பாய்வை வெற்றிகரமான சுயவிவரமாகக் கருத வேண்டாம்.
இதில் ஈடுபட்டிருக்கும்போது விசாரணையை உள்ளூராக வைத்திருங்கள். பொதுவான ஆன்லைன் மாற்றிகள் மற்றும் ஒட்டப்பட்ட hex டம்ப்கள் தனிப்பட்ட விசை இருக்கக்கூடிய கோப்புக்கு மோசமான இடம், ஏனெனில் என்கோடிங் பிரச்சினை எளிதில் சரிசெய்யப்படும், கசிந்த விசை அல்ல.