স্লিপের পরে VPN মৃত: টানেল হারিয়েছে নাকি পুরোনো অ্যাপ?
Wi-Fi সংযোগ ফিরে এলেও টানেল ফেরেনি। জেগে ওঠার পরে তিনটি অবস্থা মিলিয়ে দেখুন: ইন্টারফেস, অ্যাক্টিভেশন এবং অ্যাপের সেশন।
ঢাকনা খোলে, বেতার আইকন ফিরে আসে, আর VPN এখনও সংযুক্ত দেখায়। এরপর প্রথম অভ্যন্তরীণ পাতাটি সময় শেষ হওয়া পর্যন্ত ঝুলে থাকে, আর নতুন ট্যাবও একই কাজ করে। তিনটি ভিন্ন জিনিস এই ছবি তৈরি করতে পারে, আর তাদের তিনটি ভিন্ন সমাধান দরকার: এমন টানেল যা ঘুম থেকে টিকে যায়নি, এমন প্রোফাইল যা কেউ আবার সক্রিয় করতে বলেনি, বা এমন অ্যাপ যা কয়েক ঘণ্টা আগে মৃত একটি সেশন ধরে রেখেছে। সেগুলো মিলিয়ে দেখা যেকোনো কিছু পুনরায় ইনস্টল করার চেয়ে দ্রুত।
জেগে ওঠার পরে তিনটি জিনিস নষ্ট হতে পারে
প্রথম প্রার্থী টানেল নিজেই। পিয়ার সংযোগ চলে গেলেও ইন্টারফেস একটি ঠিকানা নিয়ে থাকতে পারে, তাই ইন্ডিকেটর আলো কাজ করা পথের প্রমাণ নয়। ঘুমের চেয়ে পুরোনো হ্যান্ডশেকই লক্ষণ, আর তা দেখতে একটি কমান্ডই যথেষ্ট।
দ্বিতীয়টি অ্যাক্টিভেশন। অনেক ক্লায়েন্ট নিজে থেকেই আবার সংযোগ করে; কিছু করে না, আর যে প্রোফাইলকে ফিরে আসতে বলা হয় না সেটি সেখানে কনফিগার করা দেখিয়ে বসে থাকে। এই ব্যর্থতা ডিজাইন অনুযায়ী নীরব, কারণ কিছুই ত্রুটি দেয়নি।
তৃতীয়টি অ্যাপ। ব্রাউজার ট্যাব, SSH সেশন বা ডেটাবেস সংযোগ নেটওয়ার্ক পরিবর্তনের পরে ফাইল ডেসক্রিপ্টর হিসেবে টিকে থাকতে পারে, অথচ নিচের পরিবহন মৃত। তারপর নতুন সেশন নিখুঁতভাবে কাজ করে, যা আপনাকে বলে টানেল শুরু থেকেই ঠিক ছিল।
কিছু বদলানোর আগে তিনটি মিলিয়ে দেখুন, কারণ সমাধানগুলো ওভারল্যাপ করে না। যে ক্লায়েন্টকে কখনও আবার চালু করতে বলা হয়নি তাকে রিস্টার্ট করা আপনার দরকারি প্রমাণ নষ্ট করে। কনফিগারেশন স্পর্শ করার আগে লিখে রাখুন উপসর্গ কোন প্রার্থীর সঙ্গে মেলে। সেই একটি বাক্য সাধারণত বাকি তদন্তের সিদ্ধান্ত দেয়।
প্রথমে: টানেল কি ফিরেছে?
ক্লায়েন্টের নিজের স্ট্যাটাস লেখার বদলে ইন্টারফেস ও পিয়ার অবস্থা দেখুন। ঠিকানা আছে কিন্তু সাম্প্রতিক হ্যান্ডশেক নেই এমন ইন্টারফেস কেবল নামেই চালু টানেল।
ip -brief addr show wg show ip route show table all | head -20
ইন্টারফেস পুরোপুরি না থাকলে টানেল টিকেনি, আর প্রশ্ন হয় কে এটিকে ফিরিয়ে আনার কথা ছিল। এটি থাকলেও হ্যান্ডশেক পুরোনো হলে পিয়ার সম্পর্ক পুনঃস্থাপন করতে হবে, আর ক্লায়েন্ট ট্র্যাফিকের অপেক্ষায় থাকতে পারে যা এটি চালু করবে।
রুট আর DNS কনফিগারেশনও দেখুন। টানেল তার রুট ছাড়াই ফিরতে পারে, যা বিভ্রান্তিকর অবস্থা তৈরি করে যেখানে ইন্টারফেস চালু আর অভ্যন্তরীণ নামগুলো এখনও ভুল সার্ভার দিয়ে সমাধান হয়।
দ্বিতীয়ত: কিছু কি এটিকে ফিরে আসতে বলেছিল?
এখানেই তুলনাটি নিজের মূল্য অর্জন করে। একটি OpenVPN প্লাগইন প্রোফাইল ও একটি নেটিভ WireGuard সংযোগ NetworkManager ভিন্নভাবে সামলায়, এবং সংযোগ সেটিংসের রেফারেন্স স্পষ্ট করে যে connection.autoconnect VPN প্রোফাইল সক্রিয় করে না; সংযোগের সঙ্গে VPN তোলার প্রক্রিয়া হলো connection.secondaries।
nmcli connection show --active nmcli -f connection.autoconnect,connection.secondaries connection show "Work VPN" journalctl -u NetworkManager -b --no-pager | tail -40
প্রতিবারই যদি হাতে আবার সংযোগ করলে সমস্যা ঠিক হয়ে যায়, তবে এটি ভাঙা টানেল নয় বরং অনুপস্থিত অ্যাক্টিভেশনের চিহ্ন। লগ সাধারণত দেখাবে ইন্টারফেস নেমে যাচ্ছে আর কিছুই সেটিকে ফিরিয়ে আনছে না।
সঙ্গে সঙ্গে স্লিপ হুক যোগ করার ইচ্ছা প্রতিরোধ করুন। নেটওয়ার্ক সেরে ওঠার আগে যে হুক চলে সেটি যে প্রক্রিয়াকে সাহায্য করতে চায় তার সঙ্গেই প্রতিযোগিতা করে, আর পুনরুৎপাদনযোগ্য সমস্যাকে মাঝে মাঝে হওয়া সমস্যায় পরিণত করে।
তৃতীয়ত: অ্যাপ কি পুরোনো অবস্থা ধরে আছে?
VPN স্পর্শ করার আগে একই গন্তব্যে একেবারে নতুন সেশন খুলুন। নতুন সেশন কাজ করলে আর পুরোনোটি না করলে টানেল ঠিক আছে এবং অ্যাপটি একটি মৃত সংযোগ ধরে আছে।
এটি তিনটি পরীক্ষার মধ্যে সবচেয়ে সস্তা এবং সবচেয়ে বেশি বাদ পড়া, কারণ ব্যর্থতার উইন্ডোটি ঠিক পর্দায় সামনে। এটি বন্ধ করুন, আবার খুলুন, আর সমস্যাটি টিকে থাকে কি না লক্ষ্য করুন। নতুন সেশন কাজ করলে টানেলের তদন্ত পুরোপুরি থামান। এটিও ব্যর্থ হলে অ্যাপটি কারণ নয়, উপসর্গ।
কিছু অ্যাপ সময় শেষ হলে নিজে থেকেই সেরে যায়, তাই কয়েক মিনিট পরে উপসর্গটি নিজেই ঠিক হয়ে গেছে বলে মনে হতে পারে। এই আচরণ টানেলের দিকে নয়, অ্যাপের দিকে ইঙ্গিত করে, আর আলাদাভাবে লিখে রাখা উচিত। যে সহকর্মী বলেন এটি নিজেই ঠিক হয়ে গেছে, তিনি এই ধাঁচটির বর্ণনা দিচ্ছেন, কোনো সৌভাগ্য নয়।
তুলনাটি পুনরুৎপাদনযোগ্য করুন
চলকগুলো ছোট রাখুন: একটি অ্যাক্সেস নেটওয়ার্ক, একই স্লিপ সময়কাল এবং প্রতিবার একই প্রথম অনুরোধ। তারপর দুটি ফল লিখুন: হাতে আবার সংযোগ করলে সেটি ঠিক হয় কি না, আর আরেকবার ঘুম ব্যর্থতাটি ফিরিয়ে আনে কি না।
শেষ পর্যবেক্ষণটিই তিন প্রার্থীকে সবচেয়ে নির্ভরযোগ্যভাবে আলাদা করে। ব্যর্থ পুরোনো সেশনের পরে কাজ করা নতুন সেশন টানেলের সমস্যা নয়, আর ক্লায়েন্ট পুনরায় ইনস্টল করে তা বদলাবে না।
WireGuard-এর স্থায়ী keepalive এই ছবিতে শুধু NAT ম্যাপিং keepalive হিসেবে আসে। এটি ম্যাপিং খোলা রাখতে প্যাকেট পাঠায়; মেশিনকে ঘুমাতে বাধা দেয় না এবং প্রক্রিয়া স্থগিত থাকলে পাঠাতে থাকে না।
টিকিটে লিখুন কী পেয়েছেন: তিনটির কোনটি নষ্ট ছিল, কী সেটি ঠিক করেছে এবং কীভাবে পুনরুৎপাদন করলেন। সোমবার ঢাকনা খোলা পরের ব্যক্তি আপনাকে ধন্যবাদ দেবেন, আর উত্তরটি শূন্য থেকে আবার খুঁজতে হবে না।