VPN ক্লায়েন্ট চালু থাকা অবস্থায় LAN ঠিকানায় ping করলে General failure
রুট টেবিল ঠিক দেখালেও Windows কোনো অ্যাডাপ্টারেই পৌঁছাতে পারছে না বলে জানায়। ব্লকটা রাউটিং, ফিল্টারিং নাকি ক্লায়েন্ট—সেটা নির্ধারণ করুন।
একটি হোস্ট রুট, একটি ঠিকানা, আর ping সঙ্গে সঙ্গে General failure দিয়ে ব্যর্থ হয়, অনুরোধের সময় শেষ হওয়ার বদলে। এই পার্থক্যটাই পুরো রোগনির্ণয়। সময় শেষ হওয়া মানে প্যাকেট বেরিয়েছে এবং কিছু তা উপেক্ষা করেছে। General failure মানে Windows প্যাকেটটি প্রথম থেকেই কোনো ইন্টারফেসে দিতে পারেনি।
তাই যখন রুট টেবিল নিখুঁত দেখায় আর ত্রুটি তখনও General failure, তখন ব্লকটি রাউটিং সিদ্ধান্তের নিচে ঘটছে, এবং প্রোভাইডারের ক্লায়েন্টই সেখানে কাজ করছে।
রুট টেবিলের আগে ত্রুটিটি পড়ুন
Windows এই ত্রুটি দেয় যখন পাঠানোর জন্য কোনো ইন্টারফেস খুঁজে পায় না, এবং গন্তব্যটি প্যাকেট নিয়ে কী করত সে সম্পর্কে কিছুই বলে না। পৌঁছানোযোগ্যতা, দূর প্রান্তের ফায়ারওয়াল এবং সেবার প্রাপ্যতা—সবই পরবর্তী প্রশ্ন, যেখানে আপনি এখনও পৌঁছাননি।
এই ক্ষেত্রের চিরাচরিত কনফিগারেশন হলো একটি হোস্ট রুট, যা একটি LAN ঠিকানাকে ফিজিক্যাল গেটওয়ের দিকে পাঠায় যাতে সেটি টানেল এড়িয়ে যায়। route add তা গ্রহণ করে, route print তা দেখায়, আর ping তবু ব্যর্থ হয়, কারণ ফিল্টার ড্রাইভার ইতিমধ্যেই সিদ্ধান্ত নিয়েছে যে প্যাকেটটি বাইরে যেতে পারবে না।
এই ব্যাখ্যা মেনে নেওয়ার আগে নিশ্চিত করুন যে রুটটি সত্যিই নির্বাচিত হচ্ছে: ইন্টারফেস ইনডেক্স ও মেট্রিক দেখুন, এবং পুনঃসংযোগের পরে এন্ট্রিটি পুরোনো হয়ে যায়নি তা নিশ্চিত করুন। যে রুট এমন ইন্টারফেসের দিকে দেখায় যা আর নেই, সেটি অনেক কম আকর্ষণীয় কারণে অনুরূপ ত্রুটি দেয়।
তিন স্তর, তিন ভিন্ন মালিক
যে স্তরটি জেতে সেটি শেষে চলে, এবং এই তিনটি মানুষ সাধারণত যে ক্রমটি ধরে নেয় সেটি নয়।
| Layer | What it decides |
|---|---|
| Routing table | Which interface and next hop should carry the packet |
| Client filter driver | Whether this packet is permitted to leave outside the tunnel at all |
| Client feature | Whether a named feature, such as LAN blocking, is active right now |
মাঝের স্তরটিই কারণ যে একটি রুট একসাথে সঠিক ও অকেজো হতে পারে। প্রোভাইডার ক্লায়েন্টরা ফিল্টার ও ফায়ারওয়াল নিয়ম ইনস্টল করে যাতে টানেলের বাইরের ট্রাফিক ফেলে দেওয়া হয়, আর এটিই তাদের kill switch বাস্তবায়নের একই প্রক্রিয়া। রুট টেবিলের কিছুই সেই সিদ্ধান্তে অংশ নেয় না।
তৃতীয় স্তরটি নিয়মিত আসা একটি অদ্ভুত প্রতিবেদন ব্যাখ্যা করে: ক্লায়েন্ট বিচ্ছিন্ন করার পরেও স্থানীয় সাবনেটে পৌঁছানো যায় না। সেবাটি তখনও চলছে এবং ফিল্টারটি তখনও ইনস্টল করা, তাই সংযুক্ত না থাকা আর ফিল্টার না করা এক নয়। কোনো সিদ্ধান্তে পৌঁছানোর আগে শুধু বিচ্ছিন্ন না করে ক্লায়েন্ট থেকে বেরিয়ে যান।
কী চেষ্টা করবেন, ক্রম অনুসারে
যে ফিচারগুলো সরানো সহজ ও ফিরিয়ে আনা সহজ সেগুলো সরিয়ে শুরু করুন। LAN ডিসকভারি, যাকে কখনও কখনও LAN-এ অদৃশ্যতা বলা হয়, ব্যক্তিগত ঠিকানা পরিসরে ট্রাফিক ব্লক করে যাতে মেশিনটি প্রতিবেশীদের থেকে লুকিয়ে থাকে। প্রিন্টার, স্থানীয় ফাইল সার্ভার এবং রাউটার নিজেই সেই সুইচের পিছনে হারিয়ে যায়। DNS ফিল্টার করে এমন থ্রেট প্রোটেকশন ফিচারগুলো নিজেদের হুক ইনস্টল করে এবং প্রায় একইভাবে স্থানীয় পৌঁছানোযোগ্যতা নষ্ট করার কথা জানা যায়।
দুটোই বন্ধ করুন, ক্লায়েন্ট থেকে সম্পূর্ণ বেরিয়ে যান, তারপর ঠিকানাটি পরীক্ষা করুন। এই ক্রমটি ট্রাফিক ব্লক করা ফিচারকে ভুলভাবে রাউট করা টানেল থেকে আলাদা করে, এবং স্ট্যাটিক রুটে একটি দুপুরের বদলে দুই মিনিট লাগে।
ping 192.168.1.50
tracert -d 192.168.1.50
route print -4
ফিচার বন্ধ করার পর ঠিকানাটি সাড়া দিলে আপনার কাছে ত্রুটি নয়, নীতি-সিদ্ধান্ত আছে: ফিচারটি বন্ধ রাখা, একটি ব্যতিক্রম যোগ করা, নাকি মেশিনটি স্থানীয় নেটওয়ার্কে অদৃশ্য থাকবে তা মেনে নেওয়া—এর মধ্যে বেছে নিন।
ক্লায়েন্টের ব্যতিক্রম পথটি সংকীর্ণভাবে ব্যবহার করুন
কোনো ফিচার চালু রাখতেই হলে ক্লায়েন্টের নিজস্ব স্প্লিট টানেলিং হলো সমর্থিত পথ। প্রয়োজন যতটা অনুমতি দেয় ততটাই ছোট রাখুন ব্যতিক্রমটি, যার অর্থ সাধারণত একটি সার্ভারের জন্য একটি হোস্ট ঠিকানা বা একটি সেগমেন্টের জন্য একটি প্রিফিক্স। পুরো একটি ব্যক্তিগত পরিসর ঢাকা একটি নিয়ম হলো স্থায়ী ফুটো, যা কেউ যোগ করার কথা মনে রাখবে না এবং কেউ সরানোর সাহসও করবে না।
তারপর আগে ঠিকানা দিয়ে এবং পরে নাম দিয়ে যাচাই করুন। ফিজিক্যাল গেটওয়েতে প্রথম হপ নিয়ে ঠিকানাটি সাড়া দিলে ব্যতিক্রমটি কাজ করছে। নামটি এখনও ব্যর্থ হলে আপনি DNS-এ চলে গেছেন, কারণ টানেলের রিজলভার স্থানীয় জোন জানে না এবং কোনো রাউটিং পরিবর্তন তা শেখাবে না।
রুটটি বা ব্যতিক্রমটি রাখুন, দুটোই নয়, সাথে কোনটি কাজটি করছে তা নিয়ে একটি টীকা। দুটি ওভারল্যাপিং প্রক্রিয়া একে অন্যকে লুকিয়ে রাখে, এবং পরে যে ব্যক্তি এই মেশিনটি ডিবাগ করবে সে একটি সরিয়ে দেবে এবং কোনো পরিবর্তন দেখবে না।
যখন ক্লায়েন্টই বাধা
কিছু বিল্ড এমনভাবে ট্রাফিক ফিল্টার করে যা স্ট্যাটিক রুট বা ক্লায়েন্ট ব্যতিক্রম কোনোটিই হারাতে পারে না। যখন সেটাই পাওয়া যায়, তখন সৎ বিকল্প হলো বাইপাস ফিচারের জন্য অপেক্ষা করা বা প্রোভাইডারের নিজস্ব প্রোফাইল ব্যবহার করে সাধারণ OpenVPN ক্লায়েন্ট দিয়ে সংযোগ করা, যা মূল প্রতিবেদনে ভেন্ডর সাপোর্টের উত্তরেই সুপারিশ করা হয়েছিল।
এই প্রতিস্থাপন করার আগে বিনিময়টি বুঝুন। সাধারণ প্রোফাইল যেকোনো সাধারণ টানেলের মতো আচরণ করে: এটি নিজের রুট ইনস্টল করে এবং স্ট্যাকের বাকি অংশ পুনর্গঠন করে না, তাই সংকীর্ণ হোস্ট রুট আগের মতোই আপনার প্রত্যাশা অনুযায়ী আচরণ করে। আপনি হারান ব্র্যান্ডেড ক্লায়েন্ট টানেলের চারপাশে যা বাস্তবায়ন করেছিল তা সবই, যার মধ্যে kill switch ও DNS ফিল্টারিং আছে, এবং সেগুলো ইচ্ছাকৃতভাবে পুনরায় তৈরি করতে হবে বা অনুপস্থিত হিসেবেই মেনে নিতে হবে।
যা-ই বেছে নিন, কোন স্তর ব্লকটির মালিক ছিল তা লিখে রাখুন। যে প্যাকেট কখনও মেশিন ছাড়েনি সেটি ফিল্টারের ফল, এবং কোনো রাউটিং পরিবর্তন ফিল্টার সারাতে পারে না।