ටනලය ක්‍රියාත්මක වන විට වෙනස් ලෙස හැසිරෙන තිරයක් ඔබට අවශ්‍ය වේ, එය ඔබට කියන කිසිදු ඇමතුමක් නැත. මෙය නිකුතු සීමාවයි: macOS හි කිසිදු පොදු රාමුවක් අත්තනෝමතික VPN එකක් සම්බන්ධ දැයි වාර්තා නොකරයි, සහ iOS හි තත්ත්වය වින්‍යාසය ස්ථාපනය කළ යෙදුමට අයත් වේ. පහත පරීක්ෂණ එම සීමාවේ සිට ඔබට නිකුත් කළ හැකි දෙයක් දක්වා ගෙන යයි, සහ ඒවායින් ඕනෑම එකකට සෙවීම කලින් අවසන් කළ හැක.

පරීක්ෂණය 1: ප්‍රශ්නයට කිසිසේත් පිළිතුරු දිය හැකිද?

sandbox කිසිදු API එකකට පෙර ප්‍රශ්නය විසඳයි. තෙවන පාර්ශ්ව ක්‍රියාවලියකට වෙනත් සැපයුම්කරුවෙකුගේ දිගුව ගණන් කළ නොහැක, එම දිගුවේ වින්‍යාසය ද කියවිය නොහැක, එබැවින් අසන්නට සහාය දක්වන වස්තුවක් නැත.

සෑම මඟ හැරීමක්ම එකම බිත්තියට වදිනවා. අතුරුමුහුණත් ලැයිස්තු, scutil --nc list සහ සෘජු පද්ධති-වින්‍යාස කියවීම් එක්කෝ sandbox රඳවා තබන අවසර ඉල්ලා සිටියි, නැතහොත් Apple කිසිදා පොරොන්දු නොවූ හැසිරීමක් මත රඳා පවතී. සැලැස්මට ඒවායින් එකක් අවශ්‍ය නම්, ගැටලුව සැලැස්මයි. ලේඛනගත නොකළ විස්තරයක් මත ගොඩනැගූ විශේෂාංගයක් යනු බෙදාහැරීමේ දිනයක් සහිත සහාය ටිකට් පතකි.

පරීක්ෂණය 2: ඔබේ යෙදුම ටනලයම කළමනාකරණය කරයිද?

එසේ නම්, ඔබේම වින්‍යාසය සඳහා සහාය දක්වන පිළිතුරක් ඔබට ඇත. මනාප ලෝඩ් කරන්න, දෝෂය හසුරුවන්න, පසුව තත්ත්වය කියවා මත විමසීම වෙනුවට වෙනස්කම් සඳහා දායක වන්න:

vpnManager.loadFromPreferences { error in
    // handle a load failure before reading status
}

NotificationCenter.default.addObserver(
    forName: .NEVPNStatusDidChange,
    object: nil,
    queue: nil
) { note in
    let status = (note.object as? NEVPNConnection)?.status
}

මෙය නැවත ලබා දෙන දේ ගැන නිශ්චිත වන්න: ඔබ ස්ථාපනය කළ ටනලයේ තත්ත්වය. වෙනත් සේවාදායකයක් ධාවනය කරන පරිශීලකයෙකු විසන්ධි වූ ලෙස පෙන්වයි, එය ඔබේ කේතයේ දෝෂයක් නොවේ. පිළිතුර මත ගොඩනැගීමට පෙර ඔබේ විශේෂාංගය ඇත්තටම මෙම ප්‍රශ්න දෙකෙන් කුමක් අසනවාද යන්න තීරණය කරන්න.

පරීක්ෂණය 3: යුහුසුළු අනුමානයක් ඇත්තටම ඔබට කියන්නේ කුමක්ද?

බහුලව පිටපත් කරන ලද ප්‍රවේශය පද්ධති ප්‍රොක්සි ශබ්දකෝෂයෙන් එහි විෂය පථගත ඇතුළත් කිරීම් ඉල්ලා යතුරු කියවයි, ඒවා අහම්බෙන් අතුරුමුහුණත් නාම වේ:

let settings = CFNetworkCopySystemProxySettings()?.takeRetainedValue() as NSDictionary?
let scoped = settings?["__SCOPED__"] as? [String: Any]
let names = scoped?.keys ?? []

යතුර tap, tun, ppp, ipsec හෝ utun යන්නෙන් ආරම්භ වේ නම්, ටනල් විෂය පථගත අතුරුමුහුණතක් පවතින බව අදහස් වේ. සම්පූර්ණ නාමය ගැළපීම වහාම අසාර්ථක වේ, මන්ද iOS 12 utun1 සහ utun2 සමඟ පැමිණි අතර සමහර පැතිකඩ ipsec4, ppp0 හෝ utun0 ලෙස දිස්වේ. ඒ වෙනුවට උපසර්ග සසඳන්න.

