Android-এ VPN আইকন চালু, তাহলে ট্রাফিক টানেল দিয়ে যাচ্ছে না কেন?
চাবির আইকন শুধু বলে একটি অ্যাপ একটি ভার্চুয়াল ইন্টারফেসের মালিক, ট্রাফিক ফোন ছাড়ছে তা নয়। প্রোফাইল ধরন, প্রতি-অ্যাপ পরিধি ও ব্লকিং নীতি দেখুন।
আপনার VPN চাবি স্টেটাস বারে আছে, ব্রাউজার একটি পাতা লোড করছে, আর কোনও সাইট যে ঠিকানা জানাচ্ছে সেটি এখনও আপনার বাড়ির সংযোগ। Android-এ এই মিলন স্বাভাবিক, কারণ আইকনটি বলে একটি অ্যাপ ভার্চুয়াল নেটওয়ার্ক ইন্টারফেসের মালিক, আপনার ট্রাফিক দূরের সার্ভার দিয়ে বেরোচ্ছে তা নয়। স্থানীয় ফিল্টারিং অ্যাপও একই সুবিধা ব্যবহার করে। প্রদানকারীকে দোষ দেওয়ার আগে সেবাটি আসলে কী করছে তা দেখুন।
আইকন মানে একটি VPN সেবা ইন্টারফেসের মালিক
Android-এর VPN সেবা একটি অ্যাপকে ভার্চুয়াল ইন্টারফেস তৈরি করে তার দিকে পাঠানো প্যাকেট গ্রহণ করতে দেয়। এরপর কী হবে তা সম্পূর্ণ সেই অ্যাপের উপর নির্ভর করে: এটি প্যাকেটগুলি দূরের সার্ভারে পাঠাতে, ফিল্টার করতে বা ফেলে দিতে পারে। চাবির আইকন জানায় একটি সেবা ইন্টারফেসটি ধরে আছে, প্যাকেট কোথায় যায় তা নয়। তাই ফিল্টারিং অ্যাপ ও পূর্ণ টানেল স্টেটাস বারে একই রকম দেখায়।
adb shell dumpsys connectivity | grep -i vpn
adb shell settings get global always_on_vpn_app
প্রতি ব্যবহারকারী বা প্রোফাইলে একসঙ্গে কেবল একটি VPN সেবা সক্রিয় থাকতে পারে, এটি নথিভুক্ত আচরণ, ত্রুটি নয়। দ্বিতীয় অ্যাপ সংযোগের চেষ্টা করলে সে হয় দায়িত্ব নেয়, নয় ব্যর্থ হয়, এবং প্রথমটির ট্রাফিক আর পরিচালিত হয় না। আপনি টানেল সংযোগ করার মুহূর্তে ফিল্টারিং অ্যাপ বন্ধ হয়ে গেলে সেই প্রতিযোগিতাই সম্ভাব্য কারণ।
প্ল্যাটফর্ম প্রোফাইল বা অ্যাপ VPN: এরা বিনিময়যোগ্য নয়
প্ল্যাটফর্মের দেওয়া IKEv2 প্রোফাইল এবং OpenVPN বা WireGuard বাস্তবায়নকারী অ্যাপ ভিন্ন মেনুযুক্ত ভিন্ন পণ্য। IKEv2-এর জন্য প্ল্যাটফর্ম API নির্দিষ্ট Android সংস্করণ থেকে আছে, এবং প্রস্তুতকারকদের বিল্ড সবাই একই জায়গায় একই বিকল্প দেখায় না। অন্য ফোনের স্ক্রিনশট সামঞ্জস্যের নথি নয়।
adb shell getprop ro.build.version.sdk
adb shell dumpsys package com.example.vpn | head -40
প্রোটোকলটিকে যে ক্লায়েন্ট সমর্থন করে তার সঙ্গে মিলিয়ে নিন, এবং প্রোফাইলটি অসম্পর্কিত ফর্মে পেস্ট না করে প্রদানকারীর যাচাইকৃত চ্যানেল দিয়ে নিন। এন্ডপয়েন্ট ঠিকানা বলে কোথায় সংযোগ করতে হবে, কোন অ্যাপ প্রোটোকলটি বলতে পারে তা নয়। রপ্তানি করা প্রোফাইল ও QR কোডকে শংসাপত্র হিসেবে ধরুন, কারণ QR চিত্রে সম্পূর্ণ চাবি থাকতে পারে। প্রোফাইল অন্য ক্লায়েন্টের জন্য জারি হলে রূপান্তর না করে পুনরায় জারি করুন।
প্রতি-অ্যাপ নিয়ম ও কাজের প্রোফাইল পরিধি বদলায়
Android প্রতি-অ্যাপ VPN কনফিগারেশন সমর্থন করে, তাই ব্রাউজার টানেলের বাইরে থাকতে পারে আর মেইল অ্যাপ ভিতরে। ব্যক্তিগত ও কাজের প্রোফাইল নিজস্ব সক্রিয় সেবাসহ আলাদা প্রেক্ষাপট। ভুল অ্যাপ থেকে ঠিকানা পরীক্ষা করা এই ক্ষেত্রের সবচেয়ে সাধারণ ভুল সিদ্ধান্তগুলির একটি।
অন্তর্ভুক্তি ও বাদ তালিকা দেখুন, তারপর যে অ্যাপটি সত্যিই আপনার দরকার সেটি দিয়ে পরীক্ষা করুন। কাজের প্রোফাইলের টানেল ব্যক্তিগত অ্যাপ ঢাকে না, ব্যক্তিগত টানেল কাজের অ্যাপ ঢাকে না। একই বিভাজন ব্যাখ্যা করে কেন একটি কর্পোরেট সম্পদ এক প্রোফাইলে কাজ করে আর অন্যটিতে দৃশ্যমান কনফিগ পার্থক্য ছাড়াই ব্যর্থ হয়। টিকিটে প্রোফাইল প্রেক্ষাপট লিখুন, কারণ এটি কোন সেটিংস প্রযোজ্য তাও বদলায়।
আপনি যে অ্যাপ পরীক্ষা করছেন সেটি টানেলের পরিধিতে না থাকলে থামুন। এটি নীতিগত সিদ্ধান্ত, ত্রুটি নয়।
ফোন থেকে আসলে কী বেরোল তা পরীক্ষা করুন
সর্বজনীন ও ব্যক্তিগত গন্তব্য, দুই ঠিকানা পরিবার ও দুই অ্যাক্সেস নেটওয়ার্ক পরীক্ষা করুন। তারপর ফলাফল অ্যাপের নিজের পরিধির সঙ্গে মিলিয়ে দেখুন, কারণ এক অ্যাপে পাতা লোড হওয়া অন্যটি সম্পর্কে কিছু বলে না। Wi-Fi থেকে মোবাইল ডেটায় বদলের পরে আবার করুন, কারণ পুনঃসংযোগ ভিন্ন পথে পড়তে পারে।
adb shell ip rule
adb shell dumpsys netpolicy | grep -i vpn
Always-on VPN এবং VPN ছাড়া সংযোগ ব্লক করার বিকল্প সম্পর্কিত কিন্তু পৃথক, এবং কঠোর ব্লক নথিভুক্ত পদ্ধতি অনুসরণ না করা পর্যন্ত captive portal সাইন-ইন ভাঙতে পারে। Private DNS সেটিংসও প্রোফাইলের রিজলভারের সঙ্গে মিথস্ক্রিয়া করতে পারে, তাই প্রতিষ্ঠানের DNS অন্ধভাবে বদলানো নতুন ব্যর্থতা তৈরি করে। স্ক্রিন লক হলে টানেল মরে গেলে, কিছু পুনঃইনস্টল করার আগে ব্যাকগ্রাউন্ড এক্সিকিউশন ও ব্যাটারি অপ্টিমাইজেশন নিয়ে VPN ডেভেলপার নির্দেশিকা পড়ুন।
নজরে রাখার লক্ষণ হলো আইকন ও পথের মধ্যেকার ফাঁক। চাবি মানে একটি সেবা ইন্টারফেসের মালিক; কেবল উদ্দিষ্ট অ্যাপ থেকে উদ্দিষ্ট নেটওয়ার্কে পরীক্ষাই বলে ট্রাফিক কোথায় গেছে। দুটোই দেখুন, আর VPN ভাঙার পরের রিপোর্ট অনেক সহজে বসানো যাবে।