OpenVPN-এর রুট সীমা আসলে কোন কম্পোনেন্টের?
রুট সীমা OpenVPN ইঞ্জিন, NetworkManager প্লাগইন বা সার্ভারের হতে পারে। প্রোফাইল সম্পাদনা বা সংখ্যা বাড়ানোর আগে মালিককে চিহ্নিত করুন।
দুইশো রুট বহনকারী একটি প্রোফাইল এক মেশিনে কাজ করে আর আরেকটিতে চল্লিশটি ইনস্টল করে। ইঞ্জিন, যে ইন্টিগ্রেশন এটি চালু করে এবং যে সার্ভার এটিকে খাওয়ায়, প্রত্যেকেরই কিছু বলার আছে, এবং প্রত্যেকে তালিকাটি ভিন্ন জায়গায় থামাতে পারে। ব্যর্থতাকে একক সীমা হিসেবে পড়লে আপনি ভুল ফাইলে যাবেন। ব্যবস্থাটি তিনটি ধাপের, আর যে ধাপে থেমেছে তা স্পষ্ট প্রমাণ রেখে যায়, যদি জানেন কী খুঁজতে হবে।
তিন ধাপ, তিনটি ভিন্ন সীমা
প্রথমে ইঞ্জিন অপশনটি বিশ্লেষণ করে এবং এই সংস্করণ এটি বোঝে কি না তা ঠিক করে। তারপর ইন্টিগ্রেশন ইনস্টল করে যা ইঞ্জিন রিপোর্ট করে, এবং তার নিজস্ব কোড তালিকাটি সীমিত বা পুনর্গঠন করতে পারে। শেষে সার্ভার ঠিক করে কোনও পরিচয়ের কাছে কত রুট পাঠাবে, তার আগেই যেন কোনও ক্লায়েন্ট ধাপ কিছু দেখে। তিন ধাপ, তিনটি ছাদ, আর তার মধ্যে কেবল একটি প্রোফাইলের সংখ্যা।
একটি ছাদ বাড়ালে অন্যগুলোর কিছুই হয় না। প্রত্যাখ্যাত পাঠানো রুট সার্ভারে নীতি-সিদ্ধান্ত হতে পারে, ক্লায়েন্ট যে ওভারল্যাপ সমাধান করেছে তা হতে পারে, বা ইনস্টলারের সীমা যা অতিরিক্তটা ফেলে দিয়েছে। এগুলোর প্রত্যেকটির আলাদা সমাধান আছে।
কিছু মাপার আগে তিনটিকে আলাদা করুন। পার্সার ত্রুটি একটি টোকেনের নাম বলে, ইনস্টলারের সীমা একটি ছোট রুট টেবিল রেখে যায়, আর নীতি-সিদ্ধান্ত কিছুই রাখে না। প্রমাণই বলে দেয় আগে কোন ধাপ দেখবেন।
| Stage | Who decides | What you can see |
|---|---|---|
| Parse | Client engine | An error naming the option |
| Install | Activation owner | A route count below the pushed count |
| Offer | Server policy | A route absent from the pushed list |
পার্সার আগে কথা বলে
অজানা অপশন জোরে ও আগেভাগে ব্যর্থ হয়, এবং ত্রুটির লেখা টোকেনের নাম বলে। এটি চিহ্নিত করা সবচেয়ে সহজ ধাপ: সঠিক বার্তাটি ইনস্টল করা ইঞ্জিন সংস্করণের সাথে মিলিয়ে দেখুন, কারণ একটি রিলিজে যোগ হওয়া অপশন তার আগেরটিতে অজানা থাকে। নতুন স্থাপনা থেকে কপি করা প্রোফাইল এই মিলহীনতার সাধারণ উৎস। পার্সার কখনও নীরবে এমন নির্দেশ উপেক্ষা করে না যা সে চেনে না।
গৃহীত অপশন ফলাফল সম্পর্কে কিছুই বলে না। পার্সিং সফল হয়, তবুও তালিকাটি ইনস্টলার ছেঁটে দিতে পারে বা সার্ভার কখনও প্রস্তাবই নাও করতে পারে। পরিষ্কার পার্সকে এগিয়ে যাওয়ার অনুমতি ভাবুন, প্রমাণ নয়।
যে বাইনারি সত্যিই চলেছিল তার থেকে সংস্করণ লেখাটি লিখে রাখুন, প্যাকেজ ম্যানেজার কী ইনস্টল আছে তার ধারণা থেকে নয়। এই দুটি প্রত্যাশার চেয়ে বেশি বার মিলে না।
ইনস্টলারের নিজের ছাদ আছে
যে কম্পোনেন্ট সক্রিয়করণের মালিক, সেটি ইঞ্জিন বাইনারি নয় বরং NetworkManager প্লাগইন হতে পারে, এবং কোনও টানেল তৈরির আগেই সে নিজের সীমা আরোপ করতে পারে। তার এডিটর এমন ফিল্ড দেখাতে পারে যা চলমান ইঞ্জিন কখনও পড়ে না, বা এমন ফিল্ড পড়তে পারে যা এডিটর দেখায় না। দুটি পরিস্থিতিই বাইরে থেকে ক্লায়েন্ট বাগের মতো দেখায়। কোনওটিই প্রোফাইল সম্পাদনা করে সারায় না।
কী কনফিগার হয়েছে নয়, কী পৌঁছেছে তা গুনুন। ip route show dev tun0 কমান্ডটি ইনস্টল করা রুটগুলির তালিকা দেয়, এবং সেই সংখ্যাটি পাঠানো তালিকার সাথে মিলিয়ে দেখা ফেলে দেওয়া রুটকে কখনও না পাঠানো রুট থেকে আলাদা করে। পাঠানোর সাথে মেলা সংখ্যা সন্দেহকে সার্ভারের দিকে ফিরিয়ে দেয়।
বড় সংখ্যা জোর করতে ইঞ্জিন বাইনারির চারপাশে একটি শেল মোড়ক আপগ্রেডকে অস্পষ্ট করে এবং রোলব্যাককে অনুমানে পরিণত করে। এটি পরবর্তীতে কনফিগারেশন পড়ে এমন সবার কাছ থেকে আসল সীমাটিও লুকায়।
সার্ভার ঠিক করে আপনাকে কী প্রস্তাব দেওয়া হয়েছিল
প্রতি ক্লায়েন্টের নীতি পাঠানোর আগেই তালিকা ছোট করতে পারে। ক্লায়েন্ট-নির্দিষ্ট ফাইল একটি পরিচয়ের জন্য রুট যোগ করতে পারে, বা গ্রুপ নীতি সেগুলি বাদ দিতে পারে, আর ক্লায়েন্ট ফিল্টার করা রুটকে কখনও সংজ্ঞায়িত না হওয়া রুট থেকে আলাদা করতে পারে না। এই অস্পষ্টতাই সার্ভার রেকর্ডকে গুরুত্বপূর্ণ করে তোলে। সেই পরিচয়ের কার্যকর পাঠানোর তালিকা চান, টেমপ্লেট নয়।
সার্ভার রেকর্ডের সাথে প্রাপ্ত তালিকা মিলিয়ে দেখুন। তাদের মধ্যে ফাঁকটাই নীতি স্তর, এবং এটি সাধারণত প্রোফাইল যা ইঙ্গিত দেয় তার চেয়ে ছোট।
নকশা যখন অনুমতি দেয়, সংলগ্ন নেটওয়ার্কগুলি সংক্ষেপ করুন এবং অপ্রচলিত এন্ট্রি মুছুন। কম কিন্তু বড় রুট বেশি ছাদের চেয়ে বেশি ক্ষেত্রে সমাধান দেয়।
সঠিক জায়গায় সংখ্যাটি বদলান
যে কম্পোনেন্ট সত্যিই সীমার মালিক তার নথিভুক্ত সেটিং ব্যবহার করুন। প্লাগইনে ফিল্ডটি না থাকলে দেখুন প্লাগইনটি বৈশিষ্ট্যের আগের কি না বা অন্য কোনও পটভূমি ব্যবস্থা রুটগুলির মালিক কি না। তারপর আপনি যে মান বেছেছেন তার পাশে ইঞ্জিন, প্লাগইন ও সার্ভারের সংস্করণ নথিভুক্ত করুন। পরের আপগ্রেড প্রশ্নটি আবার খোলে, আর নোটটিই এটিকে উত্তরযোগ্য করে।
তিনটির যেকোনওটির যেকোনও আপগ্রেডের পরে আবার পরীক্ষা করুন। সঠিক জায়গায় বাড়ানো সীমাও সরে যায় যখন তা প্রয়োগকারী কম্পোনেন্ট বদলায়। সংস্করণ রেকর্ডই একমাত্র জিনিস যা সেই সরাকে পূর্বানুমেয় করে।