আমদানি করা VPN রুট কার্যকর ক্লায়েন্টের থেকে আলাদা? দুটোই তুলনা করুন
সংরক্ষিত NetworkManager প্রোফাইল আর প্রকৃতপক্ষে ইনস্টল করা রুট দুটি আলাদা জিনিস। কিছু বদলানোর আগে ব্যক্তিগত ও পাবলিক গন্তব্য তুলনা করুন।
কিছু ব্যক্তিগত সেবা VPN দিয়ে উত্তর দেয়, অথচ সাধারণ ইন্টারনেট ট্র্যাফিক সহকর্মীর মেশিনের মতো একেবারেই আচরণ করে না, আর মনে হয় Ubuntu ক্লায়েন্টটি নষ্ট। এই সিদ্ধান্তটি একটি ধাপ বাদ দেয়। কাজ করা ব্যক্তিগত অপারেশন আর ভিন্ন পাবলিক পথ দুটি পর্যবেক্ষণ, আর পার্থক্যটি সাধারণত ক্লায়েন্টের ভেতরে নয়, বরং প্রতিটি ক্লায়েন্ট যে ট্র্যাফিক নীতি ইনস্টল করেছে সেখানে থাকে।
সংরক্ষিত কনফিগারেশনের সঙ্গে প্রকৃত নেটওয়ার্ক অবস্থার তুলনা করতে তিনটি কমান্ড লাগে এবং অনুমানেরা যে প্রশ্নের উত্তর দিতে চাইছিল তার উত্তর দেয়।
আগে সংরক্ষিত প্রোফাইল, পরে প্রকৃত অবস্থা
আমদানি করা OpenVPN সংযোগ নিজস্ব একটি NetworkManager প্রোফাইল হয়ে যায়। যে .ovpn ফাইল থেকে এটি এসেছে, আমদানি শেষ হওয়ার মুহূর্তেই সেটি সত্যের উৎস থাকা বন্ধ করে, তাই পরে সেই ফাইল সম্পাদনা করলে আপনি যে সংযোগ ব্যবহার করছেন তাতে কিছুই বদলায় না। তুলনাটি প্রথম যেখানে ভুল হয়ে যায় সেটি এখানেই, আর এটি নীরবে ভুল হয়।
nmcli -f connection.id,connection.uuid,ipv4.never-default,ipv4.routes,ipv4.dns connection show office-vpn
নাম সংঘর্ষ হলে UUID পড়ুন; নকল নাম পুনরায় ইনস্টল ও প্রোফাইল পুনরুদ্ধারের পরেও টিকে থাকে, আর আপনি ব্যবহারে না থাকা কপিটি সম্পাদনা করে ঘণ্টা খরচ করতে পারেন। যে মানগুলি দেখছেন সেগুলি সংরক্ষিত উদ্দেশ্য বর্ণনা করে: প্রোফাইলটি ডিফল্ট রুট নিতে পারে কি না, কোন রুট সংরক্ষিত হয়েছে, এবং কোন রিজলভার ও সার্চ ডোমেইন চায়। সেগুলি সংযোগ সক্রিয় হওয়ার সময় কী ঘটেছে তা বর্ণনা করে না, কারণ একটি প্লাগইন বা সার্ভার পুশ এমন অবস্থা যোগ করতে পারে যা প্রোফাইলে উল্লেখ নেই। সে কারণেই পরের কমান্ডটি গুরুত্বপূর্ণ।
তারপর দেখুন সিস্টেমটি সেই উদ্দেশ্য নিয়ে প্রকৃতপক্ষে কী করেছে, নীতি নিয়ম এবং কেবল প্রধান টেবিল নয়, প্রতিটি টেবিল সহ। সংরক্ষিত বৈশিষ্ট্য হল ইনপুট, আর ইনস্টল করা টেবিলগুলি ফলাফল।
ip -4 rule show
ip -4 route show table all
দুটি গন্তব্য, একটি তুলনা
একটি কাজ করা ব্যক্তিগত গন্তব্য আর একটি সাধারণ পাবলিক গন্তব্য বাছুন, তারপর কার্নেলকে জিজ্ঞাসা করুন কোনটি কোন পথ নেবে। দুই মেশিনেই এটি করাই অস্পষ্ট পার্থক্যকে নির্দিষ্ট পার্থক্যে বদলে দেয়।
ip -4 route get 10.40.0.20
ip -4 route get 203.0.113.20
ঠিকানাগুলি নমুনা, নিজের ঠিকানা দিয়ে বদলে নিন; মূল কথা জোড়াটি, সংখ্যাগুলি নয়। প্রতিটি আউটপুটে উল্লেখ করা ইন্টারফেস, সোর্স ঠিকানা ও টেবিল তুলনা করুন। যখন ব্যক্তিগত লুকআপ টানেলের নাম বলে আর পাবলিক লুকআপও টানেলের নাম বলে, তখন আপনার পূর্ণ টানেল আছে এবং অন্য ক্লায়েন্টের বিভক্ত টানেল থাকতে পারে, বা উল্টোটা।
দুটি ক্লায়েন্টকে হুবহু একই লেখা ছাপতে বাধ্য করবেন না। OpenVPN-এ redirect-gateway def1 সাধারণত একটি ডিফল্টের বদলে দুটি অর্ধ-প্রিফিক্স রুট হিসেবে প্রকাশ করা হয়, আর যে ম্যানেজার সেগুলি ভিন্নভাবে দেখায় সে কারণে ভুল নয়। ফরম্যাটিং নয়, লুকআপগুলি যে কভারেজ দেখায় তা বিচার করুন।
যেখানে দুটি ক্লায়েন্ট বৈধভাবে আলাদা
ক্লায়েন্টের ডিফল্টগুলি নীতি-পছন্দ, এবং সেগুলি পরস্পরবিরোধী হতে পারে। একটি পণ্য পূর্ণ টানেল পছন্দ করতে পারে, আরেকটি স্থানীয় ডিফল্ট রেখে কেবল ব্যক্তিগত প্রিফিক্স রুট করতে পারে, আর তৃতীয়টি সার্ভার যা পুশ করেছে তা অনুসরণ করতে পারে। পার্থক্য কেবল তখনই ত্রুটি যখন তা আপনাকে দেওয়া চাহিদার বিরোধিতা করে।
তাই প্রতিটি ক্লায়েন্টকে অনুমোদিত বিভক্ত বা পূর্ণ-টানেল উদ্দেশ্যের সঙ্গে তুলনা করুন, একে অপরের সঙ্গে নয়। যদি চাহিদা হয় যে ব্যক্তিগত ট্র্যাফিক টানেল ব্যবহার করবে আর স্থানীয় ইন্টারনেট পথ স্থানীয় থাকবে, তবে পূর্ণ টানেলটাই বাগ আর বিভক্ত টানেলই সঠিক, কোন ক্লায়েন্ট কী করেছে তা নির্বিশেষে। কোনও কনফিগারেশন দেখার আগে উদ্দেশ্যটি লিখে রাখুন, নইলে আপনি যে প্রথম ক্লায়েন্টটি দেখবেন সে নীরবে মানদণ্ড হয়ে যাবে।
DNS দ্বিতীয় অক্ষ এবং এটি স্বাধীনভাবে ব্যর্থ হয়। সঠিক রুটও এমন রিজলভারে কোয়েরি পাঠাতে পারে যা ব্যক্তিগত জোনের উত্তর দিতে পারে না, আর সঠিক রিজলভার ভুল রুট ঠিক করে না। দুটোই পরীক্ষা করুন, এবং ব্যক্তিগত নাম মীমাংসা হওয়া অথচ ব্যক্তিগত ঠিকানা না হওয়াকে এই প্রমাণ হিসেবে নিন যে দুই স্তর আলাদাভাবে সমাধান হচ্ছে।
তুলনাটি পরিচ্ছন্ন রাখুন
একবারে একটি সংযোগ-মালিক চালান। আমদানি করা প্রোফাইলের পাশে চলা কমান্ড-লাইন OpenVPN সেশন নিজের রুট ও নিজের রিজলভার অবস্থা ইনস্টল করে, আর যে মিশ্রণ তৈরি হয় তা কোনও ক্লায়েন্টের আচরণ নয়। অন্যটি মাপার আগে একটি বন্ধ করুন। কী এখনও অবস্থা ধরে আছে তা নিশ্চিত না হলে রিবুট করুন, কারণ এক ঘণ্টা আগের পুরনো রুট হুবহু নীতি-সমস্যার মতো দেখাবে।
বাকি সবও স্থির রাখুন: একই এন্ডপয়েন্ট, একই অ্যাকাউন্ট, একই সফটওয়্যার সংস্করণ, একই নেটওয়ার্ক। সহকর্মীর Windows ল্যাপটপে সাফল্য ভিন্ন ক্লায়েন্ট, ভিন্ন রিজলভার ইন্টিগ্রেশন এবং সম্ভবত ভিন্ন সার্ভার প্রোফাইল পরীক্ষা করে, তাই এটি Ubuntu ম্যানেজার সম্পর্কে প্রমাণ নয়।
NetworkManager-এর IPv4 সেটিংস রেফারেন্স never-default এবং সংরক্ষিত রুট বৈশিষ্ট্যগুলি নির্ভুলভাবে সংজ্ঞায়িত করে, যা কোনও পরিচালিত মান বদলানোর আগে পড়া উচিত। আর এই তুলনার পরিধি মনে রাখুন: এটি IPv4 কভার করে, এবং সংশ্লিষ্ট IPv6 নীতির বিষয়ে কিছুই বলে না, যার নিজস্ব ডিফল্ট আর আপনাকে অবাক করার নিজস্ব উপায় আছে।