অতিরিক্ত সফটওয়্যার ছাড়াই Windows-এ কিল সুইচ: প্রোফাইল না রুট?
ফায়ারওয়াল প্রোফাইল নেটওয়ার্কের বিভাগ অনুসরণ করে, রুট অনুসরণ করে অ্যাডাপ্টারকে। দুটোই তুলনা করুন, তারপর টানেল চলে যাওয়া আর আইকন মিথ্যা বলার অবস্থায় ক্র্যাশের পরীক্ষা করুন।
ক্লায়েন্ট ডাউনলোডের মাঝপথে মারা যায় এবং ট্রে আইকনটি উধাও হয়। ট্রান্সফারটি বাড়ির সংযোগ দিয়েই চলতে থাকে। এই ক্রমটাই কিল সুইচ থাকার কারণ, আর Windows দ্বিতীয় কোনো পণ্য ছাড়াই এর কাছাকাছি কিছু করতে পারে।
জানা দরকার এমন দুটি পদ্ধতি আছে। এরা ভিন্ন ভিন্ন জায়গায় ব্যর্থ হয়, এবং কোনোটিই সম্পূর্ণ উত্তর নয়।
পদ্ধতি এক: প্রোগ্রামটিকে শুধু একটি প্রোফাইলে অনুমতি দিন
Windows ফায়ারওয়াল নিয়মগুলোকে Domain, Private ও Public প্রোফাইলে সীমাবদ্ধ করে। কৌশলটি হলো টানেল অ্যাডাপ্টারকে একটি বিভাগ আর ফিজিক্যাল অ্যাডাপ্টারকে আরেকটি বিভাগ দেওয়া। এরপর আপনি একটি আউটবাউন্ড নিয়ম লেখেন যা সুরক্ষিত প্রোগ্রামটিকে টানেল প্রোফাইলে অনুমতি দেয় আর বাকি সব জায়গায় ব্লক করে। ফায়ারওয়াল অ্যাডাপ্টারের নাম নয়, বিভাগটিই পড়ে।
প্রথমে VPN সংযোগটি Private আর ফিজিক্যাল নেটওয়ার্কটি Public করুন। তারপর প্রোগ্রামটির জন্য একটি ব্লক নিয়ম যোগ করুন যা আপনার অবাঞ্ছিত প্রোফাইলগুলোতে প্রযোজ্য। এরপর Get-NetConnectionProfile দিয়ে বরাদ্দটি নিশ্চিত করুন, কারণ নিয়মটি ওই বরাদ্দই অনুসরণ করে।
Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory
New-NetFirewallRule -DisplayName 'Block browser off VPN' -Direction Outbound `
-Program 'C:\Program Files\Mozilla Firefox\firefox.exe' -Action Block -Profile Public
New-NetFirewallRule -DisplayName 'Allow browser on VPN' -Direction Outbound `
-Program 'C:\Program Files\Mozilla Firefox\firefox.exe' -Action Allow -Profile Private
দুর্বলতাটি কাঠামোগত। প্রোফাইল নিয়ম বিভাগটি অনুসরণ করে, তাই Windows যখন কোনো হোটেল নেটওয়ার্ক পুনর্বিভক্ত করে তখন ব্লকটি প্রযোজ্য হওয়া বন্ধ করতে পারে। তা ঘটলে নিয়মের তালিকায় কিছুই বদলায় না।
পদ্ধতি দুই: ফিজিক্যাল ডিফল্ট রুট সরিয়ে ফেলুন
রুট পদ্ধতিটি আরও মোটা দাগের এবং নিরীক্ষা করা অনেক সহজ। ফিজিক্যাল গেটওয়েটি লিখে নিন, VPN-কে কম মেট্রিকসহ নিজের ডিফল্ট বসাতে দিন, তারপর ফিজিক্যাল ডিফল্টটি মুছে ফেলুন। এরপর আর কিছুই ট্রাফিক বহন করতে পারবে না।
route print -4
route delete 0.0.0.0 mask 0.0.0.0 192.168.50.1
route print -4 | findstr /c:"0.0.0.0"
ক্লায়েন্ট মারা গেলে VPN রুটটি তার অ্যাডাপ্টারের সঙ্গে চলে যায়। মেশিনটি লিক করার বদলে অফলাইনে চলে যায়, আর কিল সুইচের কথা ছিল ঠিক এটাই উৎপাদন করা।
দুটি বিবরণ ঠিক করে এটি এক সপ্তাহ টিকবে কি না। লিংক দুললেই DHCP গেটওয়েটি ফিরিয়ে আনে। স্ট্যাটিক ঠিকানার ফিজিক্যাল অ্যাডাপ্টার ওই চমক এড়ায়। VPN সার্ভারের নিজের ঠিকানাটিও পৌঁছানোযোগ্য থাকতে হবে। ওই হোস্ট পথ ছাড়া যে ড্রপ ব্লকটি চালু করেছিল, তার পরে ক্লায়েন্ট আর কখনোই পুনঃসংযোগ করতে পারবে না।
পদ্ধতি তিন: গেটওয়ে নেই, একটি স্থায়ী হোস্ট রুট
তৃতীয় বিকল্পটি শুরু হয় অ্যাডাপ্টার সেটিংস থেকে গেটওয়ে মুছে দিয়ে। তারপর VPN এন্ডপয়েন্টের দিকে একটি একক স্থায়ী রুট সেটির জায়গা নেয়। এরপর মেশিনটি টানেল ওঠার আগ পর্যন্ত সার্ভারের সঙ্গে কথা বলতে পারে আর অন্য কিছুর সঙ্গে নয়।
route -p add 198.51.100.44 mask 255.255.255.255 192.168.50.1 metric 1
route print -4 | findstr 198.51.100.44
গেটওয়ে ফিরিয়ে আনা সাধারণ ইন্টারনেট ফিরিয়ে আনে, যা এটিকে একটি পরিষ্কার অন-অফ সুইচ বানায়। এটি ইন্টারফেস ইভেন্ট দেখতে থাকা কোনো স্ক্রিপ্টের উপর নির্ভর করে না। নেটওয়ার্ক কীভাবে বিভক্ত হয় তা-ও এর কাছে গুরুত্বপূর্ণ নয়।
মূল্য হলো টানেল বন্ধ থাকাকালীন সম্পূর্ণ বিচ্ছিন্নতা। আপডেট থেমে যায়, আর থেমে যায় যে ডাউনলোডটি এই অনুশীলনের কারণ ছিল সেটিও। কাজের ল্যাপটপে এটি প্রায়ই ঠিক, ব্যক্তিগত মেশিনে এটি সচেতনভাবে নেওয়া একটি সিদ্ধান্ত।
গ্লোব আইকন কেন কিছুই প্রমাণ করে না
Windows পৌঁছানোর ক্ষমতা জানায় Microsoft-এর একটি এন্ডপয়েন্টের বিপরীতে একটি প্রোব দিয়ে। সেই প্রোব আপনার টানেল সম্পর্কে কিছুই বলে না। সংযুক্ত টানেল এমন গ্লোবের পিছনে বসে থাকতে পারে যা ইন্টারনেট নেই বলে জানায়, আর মৃত টানেল সুস্থ সংযোগ দেখাতে পারে।
ক্লায়েন্ট প্রসেসটি মেরে পরীক্ষা করুন এবং তারপর নম্বর দিয়ে একটি পাবলিক ঠিকানায় পৌঁছানোর চেষ্টা করুন। নামের জিজ্ঞাসার উত্তর ক্যাশ থেকে দেওয়া হতে পারে, তাই আইকনও নয়, DNS উত্তরও নয় প্রমাণ।
সত্যিকারের ড্রপের পরে কী লিখে রাখবেন
পরীক্ষাটি একটি একক যাচাই নয়, একটি ক্রম হিসেবে চালান। সংযোগ বিচ্ছিন্ন করার বদলে প্রসেসটি মারুন, তারপর দুই ফ্যামিলিতেই একটি সংখ্যাগত ঠিকানা চেষ্টা করুন। পরে ক্লায়েন্টটি ফিরিয়ে আনুন এবং নিশ্চিত করুন যে আপনি যে রুটটি রেখেছেন তা দিয়ে এটি এখনো নিজের সার্ভারে পৌঁছাতে পারে।
taskkill /IM openvpn-gui.exe /F
ping -4 198.51.100.44
ping -6 2606:4700:4700::1111
route print -4 | findstr /c:"0.0.0.0"
ঘুমের পরে, Wi-Fi পরিবর্তনের পরে এবং তার থেকে বেতারে যাওয়ার পরে ক্রমটি পুনরাবৃত্তি করুন। এই রূপান্তরগুলোই সেই জায়গা যেখানে প্রোফাইল পদ্ধতি ও DHCP আচরণ দুটোই ব্যর্থ হয়। ডেস্কে যে নিয়ম টেকে, তা হোটেলে টিকবে এমন নয়।
প্রতিটি নিয়ম ও রুটের পাশে ফেরানোর ধাপটি লিখুন। Microsoft আউটবাউন্ড নিয়ম তৈরির কথা Windows ফায়ারওয়াল নিয়মের রেফারেন্সে নথিভুক্ত করে, আর সেটি কেবল স্ক্রিনশটের হাতেখড়ির চেয়ে ভালো উৎস।