Windows VPN-এর রেখে যাওয়া পুরোনো রুট কীভাবে সরাবেন
সত্যিই পুরোনো এন্ট্রিটি খুঁজুন, সঠিক পলিসি স্টোরের বিপরীতে এর অপসারণের পূর্বরূপ দেখুন, এবং লুকআপটি আপনার প্রত্যাশিত ইন্টারফেসই বেছে নিচ্ছে কি না তা নিশ্চিত করুন।
আপনার সেশন কয়েক ঘণ্টা আগেই শেষ, অ্যাডাপ্টারটিও নেই, তবু রুটটি এখনো টেবিলে আছে এবং ইন্টারফেস 42-এর দিকে ইশারা করছে। সেই সারিটি মুছতে লাগে একটি কমান্ড; সেটিই সঠিক সারি, এটা ঠিক করতে লাগে চারটি যাচাই। রুট টেবিল ভাগাভাগি করা, তাই বিস্তৃত অপসারণ অন্য সংযোগগুলো এখনো ব্যবহার করে এমন পথও তুলে নেয়, যার মধ্যে টানেল বইয়ে নেওয়া পথটিও আছে। নিচের প্রতিটি ধাপ লক্ষ্যকে আরও সংকুচিত করে, যতক্ষণ কেবল একটি এন্ট্রিই মিলতে পারে।
1. এন্ট্রিটি পুরোনো না ইচ্ছাকৃত, তা সিদ্ধান্ত নিন
যে এন্ট্রি রিবুট থেকে টিকে গেছে, সেটি কোথাও লেখা হয়েছে, আর সেই কোথাও সাধারণত দুর্ঘটনা নয়, একটি সিদ্ধান্ত। স্প্লিট টানেলিং এমন রুটের উপর নির্ভর করে যেগুলো দেখতে হুবহু অবশিষ্টাংশের মতো, আর একটি প্রিফিক্স টানেলের ভেতর দিয়ে পাঠানো পলিসিকে একক তালিকায় পুরোনো এন্ট্রি থেকে আলাদা করা যায় না। জিজ্ঞাসা করুন রুটটি কখন এসেছে: যে রুট কেবল টানেল চালু থাকা অবস্থাতেই থাকে, সেটি ক্লায়েন্টের কনফিগারেশনের, তাই পরিষ্কার করার কমান্ড ভুল হাতিয়ার। ইচ্ছাকৃত রুট সরিয়ে দিলে পরের সংযোগটি এমন ধাপে ব্যর্থ হয় যা কেউ দেখছে না।
এন্ডপয়েন্ট রুটটির জন্য আলাদা সতর্কবার্তা দরকার। ক্লায়েন্ট যখন VPN সার্ভারের জন্য একটি হোস্ট রুট যোগ করে যাতে এনক্রিপ্টেড প্যাকেট লোকাল সংযোগ দিয়ে সেখানে পৌঁছায়, তখন সেই রুটটি মুছে দিলে পরের পুনঃসংযোগে টানেল ভেঙে পড়ে, আর লক্ষণটি সার্ভারের ত্রুটি বলে পড়া হয়। কিছু স্পর্শ করার আগে গন্তব্যটিকে ক্লায়েন্ট যে ঠিকানায় সংযোগ করে তার সঙ্গে তুলনা করুন: VPN সার্ভারের সঙ্গে মেলা একটিমাত্র পাবলিক ঠিকানা হলো বাইরের পথ, আবর্জনা নয়।
2. এন্ট্রির নাম দেওয়া চারটি ক্ষেত্র লিখে রাখুন
কেবল একটি প্রিফিক্স পরিচয় নয়, কারণ দুটি ইন্টারফেস একই গন্তব্যে রুট রাখতে পারে। গন্তব্য প্রিফিক্স, ইন্টারফেস ইনডেক্স, পরবর্তী হপ এবং পলিসি স্টোর লিখে রাখুন, কারণ এই চারটি মান ঠিক একটি এন্ট্রিকেই বর্ণনা করে। একটি তালিকাই আপনাকে সবগুলো দেয়:
Get-NetRoute -AddressFamily IPv4 | Sort-Object RouteMetric
মেট্রিক অনুযায়ী সাজালে মেশিন যে রুটগুলো সত্যিই পছন্দ করে সেগুলো উপরে ওঠে, আর অবশিষ্টাংশ সাধারণত সেখানেই বসে থাকে। টানেল চালু থাকা অবস্থায় এবং বন্ধ হওয়ার পর আবার এন্ট্রিটি তুলনা করুন: যে রুট অ্যাডাপ্টারের সঙ্গে চলে যায় সেটি ক্লায়েন্টের ছিল, আর যে থাকে সেটি অন্য কিছু লিখেছে। পলিসি স্টোর হলো সেই ক্ষেত্র যা মানুষ এড়িয়ে যায়, আর পুনরাবির্ভাব ব্যাখ্যা করে ঠিক সেটিই, কারণ সক্রিয় স্টোর থেকে সরানো এন্ট্রি পরের পলিসি রিফ্রেশের পরে ফিরে আসে। অবস্থা বদলায় এমন কিছু চালানোর আগে চারটি মান লিখে ফেলুন।
3. অপসারণের পূর্বরূপ দেখুন, তারপর একটি এন্ট্রি সরান
Remove-NetRoute ঠিক সেই প্রিফিক্স ও ইন্টারফেস ইনডেক্স গ্রহণ করে যা Get-NetRoute ছেপেছে, আর এতে পূর্বরূপের সুইচ আছে, তাই কিছুই অনুমান করতে হয় না। জোড়াটি এই ক্রমে চালান:
Remove-NetRoute -DestinationPrefix 10.20.0.0/16 -InterfaceIndex 42 -WhatIf
Remove-NetRoute -DestinationPrefix 10.20.0.0/16 -InterfaceIndex 42
পূর্বরূপটি যে অবজেক্টটি মুছবে তা ছাপে, তাই সুইচ ছাড়ার আগে প্রিফিক্স, ইন্টারফেস ও পরবর্তী হপ আপনার নোটের সঙ্গে মিলিয়ে নিন। দুটো লাইনের কোনোটিই স্থায়ী এন্ট্রিতে পৌঁছায় না, কারণ সক্রিয় স্টোরই ডিফল্ট; আপনি যে রুট চিহ্নিত করেছেন সেটি ওখানে থাকলে -PolicyStore PersistentStore যোগ করুন, নইলে অপসারণ কাজ করেছে বলে মনে হয় আর পরের পলিসি রিফ্রেশে এন্ট্রিটি ফিরে আসে। সেশন দূরবর্তী হলে ব্যান্ডের বাইরের পুনরুদ্ধার পথ রাখুন, কারণ নিজের সংযোগ বইয়ে নেওয়া রুট মুছে ফেললে সেই সংযোগই শেষ হয়ে যায়। টেবিল পরিষ্কার করে এমন কমান্ডের দিকে কখনো হাত বাড়াবেন না।
4. কোন উপাদানটি এটি ফিরিয়ে আনে তা খুঁজুন
মালিক যখন এখনো রুটটি ইনস্টল করার জন্য কনফিগার করা, তখন মুছে ফেলা কোনো সমাধান নয়। মালিক সাধারণত তিনটির একটি: স্প্লিট-টানেল তালিকাসহ VPN ক্লায়েন্টের প্রোফাইল, লগইনে রুট যোগ করে এমন স্ক্রিপ্ট বা নির্ধারিত কাজ, অথবা মেশিনে প্রয়োগ করা ডোমেইন পলিসি। আগে প্রোফাইলটি দেখুন, কারণ এটি প্রতিটি সংযোগে চলে:
Get-VpnConnection | Select-Object Name,SplitTunneling,ServerAddress
Get-NetRoute -PolicyStore PersistentStore
স্থায়ী এন্ট্রিগুলো কিছু সংযুক্ত না করেই দেখা যায়, তাই VPN সেশন ছাড়া রিবুটের পর ফিরে আসা রুট প্রায় সবসময় ওই স্টোরেই বা স্টার্টআপ স্ক্রিপ্টে থাকে। ওখানেই মালিককে ঠিক করুন, তাহলে হাতে করা অপসারণ চিকিৎসার বদলে যাচাই হয়ে যায়।
5. লুকআপ, প্রতিবেশী ও নোট যাচাই করুন
পরিচ্ছন্ন ফলাফল মানে রুটটি চলে গেছে নয়; বরং এমন লুকআপ যা এখন আপনার প্রত্যাশিত ইন্টারফেস বেছে নেয়। মেশিনকে জিজ্ঞাসা করুন আক্রান্ত প্রিফিক্সের প্যাকেট কোথায় যাবে, কারণ অবশিষ্টাংশ এখনো মৃত ইনডেক্সের নাম বলে, আর পরিচ্ছন্ন উত্তর লিংকের ইন্টারফেস বা সঠিক গেটওয়ের নাম বলে। Find-NetRoute একবারে একটি ঠিকানার জন্য তার উত্তর দেয়:
Find-NetRoute -RemoteIPAddress 10.20.4.7
তারপর একটি প্রতিবেশী পরীক্ষা করুন: স্প্লিট টানেলে এখনো দরকার এমন দ্বিতীয় একটি প্রিফিক্স বেছে নিন এবং তার লুকআপ অপরিবর্তিত আছে কি না নিশ্চিত করুন, কারণ একটি রুট বেশি সরিয়ে ফেলা এই পরিচ্ছন্নতার আমন্ত্রিত ভুল। যে অ্যাপ্লিকেশনটি প্রথমে ব্যর্থ হয়েছিল সেটি আবার চেষ্টা করুন, এবং এখন কোন উপাদান প্রিফিক্সটির মালিক তা লিখে রাখুন। Microsoft-এর Get-NetRoute ডকুমেন্টেশন দ্বিতীয় ধাপে আপনার লেখা ক্ষেত্রগুলোর তালিকা দেয়। ছয় মাস পর সেই নোটই একই এন্ট্রি দুবার নির্ণয় হওয়া ঠেকাবে।