ম্যানেজ করা iPhone অ্যাপে প্রতি-অ্যাপ VPN: কোনটি রাউট হয় আর কোনটি হয় না
প্রতি-অ্যাপ টানেল ম্যানেজ করা অ্যাপকে অনুসরণ করে, ফোনকে নয়। পেলোড সংযোগ, ম্যানেজ করা কপি, অন-ডিমান্ড নিয়ম এবং অ্যাপ ছেড়ে যাওয়া ফ্লো পরীক্ষা করুন।
iPhone-এ প্রতি-অ্যাপ VPN কোনো ফোন-ব্যাপী সুইচ নয়। এটি একটি ম্যানেজ করা অ্যাপ ও একটি VPN পেলোডের মধ্যে সংযোগ, যা অ্যাপ স্থাপনের সময় তৈরি হয়, আর বাকি সবকিছুর ট্রাফিক আগের রুটই ধরে রাখে। এই কারণেই একই ফোন অসংগতভাবে আচরণ করে: কাজের অ্যাপ একটি ব্যক্তিগত পৃষ্ঠা খোলে, অথচ Safari সেই হোস্টে পৌঁছাতে পারে না, অথবা টানেলই ওঠে না এবং অ্যাপ একটি টাইমআউট জানায় যা খারাপ শংশাপত্রের মতো দেখায়। পরীক্ষাগুলো সবচেয়ে প্রশস্ত কারণ থেকে নিচের দিকে চলে, তাই প্রথম ব্যর্থটিতেই থামুন।
প্রথমে পেলোড ও অ্যাপ রেকর্ড দেখুন
সংযোগটি দুইটি অবজেক্টে থাকে, একটিতে নয়। VPN পেলোড টানেল নির্ধারণ করে: ধরন, সার্ভার, প্রমাণীকরণ, DNS, এবং কাস্টম ক্লায়েন্ট ব্যবহার করলে প্রোভাইডারের বান্ডেল আইডেন্টিফায়ার। অ্যাপ রেকর্ড সেই পেলোডের দিকে ইঙ্গিত করে, এবং বেশিরভাগ ম্যানেজমেন্ট কনসোল এটি অ্যাপ কনফিগারেশনে প্রতি-অ্যাপ অপশন হিসেবে দেখায়, Per-App VPN-এর কাছাকাছি নামে। যে পেলোডের দিকে কোনো অ্যাপ ইঙ্গিত করে না, তা প্রতি-অ্যাপ কিছুই রাউট করে না; এটি সাধারণ টানেলের মতো আচরণ করে যা কাউকে হাতে চালু করতে হয়।
ফোন স্পর্শ করার আগে দুইটি অবজেক্টই পড়ুন। নিশ্চিত করুন যে অ্যাপ কনফিগারেশন আপনার পরীক্ষাধীন পেলোডের দিকে ইঙ্গিত করে, তার পুরোনো কপির দিকে নয়, কারণ মাইগ্রেশনের পরে প্রায় একই নামের নকল পেলোড সাধারণ, আর অ্যাপ আনন্দের সাথে প্রত্যাহৃতটির দিকে ইঙ্গিত করে। তারপর নিশ্চিত করুন যে কনফিগারেশন ডিভাইসে পৌঁছেছে: সেটিংস, সাধারণ, VPN ও ডিভাইস ম্যানেজমেন্টে এটি ইনস্টল করা প্রোফাইল হিসেবে দেখাতে হবে। সেখানকার VPN তালিকা পরীক্ষা নয়। প্রতি-অ্যাপ সেবায় সাধারণত হাতে চালানোর সুইচ থাকে না, তাই সঠিকভাবে স্থাপিত কনফিগারেশন চালুযোগ্য VPN-গুলোর মধ্যে কদারো নাও দেখা দিতে পারে। অনুপস্থিতি বোঝা যায় অ্যাপ রেকর্ডে এবং টানেল অ্যাপের প্রথম অনুরোধে ওঠে কিনা তা দেখে।
একটি শর্ত অনেক টিকেট ব্যাখ্যা করে: এই মডেলে অ্যাপকে ম্যানেজমেন্টের মাধ্যমে আসতে হয়। সাইডলোড করা বা ব্যক্তিগতভাবে কেনা কপি সংযোগ পায় না, ঐটি তার বান্ডেল আইডেন্টিফায়ার মিললেও। VPN-এর জন্য Apple-এর স্থাপন নির্দেশিকা এর পেছনের পেলোড মডেল বর্ণনা করে (support.apple.com/guide/deployment/vpn-overview-depae3d361d0/web)।
নিশ্চিত করুন ইনস্টল করা অ্যাপটিই ম্যানেজ করা কপি
সংযোগ ইনস্টল করা, ম্যানেজ করা অ্যাপকে অনুসরণ করে। কেউ যদি ব্যক্তিগত Apple ID দিয়ে App Store থেকে এটি পুনরায় ইনস্টল করে, পুনঃস্বাক্ষরিত এন্টারপ্রাইজ বিল্ড দিয়ে প্রতিস্থাপন করে, বা ডিভাইস পুনরায় নথিভুক্ত হয়ে অ্যাপ ভিন্ন চ্যানেলে ফিরে আসে, তবে অ্যাপ নিজে সম্পূর্ণ স্বাভাবিক দেখালেও টানেল বন্ধ থাকতে পারে।
তুলনার মাধ্যমে পরীক্ষা করুন, একক পর্যবেক্ষণে নয়। ম্যানেজমেন্ট ইনভেন্টরিতে অ্যাপটি সেই ডিভাইসের জন্য ম্যানেজড হিসেবে দেখানো উচিত, তার রেকর্ডে VPN ম্যাপিংসহ। ফোনে টানেল তখনই ওঠা উচিত যখন অ্যাপ চালু হয় এবং তার প্রথম অনুরোধ বের হয়, শুধু তখনই নয় যখন কেউ সেটিংসে আলাদা হাতের কনফিগারেশন চালু করে। অ্যাপ চালু করলে কিছু না বদলালে এবং সেই হাতের কনফিগারেশন বদলালে, অ্যাপটি আদৌ প্রতি-অ্যাপ টানেলে বাঁধা নেই।
আপডেট গুরুত্বপূর্ণ: ম্যানেজমেন্টের মাধ্যমে পাঠানো আপডেট ম্যাপিং ধরে রাখে, কিন্তু ব্যবহারকারীর শুরু করা পুনরায় ইনস্টল তা হারাতে পারে। অভিযোগ যদি আপডেট থেকে শুরু হয়, নেটওয়ার্কের আগে অ্যাপ রেকর্ড দেখুন।
টানেল কী নিতে পারে তা যাচাই করুন
প্রতি-অ্যাপ টানেল উৎস অ্যাপ দিয়ে নির্বাচিত হয়, তাই ফোনের ডিফল্ট রুট এখনো Wi-Fi বা সেলুলারেরই থাকে। OverridePrimary হলো সেই চাবি যা এটি বদলায়। প্রোফাইল এটি সেট করলে টানেল পূর্ণ টানেলের মতো আচরণ করে এবং প্রতিটি অ্যাপ তা উত্তরাধিকার পায়, ফলে VPN দিয়ে যাওয়া সবকিছু অ্যাপের ব্যর্থতা নয়, প্রোফাইলের প্রশ্ন হয়ে ওঠে।
অন-ডিমান্ড নিয়ম স্থায়িত্ব নির্ধারণ করে। OnDemandEnabled ও তার নিয়ম-সেটই টানেলকে অ্যাপ ট্রাফিক পাঠালে ফিরিয়ে আনে, Wi-Fi থেকে সেলুলারে পরিবর্তন পার করে, বা অ্যাপ পটভূমিতে গেলে নামিয়ে দেয়। যে স্থাপন সংযোগ করে তারপর চুপচাপ মরে যায়, তার সাধারণত এমন নিয়ম থাকে যা কেবল একটি প্রোবের সাথে মিলে যা অ্যাপ নিষ্ক্রিয় থাকলে কদারো চলে না।
তারপর রুটের দিকটি সত্যভাবে পড়ুন। প্রোভাইডার বা ভেন্ডর প্রোফাইল অন্তর্ভুক্তি তালিকা দিলে, কেবল 10.20.0.0/16 বহনকারী টানেল 10.30.0.0/16-এর সেবা বহন করবে না; এটি তালিকার নিজের কাজ, প্রতি-অ্যাপ ব্যর্থতা নয়। অন্তর্নির্মিত iOS পেলোডে অন্তর্ভুক্তি তালিকা নেই। তা ছাড়া বিভাজন প্রোভাইডারের ডিফল্ট ও IncludeAllNetworks অনুসরণ করে, কোনো গোপন তালিকা নয়।
অ্যাপ পরীক্ষা করুন, তারপর অ্যাপ থেকে যা বের হয় তা পরীক্ষা করুন
নাম দিয়ে পরীক্ষা করুন, কেবল ঠিকানা দিয়ে নয়। ম্যানেজ করা অ্যাপের ভেতরে অভ্যন্তরীণ হোস্ট সমাধান হওয়া প্রমাণ করে DNS-ও টানেল দিয়ে গেছে, কারণ পেলোডই নির্ধারণ করে কোন রিজলভার উত্তর দেবে এবং কোন সার্চ ডোমেইন প্রয়োগ হবে। রাউটিং নিখুত থাকতে পারে অথচ নাম খোঁজা ব্যর্থ হয়, আর দুই উপসর্গ ভিন্ন সেটিংসের দিকে ইঙ্গিত করে।
তারপর দুই দিক থেকেই সীমা পরীক্ষা করুন। ব্যক্তিগত অ্যাপ বা Safari-র সাধারণ পাবলিক পৃষ্ঠায় পৌঁছানো উচিত এবং ক্যারিয়ার বা বাড়ির ঠিকানা জানানো উচিত, আর ম্যানেজ করা অ্যাপ ব্যক্তিগত সেবায় পৌঁছায়। দুটোই যদি একই পাবলিক ঠিকানা জানায়, তবে অ্যাপ রেকর্ড যাই দাবি করুক, টানেল আর প্রতি-অ্যাপ নয়।
অ্যাপ ছেড়ে যাওয়া ফ্লো বিভ্রান্তিকর টিকেট তৈরি করে। Safari-তে খোলা লিঙ্ক, শেয়ার শিট দিয়ে পাঠানো নথি, বা ব্রাউজারে চলে যাওয়া SSO লগইন অ্যাপের প্রসেস ছেড়ে টানেলও ছেড়ে যায়। অ্যাপের ভেতরে দেখানো লগইন সাধারণত অ্যাপেরই গণ্য হয়, তাই এমবেডেড সাইন-ইন সফল হতে পারে যেখানে একই URL Safari-তে ব্যর্থ হয়; এটি ধরে নয়, যাচাই করুন। পরিচয় প্রদানকারী কেবল টানেল দিয়েই পৌঁছালে, হয় লগইন অ্যাপের ভেতরে রাখুন, নয়তো পেলোডের Safari ডোমেইনে প্রদানকারীর ডোমেইন যোগ করুন যাতে মিলে যাওয়া Safari ট্রাফিক ধরা পড়ে।
উপসর্গের সাথে স্তর মেলান
ব্যর্থতার আকৃতি বলে দয় কোন পরীক্ষা পুনরাবৃত্তি করতে হবে।
| What you see | Where the repair is |
|---|---|
| Tunnel never appears when the app opens | App-to-payload association, or the app is not the managed copy |
| Tunnel connects, internal name resolves, connection times out | Provider or vendor include list missing the subnet, or a far-side firewall |
| Tunnel connects, internal name fails to resolve | DNS servers or search domains in the payload |
| Every app uses the tunnel | OverridePrimary set, or a full-tunnel payload reused |
| Worked until an update, broken since | Association lost on reinstall, or the payload was replaced |
মাঝের সারিগুলোর পিছনে দুইটি বিষয় আছে: প্রতি-অ্যাপ টানেল সুস্থ থেকেও এমন সাবনেট বাদ দিতে পারে যা কোনো প্রোভাইডার তালিকায় নেই, আর ম্যানেজ করা ফোনে একাধিক VPN কনফিগারেশন থাকতে পারে, তাই অ্যাপ কোনটিতে বাঁধা তা নিশ্চিত করুন, আপনি যে কনফিগারেশন পড়ছেন সেটিই তা ধরে নেবেন না।
এই ক্রমে ঠিক করুন: অ্যাপ রেকর্ড সংশোধন করে সক্রিয় পেলোডের দিকে ইঙ্গিত করান, ম্যানেজমেন্টের মাধ্যমে অ্যাপ পুনরায় ইনস্টল করুন, অ্যাপের প্রথম অনুরোধে টানেল ওঠে কিনা নিশ্চিত করুন, তারপর নাম ও সীমা পরীক্ষা পুনরাবৃত্তি করুন। প্রথম অনুরোধেই যদি টানেল না ওঠে, থামুন এবং প্রোভাইডারের দিক দেখুন, কারণ কাস্টম ক্লায়েন্টের Network Extension উপস্থিত থাকা দরকার এবং তার আইডেন্টিফায়ার ইনস্টল করা অ্যাপের সাথে মিলতে হবে।
স্ক্রিনশটের বদলে তিনটি তথ্য ফেরত দিন: অ্যাপ রেকর্ড কোন পেলোডের দিকে ইঙ্গিত করে, সেটিংসে এটি ইনস্টল করা প্রোফাইল হিসেবে দেখা যায় কিনা, এবং ব্যর্থ অনুরোধটি কী ছিল — একটি নাম, একটি ঠিকানা, নাকি ব্রাউজারে হস্তান্তর। এই তিন উত্তর স্থাপন ত্রুটিকে রাউটিং ত্রুটি থেকে আলাদা করে, আর পরের ব্যক্তি পুনরায় রোগনির্ণয় না করেই কাজ করতে পারেন।