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

ডেস্ক থেকে একই দেখতে দুই প্যাকেট পথ

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

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

RoleWho originates the trafficWhat has to be true
Client onlyThe laptop itselfTunnel route, working resolver, supported profile
GatewayAnother deviceForwarding enabled, permitted transit, routes both ways, return-path decision

ip_forward আসলে কী বদলায়

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

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

তিনটি ফায়ারওয়াল প্রশ্ন যা এক প্রশ্ন নয়

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

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

পথ সঠিক হওয়ার পরেই মাপুন

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

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

ক্লায়েন্টের গায়ের লেবেল নয়, আপনার যে টপোলজি আছে তা বর্ণনা করুন

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

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

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