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

ধাপ 1: যে প্রক্রিয়া প্রিফিক্স ইনস্টল করে তার নাম দিন

ভিন্ন প্রোটোকল ভিন্নভাবে রিচেবিলিটি দেয়, আর সবটিকে বিজ্ঞাপন বলা এই পার্থক্যটি ঢেকে দেয়। একটি OpenVPN সার্ভার কন্ট্রোল চ্যানেলের মাধ্যমে রুট নির্দেশনা পাঠায় এবং ক্লায়েন্ট সেটি ইনস্টল করে, যদি না কোনো pull ফিল্টার বাধা দেয়। একটি WireGuard কনফিগারেশন অনুমোদিত প্রিফিক্স স্থানীয়ভাবে তালিকাভুক্ত করে, যা ক্লায়েন্ট ক্রিপ্টো-কি রাউটিং এবং নিজে যেসব রুট যোগ করে সেগুলোর জন্য ব্যবহার করে। একটি IPsec টানেল পিয়ারের সঙ্গে ট্রাফিক সিলেক্টর সমন্বয় করে, আর কার্নেল সেই সিলেক্টর থেকে রুট ইনস্টল করে।

কোনো টেবিল পড়ার আগে চিহ্নিত করুন আপনার টানেল এর কোনটি ব্যবহার করে। কানেক্টের সময় পাঠানো রুট কোনো রাউটিং প্রোটোকলের ঘোষণা নয়, আর এটি এই প্রতিশ্রুতি দেয় না যে প্রিফিক্সটি দূর প্রান্তের পেছনে পৌঁছানো যায়। প্রিফিক্সের পাশে প্রক্রিয়াটি লিখে রাখুন, কারণ এটি নির্ধারণ করে সমাধানটি কোথায় হবে।

ধাপ 2: একটি কানেক্ট জুড়ে টেবিল তুলনা করুন

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

ip route show table main > /tmp/route-down.txt দিয়ে এটি ক্যাপচার করুন, কানেক্ট করুন এবং আবার ক্যাপচার করুন। সাইটটি IPv6 ব্যবহার করলে ip -6 route-এর জন্যও একই কাজ করুন, কারণ সেখানে একটি অনুপস্থিত প্রিফিক্স এমন ব্যর্থতা তৈরি করে যা রাউটিংয়ের সঙ্গে সম্পর্কহীন মনে হয়।

ধাপ 3: কেবল উপস্থিতি নয়, মেট্রিক পড়ুন

একই প্রিফিক্সের দুটি এন্ট্রি একসঙ্গে থাকতে পারে, আর কার্নেল কম মেট্রিক বেছে নেয়। মেট্রিক 50 সহ একটি স্ট্যাটিক রুট 100-এ থাকা প্রেরিত রুটের বিরুদ্ধে জিততে থাকবে, যদিও দুটোই দৃশ্যমান, তাই ‘রুটটি আছে’ আর ‘ট্রাফিক এটি ব্যবহার করে’ ভিন্ন বক্তব্য।

ip route get 10.20.5.7 দিয়ে সরাসরি কার্নেলকে জিজ্ঞাসা করুন এবং এটি যে ইন্টারফেস জানায় তা পড়ুন। যদি টেবিলে টানেলের রুট থাকা সত্ত্বেও ট্রাফিক ফিজিক্যাল অ্যাডাপ্টার দিয়ে বের হয়, তবে মেট্রিক বা প্রিফিক্সের দৈর্ঘ্য এটি ব্যাখ্যা করে, VPN ক্লায়েন্ট নয়। আপনার জানা টানেলের পেছনে থাকা একটি হোস্ট এবং জানা না-থাকা একটি হোস্টের জন্য অনুসন্ধানটি পুনরাবৃত্তি করুন, আর পার্থক্যটি দেখাবে বিভাজনটি উদ্দেশ্য অনুযায়ী কাজ করছে কি না।

ধাপ 4: যে এন্ট্রিগুলো টানেলের চেয়ে বেশি বাঁচে সেগুলো খুঁজুন

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

স্থায়ী দিকটি আপনার ডিস্ট্রিবিউশন যে জায়গা ব্যবহার করে সেখানে পরীক্ষা করুন, তা systemd-networkd ইউনিট, NetworkManager প্রোফাইল বা ক্লায়েন্টের up ডিরেক্টরির স্ক্রিপ্ট যাই হোক। ip route del দিয়ে লাইভ টেবিল ঠিক করা কেবল পরের কানেক্ট পর্যন্ত টেকে। সেই ডিলিটকে মেরামত নয়, অনুমানের পরীক্ষা হিসেবে ধরুন।

যেখানে দূর প্রান্ত ভুল কভারেজ দেয়, সেখানে সবকিছু ফিল্টার করার বদলে অপারেটরের কাছে বিষয়টি তুলুন। সব প্রেরিত সেটিং বাদ দেওয়া প্রোফাইল যে DNS ও স্প্লিট-টানেল নীতির উপর নির্ভর করে তাও বাদ দেয়।

ধাপ 5: ক্লায়েন্টকে দোষ দেওয়ার আগে ফেরার পথ নিশ্চিত করুন

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

রিভার্স-পাথ ফিল্টারিং Linux গেটওয়েতে দ্বিতীয় ফাঁদ যোগ করে। রুট যা পূর্বানুমান করে তার চেয়ে ভিন্ন ইন্টারফেসে আসা উত্তর স্ট্রিক্ট মোডে বাদ পড়ে, আর দুই প্রোভাইডারের মধ্য দিয়ে অসমমিত পথ এটি নির্ভরযোগ্যভাবে ঘটায়। গেটওয়েতে, ক্লায়েন্টে নয়, ড্রপ কাউন্টারই বলে দেয় ফিল্টারিং কারণ কি না।

ধাপ 6: ping নয়, রিসোর্স পরীক্ষা করুন

নির্বাচিত রুট সঠিক হলে প্রকৃত রিসোর্সটি খুলুন এবং ফেরার ট্রাফিক নিশ্চিত করুন। একটি ping উত্তর এক দিকে পথ প্রমাণ করে এবং সেবা সম্পর্কে কিছুই নয়, আর ক্যাশ করা কানেকশনে উত্তর দেওয়া সেবা আরও কম প্রমাণ করে।

তারপর পুনরায় সংযোগের পর পুরো পরীক্ষাটি পুনরাবৃত্তি করুন। ক্রমটির মূল্য এই যে এটি পূর্বানুমান করে পরের কানেক্ট কী করবে, তাই তুলনা আর মেট্রিক দুটোই টিকিটে থাকা উচিত।

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