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

কিছু লেখার আগে কোন মালিক দায়ী তা নির্ধারণ করুন।

তিন মালিক, একটি অনুপস্থিত প্রিফিক্স

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

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

চতুর্থ মালিক আপনি, পরে: একটি স্ক্রিপ্ট যা সংযোগের সময় রুট যোগ করে কিন্তু বিচ্ছিন্ন হওয়ার সময় এটি সরায় না। এটি এমন একটি প্রিফিক্স তৈরি করে যা টানেলের চেয়ে বেশি দিন বাঁচে, একটি মৃত ইন্টারফেসের দিকে ইঙ্গিত করে, এবং মেশিনটি ডিবাগ করতে আসা পরবর্তী ব্যক্তিকে বিভ্রান্ত করে।

কিছু যোগ করার আগে প্রোফাইলটি পড়ুন

সংরক্ষিত সংযোগের নিজস্ব বৈশিষ্ট্য দিয়ে শুরু করুন। গোপনীয়তা ফাঁস না করে সেগুলি পড়ুন, এবং প্রোফাইলের নাম অস্পষ্ট হলে UUID ব্যবহার করুন।

nmcli -f vpn.service-type,ipv4.never-default,ipv4.ignore-auto-routes,ipv4.route-table,ipv4.routes connection show office

vpn.service-type আপনাকে বলে কোন ব্যাকএন্ড সংযোগটির মালিক, এবং এটি গুরুত্বপূর্ণ কারণ প্লাগইন ডেটা ব্যাকএন্ড-নির্দিষ্ট। একটি প্লাগইন যে কী গ্রহণ করে তা অন্যটির জন্য সমর্থিত নির্দেশ নয়, তাই ভিন্ন ক্লায়েন্টের ডকুমেন্টেশন থেকে অনুলিপি করা একটি স্নিপেট কোনও কিছুর প্রমাণ নয়।

ipv4.ignore-auto-routes এবং ipv4.never-default ভিন্ন প্রশ্নের উত্তর দেয়। প্রথমটি এমন রুট প্রত্যাখ্যান করতে পারে যা সংযোগটি অন্যথায় স্বয়ংক্রিয়ভাবে গ্রহণ করত, এবং দ্বিতীয়টি নিয়ন্ত্রণ করে প্রোফাইলটি ডিফল্ট রুট হতে পারে কি না। যে প্রোফাইল স্বয়ংক্রিয় রুট উপেক্ষা করে এবং আর কিছুর উপর নির্ভর করে না, সেটি পরিষ্কারভাবে সংযুক্ত হবে এবং প্রায় কিছুই ইনস্টল করবে না।

ip -4 rule show
ip -4 route show table all

এই দুটি কমান্ড তৃতীয় সম্ভাবনাটি নিষ্পত্তি করে। কেবল main-এ নয়, প্রতিটি টেবিলে আপনার প্রিফিক্স খুঁজুন, এবং পরীক্ষা করুন কোনও নীতি নিয়ম প্রাসঙ্গিক লুকআপকে অন্য কোথাও পাঠায় কি না। যদি প্রিফিক্সটি অন্য টেবিলে থাকে এবং কিছুই এটি দেখে না, তাহলে আপনার অনুপস্থিত রুট নেই; আপনার আছে এমন একটি লুকআপ যা কখনও সেখানে পৌঁছায় না।

একটি স্ক্রিপ্ট যা ঠিক করতে পারে না

একটি সহায়ক স্ক্রিপ্ট যোগ করা NetworkManager-এর vpn.data-কে চালানোর জন্য একটি প্রোগ্রাম দেয়। এটি একটি বাস্তব ব্যবস্থা, এবং এই বেশিরভাগ ক্ষেত্রে এটি ভুল ব্যবস্থা, কারণ স্ক্রিপ্টটি নিয়ন্ত্রণ পায় প্রোফাইলের নিজস্ব নীতি ইতিমধ্যে কী গ্রহণ করবে তা সিদ্ধান্ত নেওয়ার পরে।

OpenVPN-এর script-security হল অন্য পুনরাবৃত্ত বিভ্রান্তি। এটি একটি OpenVPN সেটিং যা নিয়ন্ত্রণ করে ক্লায়েন্ট কোন স্ক্রিপ্ট চালাতে পারে এবং তাদের পরিবেশে কী রাখতে পারে; লেভেল 3 পরিবেশের মাধ্যমে শংসাপত্র পাস করার অনুমতি দেয়, যা রুটিং সমাধানের বদলে গোপনীয়তা পরিচালনার সিদ্ধান্ত। এমন প্রোফাইলে এটি আটকে দেওয়া যার ব্যাকএন্ড OpenVPN নয়, বা কোনও স্ক্রিপ্টের প্রয়োজন না থাকলেও এটি বাড়ানো, রুট না যোগ করেই এক্সপোজার যোগ করে।

তারপর আছে রিস্টার্টের প্রতিবর্ত। NetworkManager পরিষেবা পুনরায় চালু করা প্রতিটি পরিচালিত লিঙ্ক ভেঙে ফেলে এবং পুনর্নির্মাণ করে, যার মধ্যে আপনি যদি দূর থেকে কাজ করেন তবে যে লিঙ্ক দিয়ে সংযুক্ত আছেন সেটিও। এটি একটি বিঘ্নকারী কাজ, নিরীহ ডায়াগনস্টিক নয়, এবং একটি সার্ভারে এটি টিকে থাকা সেশন এবং না টেকার মধ্যে পার্থক্য হতে পারে।

সিদ্ধান্ত, ক্রম অনুসারে

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

কেবল যখন প্রথম উত্তর হ্যাঁ, দ্বিতীয়টি হ্যাঁ এবং তৃতীয়টি সঠিক, তখনই একটি সম্পূরক স্ক্রিপ্ট যুক্তিসঙ্গত হয়, এবং তখনও আপনার জিজ্ঞাসা করা উচিত ব্যাকএন্ডটি কি রুটটি নেটিভভাবে সমর্থন করে। VPN সেটিংস রেফারেন্স service-type এবং প্লাগইন-নির্দিষ্ট ডেটা অভিধান নথিভুক্ত করে, একটি কী আছে বলে ধরে নেওয়ার আগে এখান থেকেই শুরু করা উচিত।

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

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