iOS යෙදුමක් තුළ VPN තිරයක් ගොඩනඟන විට, පළමු පුදුමය වන්නේ Settings යෙදුමේ ප්‍රොටෝකෝල ලැයිස්තුව API ලැයිස්තුව නොවන බවයි. Network Extension රාමුව ඔබේ යෙදුමට එම යෙදුමට අයත් එක් පුද්ගලික VPN වින්‍යාසයක් සෑදීමට ඉඩ දෙයි, සහ එය ප්‍රොටෝකෝල වස්තු කිහිපයක් පමණක් පිළිගනී. මිනිසුන් බලාපොරොත්තු වන අනෙක් සියල්ල, L2TP සිට බාගත කළ පැතිකඩ දක්වා, එම මතුපිටින් පිටත හෝ Apple සඳහා පෞද්ගලික වේ. පසුව එන අසාර්ථකතා සාමාන්‍යයෙන් දෝෂ නොවේ, එය කිසිදා නොලැබුණු කාර්යයක් API ප්‍රතික්ෂේප කිරීමයි.

මිථ්‍යාව: API යනු Settings සංස්කාරකයකි

iOS IKEv1, IKEv2, L2TP සහ IPsec පැතිකඩ වින්‍යාසගත කළ හැකි බැවින්, යෙදුමකට ඒවායින් ඕනෑම එකක් ක්‍රමලේඛනයෙන් සෑදිය හැකි යැයි විශ්වාස කෙරේ. එයට නොහැකිය. රාමුව අමතන යෙදුමට හරියටම එක් වින්‍යාස කිරීමේ කොටසක් ලබා දෙයි, සහ එම කොටස පොදු ප්‍රොටෝකෝල පන්තිවල කුඩා කට්ටලයක් පමණක් පිළිගනී. මිනිසුන් බලාපොරොත්තු වන අනෙක් සියල්ල, L2TP සිට බාගත කළ පැතිකඩ දක්වා, එම මතුපිටින් පිටත හෝ Apple සඳහා පෞද්ගලික වේ.

පසුව එන අසාර්ථකතා සාමාන්‍යයෙන් දෝෂ නොවේ. එය කිසිදා නොලැබුණු කාර්යයක් API ප්‍රතික්ෂේප කිරීමයි, සහ විසඳුම වන්නේ API සතු දේ වටා තිරය නිර්මාණය කිරීමයි.

ප්‍රොටෝකෝල වස්තු තුනක් සහ නොමැති ඒවා

ඔබේ විකල්ප වන්නේ NEVPNProtocolIPSec හරහා IKEv1, NEVPNProtocolIKEv2 හරහා IKEv2, සහ ඔබේම පැකට් ටනල් දිගුවක් යවන්නේ නම් NETunnelProviderProtocol ය. NEVPNManager යොමුව පිළිගත් ප්‍රොටෝකෝල වස්තු ලැයිස්තුගත කරයි. L2TP සහ PPTP එම ලැයිස්තුවේ කිසිදා නොපෙනේ, මන්ද Apple ඒවා සඳහා පන්ති ප්‍රකාශයට පත් නොකළේය. ඒවායින් එකක් උත්සාහ කිරීම සුරැකීමේදී දෝෂයකින් අවසන් වේ, නැතහොත් ඊටත් වඩා නරක ලෙස, පද්ධතිය නිහඬව භාවිත කිරීම ප්‍රතික්ෂේප කරන වින්‍යාසයකින්.

ඩෙස්ක්ටොප් කේතය වෙනත් නීති අනුගමනය කරයි. macOS හි SCNetworkInterfaceCreateWithInterface IPv4 මත L2TP වැනි අතුරුමුහුණත් වර්ගයක් ගොඩගසා එය ජාල සේවාවකට සම්බන්ධ කරයි, සහ networksetup -connectpppoeservice ප්‍රතිඵලය ආරම්භ කරයි. පරිපාලක අයිතිවාසිකම් සහ සහායක මෙවලමක් අවශ්‍ය වේ, මන්ද හවුල් රහස සහ මුරපදය පද්ධති යතුරු මිටියට යයි. එම නිර්මාණය iOS වෙත පිටපත් කරන්න, කිසිවක් සම්පාදනය නොවේ.

මුරපදය නොව, යතුරු මිටි යොමුවක් ලබා දෙන්න

IKE පන්ති දෙකෙන් කිසිවක් මුරපදය පෙළක් ලෙස පිළිගන්නේ නැත. passwordReference සහ sharedSecretReference යන ගුණාංග දෙකට ස්ථිර යතුරු මිටි යොමුවක් අවශ්‍ය වේ, එය ඔබ kSecReturnPersistentRef ඉල්ලා SecItemCopyMatching වෙතින් ලබා ගනී. අයිතමයේ දත්ත ලබා දීම, හෝ ක්ෂේත්‍රයට තන්තුවක් ඇතුළු කිරීම, සුරැකීමේ අසාර්ථකත්වයක් හෝ හිස් අක්තපත්‍ර සහිත සම්බන්ධතාවයක් ඇති කරයි. යොමුව එහි පිටුපස ඇති යතුරු මිටි අයිතමය තරමට පමණක් ටිකාක් වේ, එබැවින් වින්‍යාසය එකලස් කිරීමට පෙර අයිතමය තිබිය යුතුය. එය සුරැකීම සමඟ එකම ගනුදෙනුවේ සාදන්න, එවිට අනුපිළිවෙල දෝෂවල සම්පූර්ණ පන්තියක් ඉවත් කරයි.

