সংযোগের পরে VPN রুট মেট্রিক বদলে গেছে: এর অর্থ কী
কম মেট্রিক কেবল সমান নির্দিষ্টতার রুটগুলোর মধ্যে টাই ভাঙে। কোনো VPN রুট নম্বর সম্পাদনার আগে পলিসি নিয়ম, প্রিফিক্স ও এন্ডপয়েন্ট হোস্ট রুট পড়ুন।
আপনি VPN-এ সংযোগ দেন, route print চালান, আর ডিফল্ট রুট এখন আগের চেয়ে অনেক কম মেট্রিক বহন করছে। স্বাভাবিক উপসংহার হলো VPN ডিফল্ট রুটটি নিয়েছে কারণ এর সংখ্যা ছোট। মাঝে মাঝে ঠিক তাই ঘটে। প্রায়ই মেট্রিক আদৌ নির্ধারক নয়, এবং এটি সম্পাদনা করলে কিছুই বদলায় না, কারণ সিদ্ধান্ত আগেই নেওয়া হয়েছে — প্রিফিক্সের দৈর্ঘ্য বা পলিসি নিয়ম দিয়ে।
উপসর্গটি বাস্তব: আগে যে ট্রাফিক Wi-Fi অ্যাডাপ্টর দিয়ে বেরোত, এখন তা টানেল দিয়ে বেরোয়, বা উল্টোটা। মেট্রিক হলো একটি নির্দিষ্ট ক্রমে চলা লুকআপের একটি ইনপুট, আর কোনো সংখ্যায় হাত দেওয়ার আগে সেই ক্রমটাই পড়তে হবে।
সংখ্যাটি আসলে কার সঙ্গে প্রতিযোগিতা করে
প্রথম তুলনা নির্দিষ্টতা, পছন্দ নয়। 10.20.0.0/16-এর রুট 10.0.0.0/8-কে হারায়, আর দুটোই 0.0.0.0/0-কে হারায়, তাদের মেট্রিক যা-ই বলুক। যে VPN মেশিনে সর্বনিম্ন মেট্রিক দিয়ে ডিফল্ট রুট বসায়, সেও গন্তব্যের সঙ্গে মেলে এমন যেকোনো বেশি নির্দিষ্ট রুটের কাছে হারে, যার মধ্যে ক্লায়েন্ট তার নিজের সার্ভারের জন্য বসানো হোস্ট রুটও আছে।
তাই ডিফল্টের মেট্রিক কমানো দিয়ে সরাসরি সংযুক্ত সাবনেটকে টানেলে বাধ্য করা যায় না। ওই সাবনেট VPN-এর ভিতরে চাইলে প্রিফিক্সের জন্য একটি রুট যোগ করুন বা পলিসি নিয়ম দিয়ে টানেল টেবিল বাছুন। এই কাজের জন্য মেট্রিক ভুল লিভার।
| Check in this order | Question | Where you read it |
|---|---|---|
| 1. Policy and table | Which routing table does this traffic use? | ip rule, client profile |
| 2. Prefix length | Which matching route is most specific? | route print, ip route |
| 3. Metric | Which of the equally specific routes is preferred? | route print, ip route |
| 4. Interface state | Is the chosen next hop reachable? | adapter status, link state |
লিনাক্স মেট্রিকের আগে টেবিল ঠিক করে
লিনাক্সে কার্নেল আগে পলিসি ডেটাবেস দেখে। ip rule নিয়মগুলো ও তারা যে টেবিল বাছেন তা তালিকাভুক্ত করে, আর ip route get 203.0.113.10 সেই টেবিল, রুট ও সোর্স ঠিকানা দেখায় যা কার্নেল ওই গন্তব্যের জন্য সত্যিই ব্যবহার করত। 100 নম্বর টেবিলের ভিতরের মেট্রিক মূল টেবিলের রুটের সঙ্গে কখনো প্রতিযোগিতা করে না, কারণ নিয়মটি যেকোনো মেট্রিক তুলনার আগেই টেবিল বেছে নিয়েছে।
তাই একটি রুট ip route show table all-এ ঠিক দেখাতে পারে এবং তবুও ট্রাফিক বহন না করতে পারে। যে নিয়মটি মিলেছে তা পড়ুন, তারপর যে টেবিল এটি বেছেছে তা পড়ুন, তারপর তার ভিতরের রুট তুলনা করুন। ভুল টেবিল বাছা হলে অন্য টেবিলে কোনো মেট্রিক সম্পাদনা সাহায্য করবে না।
উইন্ডোজ দুটি মেট্রিক মিলিয়ে দেখে
উইন্ডোজে ডিফল্টভাবে পলিসি ডেটাবেস নেই, কিন্তু এটি রুট মেট্রিকের সঙ্গে ইন্টারফেস মেট্রিক মেলায়, আর স্বয়ংক্রিয় ইন্টারফেস মেট্রিক লিঙ্কের গতি ও অ্যাডাপ্টরের অবস্থার সঙ্গে বদলাতে পারে। তাই একই রুট ডকিং স্টেশন বা ভার্চুয়াল অ্যাডাপ্টর আসার পরে ভিন্ন আচরণ করতে পারে। Find-NetRoute -RemoteIPAddress 203.0.113.10 বাছা সোর্স ঠিকানা, পরের হপ ও ইন্টারফেস দেখায়, যা কাঁচা টেবিলের চেয়ে আসল সিদ্ধান্তের কাছাকাছি।
রুট ও ইন্টারফেসের মান একসঙ্গে পড়ুন। ইন্টারফেস মেট্রিক বাড়ালে কোনো রুট এন্ট্রি না বদলেই ট্রাফিক সরে যেতে পারে, আর যে VPN ক্লায়েন্ট নিজের রুটগুলোর মালিক, সে পুনঃসংযোগে সেগুলো আবার বসিয়ে আপনার সম্পাদনা মুছে দেবে।
টানেলের এন্ডপয়েন্ট টানেলের বাইরে রাখুন
প্রতিটি টানেলের নিজের সার্ভারের কাছে এমন পথ দরকার যা টানেল দিয়ে যায় না। ক্লায়েন্ট ভৌত গেটওয়ে দিয়ে এন্ডপয়েন্টের জন্য হোস্ট রুট বসায়, আর সেই রুট ক্লায়েন্টের যোগ করা ডিফল্টের চেয়ে বেশি নির্দিষ্ট থাকতে হবে। এটি মুছে ফেলুন, কিংবা ওই ঠিকানার লুকআপে টানেলকে জেতান — তাহলে এনক্যাপসুলেটেড প্যাকেট যে টানেল তৈরি করার কথা সেটিতেই ঢোকার চেষ্টা করবে। সংযোগ ব্যর্থ হয় বা লুপে পড়ে।
যেকোনো মেট্রিক পরিবর্তনের আগে ও পরে সেই হোস্ট রুট যাচাই করুন: এটি ভৌত পরের হপের দিকে নির্দেশ করা উচিত এবং পুনঃসংযোগেও টিকে থাকা উচিত। ক্লায়েন্ট যদি এর মালিক হয়, তবে রানটাইম মানের বদলে প্রোফাইল বা ম্যানেজড কনফিগারেশন বদলান, কারণ মানটি আবার লেখা হবে।
দুই ঠিকানা পরিবার ও অ্যাপের প্রসঙ্গ দুটোই যাচাই করুন
IPv4 ও IPv6 আলাদা টেবিলসহ আলাদা সিদ্ধান্ত। VPN IPv4 বহন করতে পারে, অথচ IPv6 স্থানীয় রাউটারই ব্যবহার করে চলে, আর এক পরিবারে মেট্রিক বদলালে অন্য পরিবার সম্পর্কে কিছুই বোঝায় না। দুটোই যাচাই করুন, তারপর অ্যাপ্লিকেশনের প্রসঙ্গ যাচাই করুন। ইন্টারফেসে বাঁধা প্রসেস, কনটেইনার namespace বা প্রতি-অ্যাপ VPN আপনার শেলের চেয়ে ভিন্ন টেবিল দেখতে পারে।
আসল গন্তব্যের সিদ্ধান্ত জানায় এমন টুল দিয়ে যাচাই করুন, পুরো টেবিল তালিকা দিয়ে নয়। বাছা রুটটি যদি ডিজাইনের অভীষ্ট হয়, থামুন। পর্দায় সবচেয়ে ছোট সংখ্যা নয় এমন মেট্রিক কোনো ত্রুটি নয়, আর জোর করে সেটিকে সবচেয়ে ছোট বানালে টানেল নির্ভর এন্ডপয়েন্টের পথ ভেঙে যেতে পারে।