রুটটি সপ্তাহ ধরে কাজ করছিল, তারপর কোথাও ট্রাফিক পাঠানো শুরু করল, গন্তব্য অপরিবর্তিত এবং কিছুই সম্পাদিত হয়নি। যা বদলেছে তা হল সংখ্যাটি: নির্দিষ্ট একটি ইন্টারফেস ইনডেক্সের বিপরীতে তৈরি রুট পুনরায় সংযোগের পরে আর বিদ্যমান নেই এমন অ্যাডাপ্টারকে নির্দেশ করে, আর গন্তব্য প্রিফিক্স প্রতিস্থাপিত অবকাঠামোর দিকেই দেখাতে থাকে। ওই কমান্ডে স্থায়িত্ব যোগ করলে কাজ হয় না, কারণ সমস্যা কখনোই ছিল না রুটটি রিবুট টিকবে কি না। সমাধান হল উদ্দেশ্যটিকে সংযোগের সঙ্গে যুক্ত করা, যা নকশা অনুসারেই অ্যাডাপ্টার বদল সহ্য করে।

রুটটি আসলে কোথায় দেখাচ্ছে তা যাচাই করুন

রুট এন্ট্রি এবং অ্যাডাপ্টারগুলো পাশাপাশি পড়ে শুরু করুন। VPN ইন্টারফেসে নেক্সট হপ এবং বর্তমান কোনো অ্যাডাপ্টারের সঙ্গে না মেলা ইনডেক্স আছে এমন রুট এই ত্রুটির স্বাক্ষর; ভিন্ন ইনডেক্সে একই প্রিফিক্স হয় অবশিষ্টাংশ, নয়তো আপনি সত্যিই যে রুটটি চান। যেকোনোটি বদলানোর আগে দুটি তালিকাই পড়ুন, কারণ আকর্ষণীয় তুলনাটি হল রুটে থাকা সংখ্যা এবং এখন বিদ্যমান সংখ্যাগুলোর মধ্যে। রুটের ইনডেক্স অ্যাডাপ্টার তালিকায় থাকলে ইনডেক্স আপনার সমস্যা নয় এবং অনুসন্ধান মেট্রিক, নীতি বা দূর প্রান্তে চলে যায়। না থাকলে আর কিছু নির্ণয় করতে হয় না: রুটটি এমন অবকাঠামোতে যুক্ত যা আর নেই।

Get-NetRoute -DestinationPrefix '10.77.0.0/16' | Select-Object DestinationPrefix, NextHop, InterfaceIndex, Store
Get-NetAdapter | Where-Object InterfaceDescription -like '*VPN*' | Select-Object Name, InterfaceIndex, InterfaceDescription
Get-VpnConnection -Name 'Lab VPN' | Select-Object Name, ServerAddress, SplitTunneling

Store কলামটি রিবুট জুড়ে টিকে থাকা এন্ট্রিকে অ্যাডাপ্টারের সঙ্গে হারিয়ে যাওয়া এন্ট্রি থেকে আলাদা করে, এবং সেই পার্থক্যই ঠিক করে ত্রুটিটি কাল ফিরে আসবে কি না। স্থায়ী স্টোরে থাকা এন্ট্রি যা একটি বিলুপ্ত ইনডেক্সের দিকে দেখায় তা সবচেয়ে খারাপ অবস্থা, কারণ এটি রিস্টার্ট টিকে থাকে অথচ কখনো কিছুর সঙ্গে মেলে না।

প্রিফিক্সটি প্রোফাইলে বাঁধুন, অ্যাডাপ্টারে নয়

Windows-এর নিজস্ব VPN নিজের রুট তালিকা বহন করতে পারে, তাই সংযোগ ওঠার সময়েই সঠিক অ্যাডাপ্টার পুনরায় ব্যবহার করে। তখন রুটটি একবার দেখা কোনো সংখ্যার বদলে প্রোফাইল অনুসরণ করে, এবং প্রতিটি ডায়ালের পরে কোনো স্ক্রিপ্টকে ইনডেক্স আন্দাজ করতে হয় না। প্রিফিক্স যোগ করাও সংশ্লিষ্ট অপসারণ কমান্ডের মাধ্যমে উল্টানো যায়, যা পরিবর্তনটিকে নিরীক্ষাযোগ্য রাখে। প্রিফিক্সটি স্টার্টআপ স্ক্রিপ্টে নয়, সংযোগের সঙ্গে সংরক্ষিত হয়, তাই অন্য ব্যবহারকারীর কাছে কপি করা প্রোফাইল উদ্দেশ্যটি সঙ্গে নিয়ে যায়।

Add-VpnConnectionRoute -ConnectionName 'Lab VPN' -DestinationPrefix '10.77.0.0/16' -PassThru