සහතික සත්‍යාපනය වෙනත් මාර්ගයක් ගනී: PKCS#12 බ්ලොබයක් සඳහා identityData සහ identityDataPassword. එම බ්ලොබය යෙදුම් මිටිය තුළ යැවීම නියැදි කේතයෙන් පැවත එන පුරුද්දක් මිස නිකුතු තීරණයක් නොවේ, මන්ද මුරපදය එය සමඟ ගමන් කරන අතර යෙදුමේ සෑම පිටපතක්ම එකම අනන්‍යතාවය දරයි.

අයිතිය සහ ලබා ගැනීමේ හැකියාව සියල්ල ගේට්ටු කරයි

කළමනාකරු කිසිසේත් නොතිබිය හැකිය, සහ හේතුව සැපයීමයි. ඔබේ යෙදුම් හඳුන්වනයට Network Extension හැකියාව සහ පුද්ගලික VPN අයිතිය යන දෙකම අවශ්‍ය වේ, සහ ගොඩනැගීම අත්සන් කරන පැතිකඩ දෙකම දැරිය යුතුය.

එය මඟ හැරියොත් හවුල් අවස්ථාව nil ලෙස ආපසු ලබා දෙයි, නැතහොත් අයිතිය කිසිදා සඳහන් නොකරන දෝෂයකින් සුරැකීම අසාර්ථක වේ. ලබා ගැනීමේ හැකියාව අනෙක් දොරටුවයි. iOS 8 ට වඩා පැරණි දෙයක් ඉලක්ක කරන්නේ නම් ධාවන කාලයේ සංකේතය නොමැත, එබැවින් අසාර්ථකත්වය ක්‍රෑෂ් එකක් හෝ nil කළමනාකරුවකි, වින්‍යාසයක් නොමැති කළමනාකරුවක් නොවේ. ඔබේ වස්තු ප්‍රස්තාරය නිර්දෝෂී කිරීමට පෙර ධාවන පරිසරය සහ අයිතිය පරීක්ෂා කරන්න.

පූරණය කරන්න, වෙනස් කරන්න, සුරකින්න, පසුව ඉල්ලුම් අනුපිළිවෙල බලන්න

ජීවන චක්‍රය පූරණය, වෙනස් කිරීම, සුරැකීම ලෙස සලකන්න සහ පූරණය කිසිදා මඟ නොහරින්න. loadFromPreferences සම්පූර්ණ වන තෙක් කළමනාකරු කිසිවක් රඳවා නොගනී, සහ ප්‍රොටෝකෝල වස්තුව කියවීමට හෝ මාරු කිරීමට නොහැකිය.

දෙවන සුරැකීම තවත් එකක් එකතු කිරීම වෙනුවට වින්‍යාසය ප්‍රතිස්ථාපනය කරයි, එබැවින් අර්ධ සුරැකීමක් ක්‍රියා කළ පැතිකඩකට හානි කළ හැකිය. ඉල්ලුම් රීති අනුපිළිවෙලින් යුත් අරාවක් සාදයි, සහ එම අනුපිළිවෙල ප්‍රතිපත්තියයි. සෑම තැනකින්ම සම්බන්ධ වීමේ රීතිය විසන්ධි රීතියට පෙර තබන්න, එවිට අතින් විසන්ධි කිරීමකින් පසු වහාම නැවත සම්බන්ධ වේ, එය දෝෂයක් ලෙස පෙනුණත් ලේඛනගත ඇගයීම අනුගමනය කරයි.

පරිශීලක ක්‍රියාව ජය ගත යුතු විට විසන්ධි රීතිය ඉදිරියට ගෙන යන්න. යෙදුමේ පාලනයෙන් පිටත ඉතිරි වන දේ ද සමානව වැදගත් වේ. මාර්ග ඔබ සකසන මනාපයකින් නොව ටනලයෙන් හෝ සේවාදායක ප්‍රතිපත්තියෙන් පැමිණේ, පැකට් ටනල් සපයන්නා ආරම්භ වන විට ඒවා වාර්තා කරයි. වෙනත් යෙදුම් හෝ වින්‍යාස පැතිකඩ මඟින් ස්ථාපනය කළ පැතිකඩ ලැයිස්තුගත කිරීමට හෝ සංස්කරණය කිරීමට යෙදුමට නොහැකිය, එබැවින් උපාංගයේ සෑම VPN ක් පෙන්වන තිරයක් පොරොන්දු නොවන්න.

අදාළ ලිපි