Android அல்லது iOS இல் ஒரு செயலி சேமித்த VPN சுயவிவரத்தை இயக்க முடியாதது ஏன்
உங்கள் சொந்த சுரங்கப்பாதையை உருவாக்குவதும் சேமித்த சுயவிவரத்தை இயக்குவதும் இரண்டு வெவ்வேறு வேலைகள். Android, iOS மற்றும் டெஸ்க்டாப் செயலிக்கு உண்மையில் எதை அனுமதிக்கின்றன என்பதை ஒப்பிடுங்கள்.
முற்றிலும் வேறுபட்ட இரண்டு வேலைகள் நிரலாக்க VPN என்ற பெயரின் கீழ் வருகின்றன, அவற்றில் ஒன்று மட்டுமே இரண்டு மொபைல் தளங்களிலும் சாதாரண செயலிக்குக் கிடைக்கிறது. முதலாவது பயனர் ஏற்கனவே சேமித்த சுயவிவரத்தை இயக்குவது; இரண்டாவது உங்கள் சொந்த செயல்முறைக்குள் சுரங்கப்பாதையை உருவாக்குவது. Android இரண்டாவதை VpnService வழியாகத் தருகிறது, iOS இரண்டாவதை Network Extension உரிமை வழியாகத் தருகிறது, முதலாவது கணினி, சாதன உரிமையாளர் அல்லது MDM சேவையகத்திடம் இருக்கிறது. உண்மையில் உங்களுக்கு எது தேவை என்பதைக் கண்டறிவது பொதுவாக திட்டத்தைச் சிறியதாக்குகிறது.
ஒரே பெயரைப் பகிரும் இரண்டு வேலைகள்
சேமித்த சுயவிவரத்தை செயல்படுத்துவது என்பது ஏற்கனவே உள்ள சுரங்கப்பாதையிடம் மேலே வரச் சொல்வது: ஒரு ஹோஸ்ட், ஒரு சான்று, ஒரு நெறிமுறை, எல்லாம் ஏற்கனவே பயனர் பார்க்கக்கூடிய இடத்தில் அமைக்கப்பட்டுள்ளன. சுரங்கப்பாதையை உருவாக்குவது என்பது உங்கள் குறியீடு இடைமுகம், பாக்கெட் சுழற்சி மற்றும் நெறிமுறையைக் கொண்டிருப்பது. தயாரிப்பு பட்டியலில் அவை ஒரே மாதிரி தெரிகின்றன, கிட்டத்தட்ட எந்தச் செயலாக்கத்தையும் பகிர்வதில்லை.
எந்த மொபைல் தளமும் முதலாவதை SDK செயலிக்கு வெளிப்படுத்தவில்லை. பயனர் எதுவும் செய்யாமல் தோன்றும் இணைப்பை தீங்கிழைக்கும் மென்பொருளிலிருந்து வேறுபடுத்த முடியாது, எனவே இரு கணினிகளும் போக்குவரத்தைச் சுமக்கும் எந்தச் செயலிக்கும் முன் ஒப்புதல் வாயிலை வைக்கின்றன.
Android: ஒப்புதல் வாயில், சுயவிவர API இல்லை
VpnService Android 4.0 முதல் உள்ளது, செயலி tun இடைமுகத்தை உருவாக்கவும் பின்னர் பாக்கெட்டுகளைப் படிக்கவும் எழுதவும் அனுமதிக்கிறது. சேவை BIND_VPN_SERVICE உடன் அறிவிக்கப்பட வேண்டும், VpnService.prepare() பயனரிடம் அனுமதி கேட்கும் கணினி உரையாடலை உருவாக்குகிறது. தளத்தின் மாதிரி ToyVpn, எண்ணப்பட்ட வடிவத்தின் தெளிவான அறிக்கை: உங்கள் குறியீடு இடைமுகத்தையும் அதன் வழியாகப் பாயும் அனைத்தையும் கொண்டுள்ளது.
அது செய்யாதது கணினியின் VPN அமைப்புகள் திரையில் உள்ளீட்டைச் சேர்ப்பது. அதற்கு பொது API இல்லை, அமைப்புகள் செயலி தன் சுயவிவரங்களை சாதாரண செயலி அடைய முடியாத சேமிப்பில் வைத்திருக்கிறது. சாதாரண பயன்பாட்டிலிருந்து மறைந்த வகுப்புகளுக்கான அழைப்புகள் கணினி ஒருபோதும் பட்டியலிடாத சுயவிவரங்களை உருவாக்குகின்றன, அதனால்தான் ஒரு கட்டுமானத்தில் வேலை செய்வது போலத் தோன்றிய குறியீடு அடுத்ததில் அமைதியாக வேலை செய்வதை நிறுத்துகிறது.
நிர்வகிக்கப்பட்ட பாதை தனியானது. சாதன உரிமையாளர் அல்லது சுயவிவர உரிமையாளர் சாதனக் கொள்கை API வழியாக எப்போதும் இயங்கும் VPN தொகுப்பை நியமிக்கலாம், நிறுவனக் கருவி பயனர் பின்னர் அங்கீகரிக்கும் சுயவிவரத்தை அனுப்பலாம். இது சாதன மேலாண்மை அதிகாரம், நிறுவலின் போது செயலி கேட்கும் அனுமதி அல்ல. உங்கள் வாடிக்கையாளர் ஒரு நிறுவனம் என்றால், திட்டமிட வேண்டிய பாதை இதுவே; வாடிக்கையாளர் கடையிலிருந்து நிறுவும் நபர் என்றால், இது முற்றிலும் கிடைக்காது.
iOS: உரிமையே எல்லை
iOS அதே வேலையை வேறு விதமாகப் பிரிக்கிறது. VPN வாடிக்கையாளர் Network Extension கட்டமைப்பின் கீழ் பாக்கெட் சுரங்கப்பாதை வழங்குநர் அல்லது செயலி ப்ராக்ஸியைச் செயல்படுத்துகிறது, தொடர்புடைய உரிமை உருவாக்குநர் கணக்கிற்கு வழங்கப்பட வேண்டும். எளிய நிலைக்கு NEVPNManager வழியாக தனிப்பட்ட VPN உள்ளமைவு உள்ளது, அது அதே அனுமதி மாதிரியில் இயங்குகிறது. Apple முழு மேற்பரப்பையும் Network Extension குறிப்பில் ஆவணப்படுத்துகிறது, வேலையின் எல்லையை நிர்ணயிக்கும் முன் அதைப் படிக்கத் தகுந்தது.
VPN அமைப்புகள் திரையைத் திறக்க, பயனரின் சேமித்த உள்ளமைவுகளைப் படிக்க அல்லது அவற்றில் ஒன்றைத் தொடங்க ஆதரிக்கப்பட்ட வழி இல்லை. வாடிக்கையாளர் செய்யக்கூடியது நிறுவலுக்காக உள்ளமைவு சுயவிவரத்தை அனுப்புவது, பின்னர் உருவான சுரங்கப்பாதையை சாதாரண பிணைய அழைப்புகள் மூலம் பயன்படுத்துவது. ஒவ்வொரு செயலிக்கான சுரங்கப்பாதையை MDM சேவையகம் தேவைக்கேற்ப விதியால் ஒதுக்குகிறது, இயக்க நேரத்தில் செயலி தேர்ந்தெடுக்காது.
பெரிய விற்பனையாளரின் VPN வாடிக்கையாளர் உங்கள் கணக்கும் அதையே அனுப்ப முடியும் என்பதற்கான சான்று அல்ல. அந்த உரிமைகள் ஒவ்வொரு உருவாக்குநர் கணக்கிற்கும் கோரப்பட்டு மதிப்பாய்வு செய்யப்படுகின்றன, எனவே அட்டவணை ஆபத்து Apple-இடம் உள்ளது, உங்கள் ஸ்பிரிண்ட் திட்டத்தில் இல்லை.
டெஸ்க்டாப் இன்னும் தூரம் செல்கிறது, ஆனால் உரிமை மாறாது
Windows அனுமதிக்கும் நிலை. Add-VpnConnection உயர்த்தப்பட்ட PowerShell அமர்விலிருந்து தொலைபேசி புத்தக உள்ளீட்டை உருவாக்குகிறது, rasdial ஸ்கிரிப்டிலிருந்து அதை இணைக்கிறது அல்லது துண்டிக்கிறது. செயலி விற்பனையாளரின் வாடிக்கையாளரை அதன் ஆவணப்படுத்தப்பட்ட கட்டளை வரி மூலம் இயக்கவும் முடியும். சுயவிவரத்தை உருவாக்குவது இன்னும் நிர்வாகச் செயல், ஏனெனில் உள்ளீடு முழு இயந்திரச் சேமிப்பில் வாழ்கிறது.
macOS பிற கருவிகளுடன் அதே விதமாக நடந்துகொள்கிறது. scutil --nc start மற்றும் stop ஏற்கனவே உள்ள சேவைகளில் செயல்படுகின்றன, ஒன்றை உருவாக்குவது கணினி நிர்வாகத்தின் பணி. மடிக்கணினியில் செயல்முறையை உரிமை கொண்டிருப்பது உங்களை உள்ளமைவின் உரிமையாளராக ஆக்காது.
அதற்குப் பதிலாக என்ன உருவாக்குவது
உண்மையான தேவை உங்கள் செயலி ஒரு உள் API-ஐ அடைவதாக இருந்தால், பயனர் ஏற்கனவே இயக்கும் சுரங்கப்பாதை போதுமானது. சாதாரண HTTPS கோரிக்கைகளை அனுப்புங்கள், பாதையை கணினி தேர்ந்தெடுக்கட்டும், சுரங்கப்பாதையைக் கட்டுப்படுத்த முயல்வதை நிறுத்துங்கள். தேவை உங்கள் செயலியின் போக்குவரத்து மட்டும் சுரங்கப்பாதையைப் பயன்படுத்துவது என்றால், மேலாண்மை சேனல் வழியாக ஒவ்வொரு செயலிக்கும் VPN கேளுங்கள், அல்லது செயலிக்குள் அது இல்லாமல் அடையக்கூடிய சேவைக்கு எதிராக TLS-ஐ முடிக்கவும்.
மறைந்த API-கள் எடுத்துக்கொள்ளத் தகுந்த குறுக்குவழி அல்ல. அவை பதிப்புகளுக்கு இடையே மாறுகின்றன, செயலி மதிப்பாய்வில் தோல்வியடைகின்றன, அவை உருவாக்கும் தோல்விகள் குறியீட்டை வாரிசாகப் பெறுபவருக்கு சாதாரண பிணைய தோல்விகளாகத் தெரிகின்றன. ஒப்பீடு Android எதிராக iOS அல்ல; அது சுரங்கப்பாதையை உரிமை கொண்டிருப்பது எதிராக தளத்திடம் போக்குவரத்தை வழிமாற்றக் கேட்பது, முதலாவதை மட்டுமே நீங்கள் உருவாக்க வேண்டும்.