আপনার মনে থাকা লগ কমান্ড দিয়ে নয়, বরং যে systemd ইউনিট আসলে VPN সংযোগটির মালিক তা দিয়ে শুরু করুন। সরাসরি OpenVPN সার্ভিস, একটি wg-quick ইউনিট এবং একটি NetworkManager প্রোফাইল তাদের দরকারি বার্তাগুলো ভিন্ন ইউনিটে রাখে, আর ভুল ইউনিটে চালানো কোয়েরি নীরবতার মতো দেখানো একটি খালি ফলাফল দেয়। তিনটি সাধারণ মালিকের তুলনা করুন, জানালা সংকুচিত করুন, তারপর ধাপগুলো ক্রমানুসারে পড়ুন।

তিনটি সাধারণ মালিকের তুলনা করুন

একটি OpenVPN ক্লায়েন্ট সার্ভিস সাধারণত প্রোফাইলের নামে রাখা একটি ইনস্ট্যান্স ইউনিট, যেমন [email protected]। এর বার্তায় কনফিগারেশন পাথ, অপশন পার্সিং, TLS হ্যান্ডশেক এবং ক্লায়েন্ট যে রুট ইনস্টলেশন করে তা অন্তর্ভুক্ত থাকে।

একটি wg-quick ইউনিট নকশাগতভাবেই বেশি চুপচাপ। ইন্টারফেস কনফিগারেশন শুরুতে হয়, হ্যান্ডশেক কার্নেল সামলায়, আর নিয়মিত কি পুনর্নবীকরণ ডিফল্টভাবে লগ হয় না, তাই wg show প্রায়ই জার্নালের চেয়ে বেশি তথ্য দেয়। এই পার্থক্যটি তখন গুরুত্বপূর্ণ যখন আপনি দরকষাকষি লগ করে এমন প্রোটোকলের সঙ্গে না-করা প্রোটোকলের তুলনা করেন।

NetworkManager তার তৈরি করা প্রোফাইলের মালিক, এবং ভেতরের প্লাগইন VPN হেল্পার হলেও এর বার্তাগুলো NetworkManager.service-এর অধীনে থাকে। প্রোফাইল এভাবে ব্যবস্থাপিত হলে ম্যানেজার ও হেল্পার ইউনিট দুটোই কোয়েরি করুন।

কোয়েরিটি এক ইউনিট ও এক জানালায় সংকুচিত করুন

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

journalctl -u [email protected] --since today
systemctl list-units --type=service | grep -i vpn
systemctl cat [email protected]

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

প্রথম ব্যর্থ ধাপটি পড়ুন

ঘটনাগুলো যে ক্রমে ঘটে সেই ক্রমে পড়ুন: এন্ডপয়েন্ট অনুসন্ধান, ট্রান্সপোর্ট, পরিচয়, প্রমাণীকরণ, রুট ইনস্টলেশন এবং অ্যাপ্লিকেশনের পরবর্তী ব্যর্থতা। প্রথম নির্দিষ্ট ব্যর্থতাটিই তদন্তযোগ্য, কারণ এর পরের সবকিছু তার পরিণতি।

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

ব্যর্থ সার্ভিসকে হাতে চালানো ক্লায়েন্টের সঙ্গে মেশাবেন না

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

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

এক্সপোর্ট নয়, উদ্ধৃতাংশ শেয়ার করুন

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

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

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