එසේ වුවද, නාමයක් කිසිදු හිමිකරුවෙකු හඳුනා නොගනී. පද්ධති විශේෂාංග සහ වෙනත් සැපයුම්කරුවන්ගේ දිගු ද utun අතුරුමුහුණත් සාදයි, සහ ඔබේ ගමන් ප්‍රමාණයෙන් කිසිවක් රැගෙන නොයන එකක් පැවතිය හැක. එය අවට ටනල් හැඩයේ යමක් ඇති බවට ඉඟියක් ලෙස කියවන්න, ඊට වඩා ශක්තිමත් දෙයක් නොවේ. මෙහි වැරදි ධනාත්මක ප්‍රතිඵලයක් ඔබ එක් විශේෂාංගයක් පමණක් ගේට් කරන්නේ නම් ලාභදායී වේ, සහ ලොගින් තිරය ගේට් කරන්නේ නම් මිල අධික වේ.

පරීක්ෂණය 4: ඒ වෙනුවට ගමනාන්තය පරීක්ෂා කළ හැකිද?

යෙදුමට අභ්‍යන්තර සේවාවක් ළඟා විය හැකිද යන්න පමණක් දැන ගැනීමට අවශ්‍ය නම්, එම සේවාව පරීක්ෂා කරන්න. කාල සීමාවක් සහිත කෙටි පරීක්ෂාවක් විශේෂාංගය ඇත්තටම රඳා පවතින ප්‍රශ්නයට පිළිතුරු දෙයි, සහ පරිශීලකයා සේවාදායකය මාරු කළත් ටනලය හැඩය වෙනස් කළත් එය ක්‍රියා කරයි.

ළඟා වීම යනු ඔබේ මාර්ගය ගැන නිරීක්ෂණයකි. අතුරුමුහුණත් නාමයක් යනු ඔබේ මාර්ගයට යාබද දෙයක් ගැන අනුමානයකි, එබැවින් යුහුසුළු අනුමානය දෝෂ වාර්තා තුළ තර්ක උත්පාදනය කරන අතර පරීක්ෂාව සාක්ෂි උත්පාදනය කරයි. පරිශීලකයා VPN ක්‍රියාත්මක බවට තර්ක කරන අතර පරීක්ෂාව අසාර්ථක වුවහොත්, දැන් නිදොස් කිරීමට නිශ්චිත මාර්ගයක් ඔබට ඇත: නාම විභේදනය, මාර්ගය හෝ සේවා අවසරය.

පරීක්ෂණය 5: වේදිකාවට ඔබට අවශ්‍ය දේ බලාත්මක කළ හැකිද?

අවශ්‍යතාවය ටනලයෙන් කිසිවක් පැන නොයන බවට සහතිකයක් වූ විට, පැතිකඩ එහි ස්ථානයයි, හඳුනා ගන්නා උපකරණය නොවේ. includeAllNetworks iOS 14 හෝ පසුව සම්පූර්ණ-ටනල් වින්‍යාසයක සක්‍රීය කිරීම ඔබේ යෙදුමට අනුමාන කිරීමට පැවසීම වෙනුවට වේදිකාවේ හැසිරීම වෙනස් කරයි. මෙම ධජය NEVPNProtocol යොමුවේ ලේඛනගත කර ඇත.

මෙය වෙනත් ආකාරයේ පිළිතුරකි: නිරීක්ෂණය වෙනුවට බලාත්මක කිරීම. එය ද ඔබ පාලනය කරන පැතිකඩවලට පමණක් අදාළ වේ, එබැවින් වෙනත් කෙනෙකුගේ ටනලය නරඹන පාරිභෝගික යෙදුමකට එය උදව් නොවේ.

පරීක්ෂණය 6: අසාර්ථකත්වය ආරක්ෂිත හා නිරීක්ෂණීය කරන්න

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

ඔබ නිරීක්ෂණය කළ දේ ලොග් කරන්න: අතුරුමුහුණත් නාම, වේදිකා අනුවාදය සහ එක් පරීක්ෂාවක ප්‍රතිඵලය. එය ඊළඟ වාර්තාව තර්කයකින් පරීක්ෂාවක් බවට පත් කරයි. පසුව සහාය දක්වන ප්‍රකාශයක් ඇති තැන එයට මුල් තැන දෙන්න, මන්ද කළමනාකෘත වින්‍යාසයකට අභිප්‍රාය පැහැදිලිව දරාගෙන නාම පරීක්ෂා කිරීමේ බොහෝ හේතුව ඉවත් කළ හැක.

1 සිට 5 දක්වා පරීක්ෂණ ඔබට සහාය දක්වන පිළිතුරක් නොමැතිව තැබුවේ නම්, පරීක්ෂාව නිකුත් කර ප්‍රතිඵලය අවංකව ලේබල් කරන්න. ලේඛනගත හොඳම-උත්සාහ සංඥාවක් ඊළඟ නිකුතුවේ කැඩෙන පෞද්ගලික API එකකට වඩා හොඳ නිෂ්පාදන තීරණයකි.

අදාළ ලිපි