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

চারটি স্তর ক্রমানুসারে দেখুন

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

কিছু স্পর্শ করার আগে উপসর্গটিকে একটি স্তরের সঙ্গে মেলান। যে ক্লায়েন্ট শুরু হয় না তা সার্ভিসের দিকে ইঙ্গিত করে; যে শুরু হয় কিন্তু কখনো দর-কষাকষি করে না তা পোর্টের দিকে; যে সংযোগ করে যখন অন্যটি সব সংযোগ হারায় তা ফিল্টার বা ডিফল্ট রুটের দিকে ইঙ্গিত করে। এই মিলটি লিখে রাখুন, কারণ এটি আশায় অ্যাপ্লিকেশন পুনরায় ইনস্টল করার এক ঘণ্টা বাঁচায়।

যে সার্ভিস দুবার চলে না সেখান থেকে শুরু করুন

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

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

তারপর জিজ্ঞাসা করুন পোর্টের মালিক কে

পোর্টের মালিকানা হলো সবচেয়ে স্পষ্ট প্রমাণ যা আপনি পাবেন, কারণ বাইন্ড ব্যর্থতা দ্বন্দ্বের নাম সরাসরি বলে দেয়। দুটি IKE বাস্তবায়ন একই স্থানীয় ঠিকানা ও UDP পোর্টে একসঙ্গে উত্তর দিতে পারে না, এবং যতবার পুনরায় চেষ্টা করুন তা বদলায় না।

Get-NetUDPEndpoint -LocalPort 500,4500 | Select-Object LocalAddress,LocalPort,OwningProcess
netstat -ano | findstr :500
sudo lsof -nP -iUDP:500
ss -lunp | grep -E ':500|:4500'

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

ফিল্টার ড্রাইভার আপনার রুটের নিচে বসে

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

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

কোন পণ্য বুটের মালিক তা ঠিক করুন, তারপর তা লিখে রাখুন

সহাবস্থান কেবল তখনই বাস্তবসম্মত যখন দুটি ক্লায়েন্ট নকশা অনুযায়ী ভিন্ন স্তরে থাকে, যেমন একটি IPsec স্ট্যাক এমন প্রক্সির পাশে যা কেবল অ্যাপ্লিকেশন ট্রাফিক সামলায়। যেখানে দুটোই একই পোর্ট, একই ফিল্টার স্তর বা ডিফল্ট রুট প্রকাশের অধিকার চায়, সেখানে তারা পালাক্রমে চলতে থাকবে এবং প্রতিটি ব্যর্থতা নতুন ত্রুটির মতো দেখাবে।

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

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