Android VPN রিসেটের পরিধি: প্রতিটি স্তর আসলে কী মুছে ফেলে
ক্যাশ, অ্যাপ স্টোরেজ, নেটওয়ার্ক রিসেট ও ফ্যাক্টরি রিসেট Android-এ ভিন্ন ভিন্ন অবস্থা মুছে ফেলে। প্রোফাইল মুছে ফেলার আগে সন্দেহভাজন অবস্থার সঙ্গে স্তরটি মিলিয়ে নিন।
Android-এ চারটি আলাদা অপারেশন আছে যাকে মানুষ VPN রিসেট বলে, আর তারা ভিন্ন ভিন্ন জিনিস মুছে ফেলে। অ্যাপের ক্যাশ পরিষ্কার করলে অস্থায়ী ফাইল মুছে যায়; তার স্টোরেজ পরিষ্কার করলে প্রোফাইলটাই মুছে যায়। নেটওয়ার্ক রিসেট কানেক্টিভিটি স্ট্যাক নতুন করে গড়ে, আর ফ্যাক্টরি রিসেট ইউজার ডেটা পার্টিশন বদলে দেয়। অভ্যাসের বদলে সন্দেহভাজন অবস্থা দেখে অপারেশন বাছুন। ভুল অনুমান করলে, আপনি কিছু নির্ণয় করার আগেই প্রয়োজনীয় প্রোফাইল বা এনরোলমেন্ট পথ হারিয়ে যাবে।
প্রতিটি কলে আমি এই নিয়ম মানি: অবস্থার নাম বলুন, তার মালিকের নাম বলুন, তারপর শুধু সেই মালিকের কপি সরান। এই পাতার বাকি অংশ কোন Android কম্পোনেন্ট কোন বাইট ধরে রাখে তা নিয়ে।
Android VPN প্রোফাইল আসলে কোথায় থাকে
অপরিচালিত ফোনে থার্ড-পার্টি ক্লায়েন্ট তার প্রোফাইল নিজের অ্যাপ ডেটা ডিরেক্টরিতে রাখে — প্রেফারেন্স ফাইল, JSON ব্লব বা ছোট SQLite ডেটাবেস হিসেবে। Settings-এর Clear storage এন্ট্রি ঠিক এই ডিরেক্টরিটাই মুছে দেয়। প্রোফাইল সিস্টেম VPN তালিকায় নেই: সেই তালিকা ক্লায়েন্টের VpnService দিয়ে নিবন্ধিত কানেকশন রেকর্ড ধরে রাখে, যাতে থাকে কানেকশনের নাম, মালিক প্যাকেজ এবং ব্যবহারকারীর সেট করা যেকোনো always-on ফ্ল্যাগ।
VpnService হলো প্লাম্বিং, স্টোরেজ নয়। ক্লায়েন্ট একবার সম্মতি চায়, একটি tun ইন্টারফেস বানায় এবং নিজেই প্যাকেট সরায়, তাই প্ল্যাটফর্মকে কখনোই প্রোফাইল ফরম্যাট বুঝতে হয় না। এজন্যই অন্য ফোন থেকে কপি করা কনফিগারেশন ফাইল প্রায়ই খালি প্রোফাইল হিসেবে ইমপোর্ট হয় বা ভ্যালিডেশনে ব্যর্থ হয়।
ক্রেডেনশিয়াল আলাদা পথে চলে। সিস্টেম KeyChain দিয়ে পাওয়া কী বা সার্টিফিকেট সিস্টেম-পরিচালিত স্টোরে থাকে, তাই অ্যাপ ডেটা মুছলে ক্রেডেনশিয়াল ব্যবহারযোগ্য থেকে যেতে পারে, শুধু ক্লায়েন্টের অ্যালিয়াসটি মুছে যায়।
ম্যানেজড ডিভাইস দ্বিতীয় মালিক যোগ করে। EMM-এর তৈরি ওয়ার্ক প্রোফাইল নিজের নীতিতে ক্লায়েন্টের নিজস্ব কপি চালায়, আর always-on VPN ডিভাইস নীতিতে পিন করা যায় যাতে ব্যবহারকারী সংযোগ বিচ্ছিন্ন করতে না পারেন। এসব ডিভাইসে প্রোফাইল সাধারণত হাতে টাইপ না করে এনরোলমেন্টেই দেওয়া হয়। তখন পুনরুদ্ধার মানে পুনরায় ইমপোর্ট নয়, পুনরায় এনরোলমেন্টের সিদ্ধান্ত।
ক্যাশ, স্টোরেজ, নেটওয়ার্ক রিসেট, ফ্যাক্টরি রিসেট
চারটি অপারেশন এই সীমারেখার সঙ্গে মেলে। কিছু ট্যাপ করার আগে সন্দেহভাজন অবস্থার সারিটি পড়ুন।
| Operation | What it removes | What survives |
|---|---|---|
| Clear cache | Temporary files, including any diagnostic bundle the client wrote there | Profile, credentials, enrollment |
| Clear storage | The app's preferences, databases and saved profile | KeyChain entries, other apps, device policy |
| Network reset | Wi-Fi, mobile and Bluetooth registrations, and on most builds the saved VPN entries | App data, KeyChain, work profile |
| Factory reset | The user data partition, accounts and device-bound keys | Nothing on the device |
ক্যাশ পরিষ্কার করা সবচেয়ে নিরাপদ আর সবচেয়ে কম কাজের। এটি অস্থায়ী ফাইল সরায়, যেখানে ক্লায়েন্ট সদ্য সাপোর্ট এজেন্টের চাওয়া লগটিও রেখে থাকতে পারে। Android-এর অ্যাপ সমস্যা সমাধান নির্দেশিকা ক্যাশ ও স্টোরেজকে দুটি আলাদা ডিলিশন হিসেবে ধরে, আপনারও তাই করা উচিত।
Clear storage হলো আসল per-app রিসেট। এটি প্রোফাইল, সংরক্ষিত গেটওয়ে এবং নির্দিষ্ট নেটওয়ার্কের জন্য ক্লায়েন্টের রাখা ট্রাস্ট ফ্ল্যাগ মুছে দেয়। এটি KeyChain এন্ট্রি বাতিল করে না, অন্য অ্যাপের মালিকানাধীন সিস্টেম VPN রেকর্ড সরায় না, এবং ম্যানেজড প্রোফাইলে যে নীতি প্রোফাইলটি প্রথমে পাঠিয়েছিল তা সরায় না।
Settings-এর নেটওয়ার্ক রিসেট ডিভাইসব্যাপী, আর এর সঠিক পরিধি প্রস্তুতকারক ও Android সংস্করণভেদে বদলায়। আপনার বিল্ডের কনফার্মেশন ডায়ালগই একমাত্র নির্ভরযোগ্য বিবৃতি যে এটি কী ভুলবে।
আগে ফেরার পথ লিখে রাখুন
কোনো ধ্বংসাত্মক পদক্ষেপের আগে পাঁচটি জিনিস লিখুন: ক্লায়েন্ট সংস্করণ, প্রোফাইলের নাম, গেটওয়ে ঠিকানা, সার্ভিসের মালিক এবং সংযোগ কোন ধাপে ব্যর্থ হয়।
এই পাঁচটি তথ্যই ক্লায়েন্টের ত্রুটি থেকে নীতি বা সার্ভারের ত্রুটি আলাদা করে। টাইমআউট, সার্টিফিকেট প্রত্যাখ্যান আর তাৎক্ষণিক অস্বীকৃতি তিনটি ভিন্ন ব্যর্থতা, আর প্রতিটি ভিন্ন মালিকের দিকে ইশারা করে। আগে স্টোরেজ পরিষ্কার করলে ক্লায়েন্টের দিকের সেই প্রমাণ হারাবেন যা এগুলো আলাদা করত। লগ এখনো থাকতে থাকতেই তার পরিশোধিত কপি রাখুন।
তারপর নিশ্চিত করুন সংযোগটি কীভাবে আবার তৈরি হবে। প্রোফাইল যদি ক্লায়েন্ট সার্টিফিকেট, ম্যানেজড কনফিগারেশন বা এই ডিভাইসে বাঁধা MFA এনরোলমেন্টের ওপর নির্ভর করত, তবে শুধু ডিসপ্লে নাম আর হোস্টনাম যথেষ্ট নয়।
যে বুটস্ট্র্যাপ লকআউটের পরিকল্পনা কেউ করে না
একটি ব্যর্থতার ধরন আলাদা অনুচ্ছেদ দাবি করে। প্রোফাইল ডাউনলোডের একমাত্র জায়গা যদি এমন অভ্যন্তরীণ পোর্টাল হয় যা আপনি যে টানেল সরাতে যাচ্ছেন তা দিয়েই পৌঁছায়, তবে স্টোরেজ পরিষ্কার করা অ্যাপের ভেতরে বেরোনোর পথহীন এক মৃত প্রান্ত তৈরি করে।
always-on VPN-এর সঙ্গে VPN ছাড়া সংযোগ ব্লক করুন চালু থাকলে এটি পূর্ণ বিভ্রাটে পরিণত হয়: ফোনের পোর্টালে যাওয়ার কোনো কাজ করা পথ নেই, আর ক্লায়েন্টের টানেল তোলার প্রোফাইল নেই। দুটি অবস্থা একে অন্যকে জায়গায় ধরে রাখে।
বেরোনোর পথ পদ্ধতিগত, প্রযুক্তিগত নয়। টানেল এখনো কাজ করতে করতে কনফিগারেশন এক্সপোর্ট করুন বা ছবি তুলুন, নিশ্চিত করুন পোর্টালের এমন রুট আছে যা VPN-এর ওপর নির্ভর করে না, তারপরই কিছু পরিষ্কার করুন। ম্যানেজড ডিভাইসে প্রোফাইল ছোঁয়ার আগে অ্যাডমিনিস্ট্রেটরকে জিজ্ঞাসা করুন কোন পুনরুদ্ধার পথ আছে।
পুনর্নির্মিত টানেল যাচাই করুন
প্রোফাইল ফিরে এলে ক্রমে পরীক্ষা করুন: নাম রেজল্যুশন, পরিচিত অভ্যন্তরীণ হোস্টে TCP সংযোগ, এবং আপনি যে ব্যর্থতা-ব্লকিং আচরণের ওপর সত্যিই নির্ভর করেন। ক্রম গুরুত্বপূর্ণ, কারণ টানেল উঠে এসেও DNS ফাঁস করতে পারে।
স্ট্যাটাস বারে কী আইকন প্রমাণ করে ইন্টারফেসটি আছে, তার বেশি কিছু নয়।
লক্ষ্যযুক্ত রিসেটের পরেও সংযোগ ব্যর্থ হলে অপারেশনের আকার বাড়ানো বন্ধ করুন। আগের ও পরের প্রমাণ রাখুন, কোন স্তর পরিষ্কার করেছেন তা টুকে রাখুন, এবং আগের সেই পাঁচ তথ্যসহ বিষয়টি কম্পোনেন্ট মালিকের কাছে দিন। ফ্যাক্টরি রিসেট অনেক বেশি খরচের আলাদা সিদ্ধান্ত, এবং এটি VPN চেকলিস্টের পরের ধাপ নয়।