VPN কিল সুইচ: কোন ট্রাফিক এবং কখন ব্লক করে
পুনঃসংযোগ টানেল ফিরিয়ে আনে; কিল সুইচ সিদ্ধান্ত নেয় টানেল না থাকা অবস্থায় কী হবে। সংযোগ বিচ্ছেদ, হাতে বিচ্ছিন্নকরণ, অ্যাপ বন্ধ এবং নেটওয়ার্ক পরিবর্তন আলাদাভাবে পরীক্ষা করুন।
দুটি বৈশিষ্ট্যকে একই শব্দে বর্ণনা করা হয়, অথচ তারা আলাদা কাজ করে। স্বয়ংক্রিয় পুনঃসংযোগ টানেল ফিরিয়ে আনার চেষ্টা করে, এবং এক সেকেন্ডের মধ্যেই তা সফল হতে পারে, অথচ সেই ফাঁকে অনুরোধগুলো ব্যর্থ হয়। কিল সুইচ ঠিক ওই ফাঁকে ট্রাফিকের কী হবে তা নির্ধারণ করে। এই দুটিকে একটি সেটিং হিসেবে পড়া মানে নীতির বদলে আইকনকে বিশ্বাস করা।
ব্লক করা ও পুনঃসংযোগ করা আলাদা সিদ্ধান্ত
একটি ক্লায়েন্ট কেবল তখনই ব্লক করে যখন বিচ্ছেদ অপ্রত্যাশিত, তারপর পুনঃসংযোগ করে ব্লক তুলে নেয়। আরেকটি সিস্টেম পর্যায়ের ব্লক ধরে রাখে যতক্ষণ না কেউ হাতে একটি সেটিং বদলায়, আর তৃতীয়টি ইচ্ছাকৃত বিচ্ছিন্নকরণকে সাধারণ প্রবেশ ফিরিয়ে আনার অনুমতি হিসেবে দেখে। এগুলো তিনটি ভিন্ন আচরণ, এবং প্রস্তুতকারকের নথি বলে আপনার বিল্ড কোনটি বাস্তবায়ন করে।
প্রোফাইল আমদানি এই প্রশ্নের কোনো মীমাংসা করে না। একই সার্ভার প্রোফাইল বিপরীত ব্লকিং আচরণের দুটি ক্লায়েন্টে লোড হয়, কারণ প্রোফাইল প্রতিশ্রুতি নয়, সেটিং বহন করে। এ কারণেই ডেস্কটপের একটি চেকবক্স আর মোবাইলের একই রকম নামের একটি সুইচ ভিন্ন নিয়ম বাস্তবায়ন করতে পারে। আপনার প্ল্যাটফর্মে কন্ট্রোলের পাশে দেওয়া বর্ণনা পড়ুন, তারপর এটি কী করে তা পরীক্ষা করুন।
একই প্রোফাইল দুটি ক্লায়েন্টে ভিন্নভাবে আচরণ করে
OpenVPN Connect অ্যাপের সেটিংস এমন একটি টানেল মোড বর্ণনা করে যা সাধারণ ট্রাফিক ধরে রাখে কেবল তখনই, যখন ক্লায়েন্ট বিরত বা পুনঃসংযোগরত অবস্থা জানায়, যা প্রতিটি প্ল্যাটফর্মে প্রতিটি ঘটনা নিয়ে সাধারণ প্রতিশ্রুতির চেয়ে সংকীর্ণ। পণ্যের নাম নয়, তালিকাভুক্ত অবস্থাগুলো পড়ুন। একটি ক্লায়েন্ট বিল্ডের জন্য লেখা বর্ণনা অন্য প্রস্তুতকারকের ক্লায়েন্টে প্রযোজ্য হয় না।
Android একই শব্দ দুটি কন্ট্রোলে ব্যবহার করে, কারণ সর্বদা-চালু VPN এবং VPN ছাড়া সংযোগ ব্লক করা আলাদাভাবে নথিভুক্ত। একই রকম নামের চেকবক্সযুক্ত ডেস্কটপ ক্লায়েন্ট তাদের যেকোনোটির চেয়ে সংকীর্ণ বা প্রশস্ত কিছু বাস্তবায়ন করতে পারে। দুটি মেনুতে একই লেবেলকে কাকতালীয় ধরুন, যতক্ষণ না দুই বর্ণনাই পড়া হয়। পরিচালিত ডিভাইস তৃতীয় স্তর যোগ করে, কারণ ডিভাইস প্রোফাইল এমন সেটিং প্রয়োগ করতে পারে যা ব্যবহারকারী দেখতে বা বাতিল করতে পারে না।
একই রকম দেখতে প্ল্যাটফর্ম সেটিংস সমতুল্য নয়
আপনি যে কন্ট্রোল দেখছেন তার সঙ্গে প্রকৃতপক্ষে প্রযোজ্য নীতির তুলনা করুন। পরিচালিত ডিভাইসে দৃশ্যমান সুইচ ধূসর হতে পারে, বা চালু থাকতে পারে অথচ উচ্চতর পর্যায়ের প্রোফাইল উল্টোটা প্রয়োগ করছে। স্থানীয় নয়, কার্যকর নীতি চান, এবং উত্তরটি লিখিতভাবে নিন।
কিছু পরীক্ষা করার আগে প্রতিটি স্তর কী দাবি করে তা লিখে রাখুন, কারণ দুটি প্রায়ই মিলে না এবং পরীক্ষা শুরু হলে এই অমিল ধরা কঠিন হয়ে পড়ে। যে ডিভাইস পরীক্ষার সময় সঠিকভাবে ব্লক করে, সে এমন কারণেও ব্লক করতে পারে যা কেউ নথিভুক্ত করেনি।
একবারে একটি ঘটনা চালান এবং কোড লিখে রাখুন
প্রতি বারে একটি ঘটনা পরীক্ষা করুন, একটি নিরীহ অনুরোধ দিয়ে, এবং প্রতিটি চেষ্টাকে নতুন অনুরোধ করুন, ক্যাশে থাকা পাতায় নয়। নিচের কমান্ডগুলো টানেল নামায়, একটি পাতা চায়, এবং ইন্টারফেস ফিরে এসেছে কি না দেখায়।
ip link set tun0 down
curl -s -o /dev/null -w "%{http_code}\n" --max-time 5 https://example.com
ip -brief address show tun0
সারণিটি প্রতিটি কাজকে গুরুত্বপূর্ণ পর্যবেক্ষণের সঙ্গে এবং রাখার যোগ্য প্রমাণের সঙ্গে যুক্ত করে। সময়সীমার মধ্যে ব্যর্থ অনুরোধ বলে ব্লক কাজ করেছে; সফল অনুরোধ বলে ট্রাফিক অন্য পথ পেয়েছে, যা বন্ধ ব্লক নয়, বাদ দেওয়া রুটও হতে পারে। অর্থবহ সফটওয়্যার হালনাগাদ বা রুট-নীতি পরিবর্তনের পরে পুরো সেটটি পুনরাবৃত্তি করুন, কারণ দুটোর যেকোনোটি দৃশ্যমান সেটিং না নড়েই শাখা বদলে দিতে পারে। শেষে আপনি চান পূর্বানুমেয় ব্যর্থতার আচরণ, সান্ত্বনাদায়ক আইকন নয়।
| What I do | What I watch | Evidence to keep |
|---|---|---|
| Bring the tunnel down by hand | Whether a fresh request fails at once | The HTTP code and the client state at that second |
| Choose Disconnect in the client | Whether ordinary access returns on purpose | The same request succeeding with no tunnel up |
| Quit the app, then reboot | Whether the block outlives the client | A request made from a clean boot |
| Move from Wi-Fi to cellular | Whether DNS and IPv6 follow the policy | The resolver answer, the route table and the code again |
ব্যতিক্রম, অতিথি পোর্টাল এবং ব্লক যা করতে পারে না
স্থানীয় নেটওয়ার্কে প্রবেশ সাধারণ ব্যতিক্রম, এবং এটি প্রতিশ্রুতির পরিধি বদলে দেয়। একটি ক্লায়েন্ট বাকি সব ব্লক করে একই সাবনেটের প্রিন্টারে পৌঁছাতে পারে, যা বাড়িতে যুক্তিযুক্ত এবং অতিথি নেটওয়ার্কে সন্দেহজনক। কোনো ঘটনা আপনার হয়ে এটি আবিষ্কার করার আগেই ঠিক করুন এই ব্যতিক্রম চান কি না।
কঠোর ব্লক অতিথি নেটওয়ার্কের পোর্টালে প্রবেশও কঠিন করে তোলে, কারণ পোর্টালটি ঠিক সেই সরাসরি ট্রাফিক, যা থামানোর জন্যই ব্লকটি আছে। নেটওয়ার্ক অনুমোদনের সমর্থিত উপায় শিখুন, তারপর পাতা লোড হওয়া পর্যন্ত কন্ট্রোল বন্ধ করার বদলে সচেতনভাবে নীতি ফিরিয়ে আনুন। রিজলভারের উত্তর ও রুট সারণি একই নোটে রাখুন, যেমন নিচে দেখানো হয়েছে। কিল সুইচ যা করতে পারে না, তা হলো সেবাটিকে নামহীন করা, কারণ টানেলের বাইরের ট্রাফিক ব্লক করা ভেতরে কী ঘটছে সে সম্পর্কে কিছুই বলে না।
resolvectl query example.com
ss -tunp | grep -v tun0