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

রুট কী ইনস্টল করে, আর কী কখনো পড়ে না

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

OpenVPN কিছু রুট প্যারামিটারে সমাধানযোগ্য নাম গ্রহণ করতে পারে, এবং এই সহনশীলতা বিভ্রান্তির উৎস। কনফিগারেশন প্রয়োগ করার সময় নামটি সমাধান হয়, ফলে এক বা একাধিক ঠিকানা তৈরি হয় যা সাধারণ রুটে পরিণত হয়। এরপর নামটি ছবি থেকে সম্পূর্ণভাবে হারিয়ে যায়।

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

যখন গন্তব্যটি সত্যিই একটি প্রিফিক্স

লক্ষ্যটি যদি পরিচিত একটি ব্যক্তিগত নেটওয়ার্ক হয়, তবে প্রিফিক্সটি লিখুন। ডকুমেন্টেশন-স্পেসের একটি উদাহরণে, একটি একক হোস্ট ও একটি সাবনেট এভাবে দেখায়:

route 10.60.4.20 255.255.255.255
route 10.60.0.0 255.255.0.0

দুটি এন্ট্রিই ঠিকানা ও মাস্কের নাম দেয়, এবং দুটিই DNS পরিবর্তন সইতে পারে কারণ তাদের কিছুই কোনো নামের উপর নির্ভর করে না। এটাই পুরো সুবিধা: রুট হলো টপোলজি সম্পর্কে একটি বিবৃতি, একবার ঘটে যাওয়া কোনো লুকআপ সম্পর্কে নয়।

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

যখন কাজের একক হলো একটি হোস্টনেম

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

একটি প্রক্সি কনফিগারেশন ফাইল সেই পছন্দ প্রকাশ করতে পারে। নিচের উদাহরণমূলক নিয়মগুলো একটি ডোমেইন ও তার সাবডোমেইনগুলো একটি প্রক্সিতে পাঠায় এবং বাকি সবকিছু সরাসরি:

function FindProxyForURL(url, host) {
    var h = host.toLowerCase();
    if (h === "corp.example" || dnsDomainIs(h, ".corp.example")) {
        return "PROXY 10.60.0.12:3128";
    }
    return "DIRECT";
}

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

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

প্রক্সি অপশন কী ঢাকে না

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

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

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

শুধু সুখী পথ নয়, দুটো পথই পরীক্ষা করা

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

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

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