Cron প্রতি দশ মিনিটে একটি সম্পূর্ণ সুস্থ VPN পুনরায় চালু করে, আর একই কাজ একটি মৃত VPN-কে এক সপ্তাহ ধরে চালু রাখে। দুটি ব্যর্থতাই আসে «চালু» কে একটি মাত্র তথ্য ধরে নেওয়া থেকে, অথচ তা কমপক্ষে চারটি। একটি ডিভাইস প্রশাসনিকভাবে সক্রিয়, সঠিকভাবে রুট করা, সম্পূর্ণ এনক্রিপ্টেড হয়েও কিছুই কাজের বহন করতে পারে না। আগে পর্যবেক্ষণগুলো আলাদা করুন, যাচাই প্রায় নিজেই লেখা হয়ে যাবে।

লিংক ফ্ল্যাগ পথ নয়, ডিভাইস বর্ণনা করে

সবাই যে যাচাইটি কপি করে, তা সব শূন্য নিয়ে গঠিত একটি হার্ডওয়্যার ঠিকানা খোঁজে। এই কৌশল কিছু ড্রাইভারে আসল ইন্টারফেসকে প্লেসহোল্ডার থেকে আলাদা করে, বাকিগুলোতে কিছুই প্রমাণ করে না, কারণ tun ডিভাইসের তো MAC-ই নেই যা রিপোর্ট করা যায়। ip -brief link show tun0 এর বদলে ফ্ল্যাগ দেয়: UP বোঝায় একজন প্রশাসক ডিভাইসটি সক্রিয় করেছেন, এবং LOWER_UP বোঝায় ড্রাইভার লিংকটিকে ব্যবহারযোগ্য মনে করে। একসাথে পড়লে তারা বলে ডিভাইসটি আছে এবং প্রশাসনিকভাবে বন্ধ নেই। তাদের কোনোটিই বলে না যে প্যাকেটের যাওয়ার জায়গা আছে।

OpenVPN রুট বসানোর আগেই তার tun ডিভাইস তৈরি করে, তাই ফ্ল্যাগ নিখুঁত দেখাতে পারে অথচ কিছুই রুট করা নেই। এগুলোকে পূর্বশর্ত হিসেবে ধরুন, কখনও উত্তর হিসেবে নয়।

জিজ্ঞেস করুন প্যাকেট কোথায় যাবে

রুট অনুসন্ধান সেই প্রশ্নের উত্তর দেয় যা ফ্ল্যাগ দিতে পারে না। ip route get 10.8.0.1 from 10.8.0.2 ইন্টারফেস, উৎস ঠিকানা এবং কার্নেল যে টেবিল ব্যবহার করবে তা নাম দেয়, আর স্প্লিট টানেলের ঠিক এটির বিরুদ্ধেই যাচাই করা দরকার। উৎস ঠিকানা ছাড়া আপনি অন্য কিছু জিজ্ঞেস করছেন, আর পলিসি রাউটিংয়ে উত্তর উৎস অনুযায়ী আলাদা হতে পারে। এটি সবচেয়ে সস্তা সৎ পরীক্ষা, কারণ এটি আপনার ট্রাফিক যে নিয়ম ব্যবহার করবে সেই একই নিয়মের সাথে পরামর্শ করে।

WireGuard-এর জন্য হ্যান্ডশেক যোগ করুন। wg show প্রতিটি পিয়ারের জন্য সর্বশেষ হ্যান্ডশেকের সময়-স্ট্যাম্প ছাপে, আর যে স্ট্যাম্প আর এগোচ্ছে না তা বোঝায় পিয়ার চলে গেছে, ইন্টারফেস ফ্ল্যাগ যা-ই বলুক। সাম্প্রতিক হ্যান্ডশেক ছাড়া কনফিগার করা ইন্টারফেস নিজে বানানো মনিটরিংয়ে সবচেয়ে সাধারণ ভুল পজিটিভগুলোর একটি।

টেবিল 220 IPsec-এর গল্প বলে

strongSwan রুট ইনস্টলেশন চালু থাকলে সমঝোতা করা সিলেক্টরগুলোর জন্য টেবিল 220-এ রুট ইনস্টল করে। ip route list table 220 তাই সমঝোতাকে রুট করা থেকে আলাদা করে: লোড করা সংযোগের পাশে খালি টেবিল বোঝায় IKE ও CHILD SA উঠেছে কিন্তু তাদের দিকে কোনো ট্রাফিক পাঠানো হচ্ছে না। যাচাই করুন ip xfrm state এর সাথে, কারণ এটি ইনস্টল করা সিকিউরিটি অ্যাসোসিয়েশন ও তাদের এন্ডপয়েন্ট তালিকাভুক্ত করে।

ট্র্যাপ পলিসি হলো যে ঘটনাটি নজরে রাখতে হবে। এটি রুট করার বদলে আগ্রহী ট্রাফিকের অপেক্ষা করে, তাই কিছু টানেল চালু না করা পর্যন্ত টেবিল খালি থাকে।

ম্যানেজার স্টেট আর ডেমন স্টেট আলাদা তালিকা

NetworkManager কেবল তার মালিকানাধীন সংযোগগুলো তালিকাভুক্ত করে। nmcli -t -f NAME,TYPE connection show --active সরাসরি wg-quick বা OpenVPN ডেমন দিয়ে চালু করা টানেলের জন্য কিছুই ফেরত দেয় না।

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

পরবর্তী ধাপকে তার প্রয়োজনীয় যাচাইয়ের উপর নির্ভরশীল করুন

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

ক্লায়েন্ট হুক দিলে হুক-ই পোলিংয়ের চেয়ে ভালো। OpenVPN-এর --up এবং --down স্ক্রিপ্ট ইন্টারফেসের অবস্থা বদলানোর পরে চলে, যা রেস সম্পূর্ণ দূর করে, কিন্তু তারা ডেমন যে বিশেষাধিকার রেখেছে তা নিয়েই চলে। OpenVPN যদি user এবং group এর মাধ্যমে অ-বিশেষাধিকারী অ্যাকাউন্টে নেমে যায়, হুকটি সেই অ্যাকাউন্ট হিসেবে চলে। তখন একটি সিস্টেম সার্ভিস পুনরায় চালু করতে sudo দিয়ে ঠিক সেই কমান্ডটির অনুমতি দিতে হয়। পুনঃচেষ্টা cron লুপের বদলে সার্ভিস ম্যানেজারের হাতে দিন: শুরুর সীমাসহ সীমিত রিস্টার্ট নীতি একটি ভাঙা টানেল প্রকাশ করে, আর অসীম লুপ তা অনির্দিষ্টকাল লুকিয়ে রাখে।

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