Add-VpnConnectionRoute রেফারেন্স সংযোগ-সংযুক্তি নথিভুক্ত করে, এবং ফোন-বুক সুযোগ গুরুত্বপূর্ণ: প্রতি-ব্যবহারকারী প্রোফাইল আর সর্ব-ব্যবহারকারী প্রোফাইল ভিন্ন বস্তু। এই ব্যবস্থাটি Windows-এর নিজস্ব VPN ক্লায়েন্টের, তাই নিজের সার্ভিস দ্বারা পরিচালিত একটি ভেন্ডর অ্যাডাপ্টার সম্পূর্ণ ভিন্ন নীতি-উৎস থেকে তার রুট নিতে পারে।

নতুনটি যোগ করার আগে পুরোনো রুট পরিষ্কার করুন

একই প্রিফিক্স ও ভিন্ন মালিকের দুটি রুট একটি ভুল রুটের চেয়েও খারাপ, কারণ কে জিতবে তা নির্ভর করে এমন মেট্রিকের ওপর যা কেউ লিখে রাখেনি। প্রিফিক্সের জন্য ইতিমধ্যে কী আছে দেখুন, স্থায়ী স্টোরের এন্ট্রিসহ, এবং কেবল ব্যর্থ প্রচেষ্টার অংশটুকু সরান। আগের নকশার অবশিষ্টাংশ এই ক্ষেত্রে সাধারণ, কারণ ব্যর্থ রুটটি সাধারণত আগে কাজ করা কিছুকে প্রতিস্থাপন করেছে। কিছু সরানোর আগে কোন এন্ট্রি কোন সংযোগের তা টুকে রাখুন, এবং তালিকাটি পরিবর্তন-রেকর্ডে রাখুন।

Get-NetRoute -AddressFamily IPv4 | Where-Object DestinationPrefix -like '10.77.*'
Remove-NetRoute -DestinationPrefix '10.77.0.0/16' -NextHop '0.0.0.0' -Confirm:$false

প্রিফিক্স, নেক্সট হপ, স্টোর ও মালিক একসঙ্গে মিলিয়ে দেখুন, একই রকম দেখায় এমন সবকিছু মুছে ফেলার বদলে। অন্য একটি সংযোগ বৈধভাবে ওই জায়গার একটি অংশের ওপর নির্ভর করতে পারে, আর এক ঝটকায় মুছে ফেলা একটি পরিপাটি মেরামতকে সাপোর্ট-ঘটনায় পরিণত করে।

ভিন্ন ক্রমে আবার সংযোগ করুন

শর্তটি পুনরুৎপাদন করুন, প্রথম প্রচেষ্টাটি প্রতিনিধিত্বমূলক ছিল বলে আশা করার বদলে। সংযোগ বিচ্ছিন্ন করুন, আবার সংযোগ করুন, এবং টানেল চালু থাকা অবস্থায় একই দূরবর্তী সম্পদের নির্বাচিত পথ নিশ্চিত করুন; একাধিক VPN জড়িত থাকলে সেগুলো ভিন্ন ক্রমে তুলুন এবং নির্বাচিত পথ বদলায় কি না দেখুন। ক্রমটিই সেই চলক যা বেশিরভাগ মানুষ বাদ দেয়, আর এটিই ভুল সংযোগে যুক্ত রুট উন্মোচন করে।

rasdial 'Lab VPN' /disconnect
rasdial 'Lab VPN'
Find-NetRoute -RemoteIPAddress 10.77.5.20 | Select-Object -First 1

আপনি যে ফল চান তা নয় যে অ্যাডাপ্টার একবার নিজের নম্বর ধরে রাখবে। চাই হল সংযোগ যে নম্বরই পাক, রুটটি প্রতি বার সেই নম্বরসহ দেখা দেবে এবং সংযোগ বন্ধ হলে হারিয়ে যাবে। দুবার পুনঃসংযোগ করা ওই ফলগুলো আলাদা করার সবচেয়ে সস্তা উপায়।

রুটটি কী করতে পারে না তা জানুন

প্রোফাইল রুট একটি পথ দেয়, আর কিছু নয়। এটি দূরবর্তী ফায়ারওয়াল খোলে না, দূর প্রান্তে ফেরত রুট তৈরি করে না, বা একই ঠিকানা-পরিসর ব্যবহার করা দুই সাইটের সমাধান করে না; এর প্রত্যেকটি আলাদা মালিকের আলাদা কনফিগারেশন। তাই পথ নিশ্চিত করা গ্রহণযোগ্যতা-পরীক্ষার শুরু, পুরোটা নয়।

প্রিফিক্স তালিকাটি প্রোফাইলের সঙ্গে রাখুন এবং কোন সুযোগের অধীনে এটি যোগ হয়েছিল টুকে রাখুন, যাতে পরের ব্যক্তি রুট-টেবিল থেকে অনুমান করার বদলে অভীষ্ট নকশাটি পড়তে পারেন। কেবল কারও স্মৃতিতে থাকা রুটগুলোই পরের পুনঃসংযোগের পরে ভুলভাবে পুনর্নির্মিত হয়। ডিপ্লয়মেন্ট নোটে এক লাইনের মন্তব্য আবার আবিষ্কারের এক বিকেলের চেয়ে কম খরচ।

সম্পর্কিত নিবন্ধ