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

আগে প্রোফাইল, তারপর ইনস্টল করা টেবিল, তারপর নির্বাচনের নিয়মগুলো দেখুন। এই ক্রমটি ক্লায়েন্ট যেভাবে রুট তৈরি করে তার সঙ্গে মেলে এবং এমন মান টিউন করতে দেয় না যা তুলনায় কখনও ঢোকে না।

রুট লাইনটি ফিল্ডের ক্রমে পড়ুন

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

একটি ব্যক্তিগত গন্তব্যের জন্য লাইনটি এমন হতে পারে:

route-metric 50
route 172.20.0.0 255.255.0.0 vpn_gateway 30

স্পষ্ট 30 ওই রুটে প্রযোজ্য, আর 50 প্রোফাইলের প্রতিটি অন্য রুটের জন্য ডিফল্ট থাকে যেটি সংখ্যা বাদ দেয়। লাইনটি বাঁ থেকে ডানে পড়াই যথেষ্ট কোন মান কোথায় প্রযোজ্য তা বোঝার জন্য।

route-metric একটি ডিফল্ট, র‌্যাঙ্ক নয়

route-metric সেই রুটগুলোর জন্য ফলব্যাক ঠিক করে যেগুলো নিজের সংখ্যা বহন করে না। এটি কোনো রুটকে অন্য কিছুর উপরে তোলে না, এবং স্পষ্ট মেট্রিক দিয়ে ইনস্টল করা রুটগুলোর ক্রম বদলায় না।

এই পার্থক্যটি তখন গুরুত্বপূর্ণ যখন প্রোফাইল দুই রূপই মেশায়। উপরে একটি একক route-metric লাইন কর্তৃত্বপূর্ণ দেখায় এবং দোষ দেওয়া সহজ, অথচ যে রুটটি সত্যিই ট্রাফিক বহন করে সেটি তিন লাইন নিচে নিজের মেট্রিক বহন করতে পারে।

আপনি যদি চান একটি রুট একটি পথকে প্রাধান্য দিক, সংখ্যাটি সেই রুটে রাখুন। আপনি যদি তৈরি করা প্রোফাইল জুড়ে সামঞ্জস্যপূর্ণ ডিফল্ট চান, route-metric ব্যবহার করুন এবং আলাদা লাইনগুলোকে যেমন আছে তেমন রাখুন। কারণ ছাড়া দুটো মেশানোই প্রোফাইলে এমন রুট এনে দেয় যা কেউ ব্যাখ্যা করতে পারে না।

ক্লায়েন্ট কী ইনস্টল করেছে তা পরীক্ষা করুন

পুনঃসংযোগ শেষ হলে প্রোফাইলকে নয়, কার্নেলকে জিজ্ঞাসা করুন।

ip route show ক্লায়েন্ট যে রুটগুলো যোগ করেছে তা তালিকা করে, আর ip route get 172.20.5.10 আরও কাজের প্রশ্নের উত্তর দেয়: এই গন্তব্যটি আসলে কোন রুট ব্যবহার করবে, কোন সোর্স ঠিকানা দিয়ে। গন্তব্যটি টেবিলে না থাকলে ক্লায়েন্ট এটি ইনস্টল করেনি।

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

কেন ছোট মেট্রিকও হারায়

মেট্রিক একই গন্তব্যের রুটগুলো তুলনা করে। তারা প্রশস্ত প্রিফিক্সকে আরও নির্দিষ্ট করে না। যখন redirect-gateway def1 চালু থাকে, ক্লায়েন্ট 0.0.0.0/1 এবং 128.0.0.0/1 ইনস্টল করে, আর এই দুটি প্রিফিক্স 0.0.0.0/0-এর চেয়ে বেশি নির্দিষ্টভাবে পুরো IPv4 স্থান ঢেকে দেয়। ডিফল্ট রুটে 1 মেট্রিক তাদের ছাড়িয়ে যেতে পারে না।

একই যুক্তি যেকোনো ওভারল্যাপিং জোড়ার ক্ষেত্রে প্রযোজ্য। /24 ভেতরের ঠিকানার জন্য /16-কে হারায়, সংযুক্ত সংখ্যা যা-ই হোক, কারণ লুকআপ আগে সবচেয়ে নির্দিষ্ট মিল বেছে নেয় এবং কেবল তারপর সমানদের মধ্যে মেট্রিক তুলনা করে।

এটাই সেই অংশ যা মেট্রিক বাগের মতো দেখায় কিন্তু নয়। কোনো সংখ্যা বদলানোর আগে দুটি প্রার্থীরই প্রিফিক্স দৈর্ঘ্য দেখুন।

পলিসি নিয়ম টেবিলের আগে চলে

Linux-এ ip rule ঠিক করে কোন রাউটিং টেবিল দেখা হবে। নিয়মগুলো অগ্রাধিকার ক্রমে মূল্যায়িত হয়, তাই আগের টেবিল মূল টেবিল পড়ার আগেই একটি রুট ফেরত দিতে পারে। main-এর ভেতরের মেট্রিক আগে দেখা কোনো টেবিলের মিলকে ছাড়িয়ে যেতে পারে না।

ip rule show ব্যবহার করুন এবং তারপর নির্দিষ্ট টেবিলটি জিজ্ঞাসা করুন, যেমন ip route show table 100, ওই নিয়ম কী ফেরত দেবে তা দেখতে। কোনো VPN ক্লায়েন্ট বা কনটেইনার রানটাইম নিয়ম যোগ করে থাকলে উত্তরটি আপনি যে টেবিল পড়ছিলেন সেখানে নয়, ওখানে থাকতে পারে। সোর্স ঠিকানাও গুরুত্বপূর্ণ, কারণ একটি নিয়ম সোর্সে মিলে একই গন্তব্যকে টানেল ট্রাফিক ও LAN ট্রাফিকের জন্য আলাদাভাবে সমাধান করতে পারে।

র‌্যাঙ্কিং নয়, গন্তব্য যাচাই করুন

যে পরীক্ষা বিতর্ক শেষ করে তা হলো উদ্দিষ্ট সাবনেটের ভেতরের একটি হোস্টে একটিমাত্র কোয়েরি, সঙ্গে কার্নেল যে সোর্স ঠিকানা বেছে নিয়েছে তার যাচাই। এই জোড়াটি নকশার সঙ্গে মিললে মেট্রিক তার কাজ করছে, তালিকাটি পরিষ্কার র‌্যাঙ্কিংয়ের মতো না দেখালেও।

IPv6 আর DNS এই যাচাইয়ের বাইরে রাখুন। এগুলো আলাদা নির্দেশ দিয়ে কনফিগার হয় এবং আলাদা ব্যবস্থায় সমাধান হয়, আর কাজ করা IPv4 রুট এদের কোনোটির সম্পর্কে কিছুই বলে না। একবারে একটি স্তর বদলান এবং কোয়েরিটি আবার চালান।

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