একই প্রোফাইল টার্মিনাল থেকে চালু করুন, দেখবেন বেশিরভাগ মানুষ যে বার্তাটি কপি করে সেটি একটি সতর্কবার্তা, ক্লায়েন্ট থেমে যাওয়ার কারণ নয়। এখানে তিনটি স্বতন্ত্র স্তর ব্যর্থ হয়: Linux বিল্ড যে প্রেরিত নির্দেশ বাস্তবায়ন করে না, tun ডিভাইস তৈরি করার জন্য প্রয়োজনীয় অধিকার, এবং যে রিজলভার সহায়ক সংযোগকে কার্যকর DNS-এ রূপান্তরিত করে। ক্রমানুসারে এগুলো সামলান, কারণ প্রতিটি পরেরটিকে লুকাতে পারে।

ডাউনলোডটি যেমন এসেছে তেমন রাখুন এবং একটি অনুলিপি সম্পাদনা করুন, যাতে নতুন ডাউনলোড আপনার পরিবর্তনগুলো নিঃশব্দে ফিরিয়ে না নেয়।

দোষ দেওয়ার আগে সতর্কবার্তাটি পড়ুন

block-outside-dns Windows-এ Windows ফিল্টারিং প্ল্যাটফর্মের মাধ্যমে DNS লক করে, আর Linux ক্লায়েন্টের কাছে এটি মেলানোর কিছু নেই। সার্ভার এটি প্রেরণ করলে ক্লায়েন্ট ওই প্রেরিত এন্ট্রির জন্য অচেনা-বিকল্প লাইন ছাপিয়ে চালিয়ে যায়, কারণ প্রেরিত বিকল্পকে মারাত্মক ধরা হয় না। আপনার নিজের ফাইলে একই লাইন ভিন্ন বিষয়: সেখানে পার্সার থেমে যায়। কিছু স্পর্শ করার আগে নির্ধারণ করুন আপনার কাছে দুটির মধ্যে কোনটি আছে, কারণ এদের মধ্যে কেবল একটি চালনা শেষ করে।

শব্দ দূর করতে পার্স করার আগে ফিল্টার করুন: ওই নামের জন্য একটি pull-filter ignore এন্ট্রি, অথবা লাইনটি স্থানীয় ফাইলে থাকলে --ignore-unknown-option। দুটোই এমন একটি লাইন চুপ করায় যা আপনি ইতিমধ্যে পড়েছেন; কোনোটিই আপনার নির্ণয় না করা ত্রুটি সারায় না।

অন্য সবকিছুর আগে সুবিধাই ব্যর্থ হয়

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

TLS ত্রুটি মানে ক্লায়েন্ট এই স্তরটি পার হয়েছে। ডিভাইস বা রুটের অভিযোগ মানে এটি উপরের স্তরে কখনও পৌঁছায়নি।

GUI যা করে কিন্তু টার্মিনাল করে না

প্রতিটি লুকআপ এখনও ব্যর্থ হওয়া সত্ত্বেও সফলভাবে সংযোগ করা হলো তৃতীয় স্তর। NetworkManager নিজেই রিজলভারের কাজ করে, তাই ডেস্কটপ আমদানি DNS দিতে পারে এমনকি যখন প্রোফাইলের up স্ক্রিপ্ট কখনও সফলভাবে চলে না। কমান্ড-লাইন openvpn --config যা --up নাম দেয় তা চালায়, আর সেই সহায়কটি অনুপস্থিত থাকলে ইন্টারফেস দেখা যায় অথচ লুকআপগুলো আগের সার্ভারেই যেতে থাকে। কিছু ইনস্টল করার আগে দুই পথের স্ক্রিপ্ট তুলনা করুন।

আপনার ডিস্ট্রিবিউশনের জন্য প্যাকেজকৃত সহায়ক ব্যবহার করুন; ব্লগ পোস্ট থেকে কপি করা স্ক্রিপ্ট সাধারণত অন্য রিজলভার লক্ষ্য করে। systemd-resolved-এর জন্য দেওয়া ইন্টিগ্রেশনটি সাধারণ vpnc-ধাঁচের স্ক্রিপ্ট নয়, এবং প্রত্যেকে ক্লায়েন্ট থেকে নিজস্ব আর্গুমেন্ট ও চলক প্রত্যাশা করে। ব্যবহারকারী-সংজ্ঞায়িত up স্ক্রিপ্টগুলোর জন্যও ক্লায়েন্ট সেগুলো আদৌ চালানোর আগে script-security 2 প্রয়োজন।

পরের বার চালানোর সময় স্তরগুলো আলাদা করুন

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

প্রত্যেক অপারেটর সমন্বয় আরেকটি প্রত্যাখ্যাত লাইন তৈরি করলেই বোঝা যায় ফাইলটি অন্য প্ল্যাটফর্মের উদ্দেশ্যে। স্থায়ী ফিল্টার তালিকা বানানোর বদলে Linux এক্সপোর্ট চান।

কোন স্তর ব্যর্থ হলো এবং কী সেটি বদলাল তা টুকে রাখুন, নইলে একই ফাইল পাওয়া পরের ব্যক্তিও সতর্কবার্তায় থেমে যাবে।

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