এই পাবলিক VPN নোডটি আসলে কোন প্রোটোকল দেয়?
সার্ভার সফটওয়্যার একটি প্রোটোকল সমর্থন করলেই এই নোডটি তা চালু করেছে বলে ধরে নেওয়া যায় না। এন্ডপয়েন্ট, প্রোফাইল এবং যে ধাপটি সত্যিই ব্যর্থ হয় তা পরীক্ষা করুন।
সফটওয়্যারটি এটি সমর্থন করে, তাই নোডটি এটি দেয়। এই সিদ্ধান্তটি এত ঘন ঘন ভুল যে এটি একটি নিয়ম হয়ে দাঁড়ায়: একটি SoftEther ডিপ্লয়মেন্ট তার সামঞ্জস্যপূর্ণ সংযোগ পদ্ধতির যেকোনো উপসেট চালু করতে পারে, আর একটি পাবলিক নোড হল মালিক ও কনফিগারেশনসহ একটি ডিপ্লয়মেন্ট। আপনি কী দিয়ে সংযোগ করতে পারবেন তা নির্ভর করে সেই নোডের উপর, এটি যে প্রজেক্ট চালায় তার ফিচার তালিকার উপর নয়। এই দুইয়ের মধ্যবর্তী ফাঁকেই বেশিরভাগ “প্রোটোকলটি নষ্ট” টিকিট বাস করে।
প্রজেক্টের তালিকা আসলে কী প্রতিশ্রুতি দেয়
প্রজেক্টের প্রোটোকল ফাংশনগুলি বর্ণনা করে সার্ভারটি কী করতে সক্ষম। একটি নির্দিষ্ট নোড সেই লিসেনারগুলির কিছু চালু করে, সব নয়, এবং অপারেটর সফটওয়্যার সংস্করণ না ছুঁয়েই সেই সেট বদলাতে পারেন। তাই একই বিল্ডের দুইটি নোড আলাদাভাবে আচরণ করে, এবং একটির বিপরীতে কাজ করা প্রোফাইল পরের লক্ষ্য সম্পর্কে কিছুই প্রমাণ করে না। কোথায় সংযোগ করবেন তা বাছাই করার সময় নোডের নিজের তালিকা প্রজেক্ট পেজের চেয়ে বেশি গুরুত্বপূর্ণ।
তালিকাটিকে মেনু নয়, পাঁচটি ক্ষেত্র হিসেবে পড়ুন: এন্ডপয়েন্ট, পোর্ট, ট্রান্সপোর্ট, প্রোটোকল পরিবার এবং প্রমাণীকরণ পদ্ধতি। যে পাবলিক নোডটি SSTP বিজ্ঞাপন দেয়, সে আপনাকে একটি পোর্টের লিসেনার সম্পর্কে বলেছে; কোন সার্টিফিকেট উপস্থাপন করে বা আপনার অ্যাকাউন্ট সেখানে কাজ করে কি না তা বলেনি। এই পাঁচটি ক্ষেত্র আপনার প্রোফাইলের সঙ্গে তুলনা করা যেকোনো পরিমাণ ক্লায়েন্ট পুনঃস্থাপনের চেয়ে দ্রুত, এবং এটি একটি লিখিত প্রত্যাশা তৈরি করে যা পরে পরীক্ষা করা যায়।
প্রোফাইলটিকে তার উল্লিখিত এন্ডপয়েন্টের সঙ্গে মিলিয়ে নিন
একটি নেটিভ SoftEther এন্ট্রি স্বয়ংক্রিয়ভাবে OpenVPN কনফিগারেশন নয়, এমনকি যখন দুটিই একই শিরোনামের নিচে একই প্রোভাইডার পেজে দেখা যায়। যখন একটি নোড OpenVPN-এর জন্য TCP ও UDP দুটি লিসেনারই প্রকাশ করে, সেগুলিকে দুটি এন্ডপয়েন্ট হিসেবে গণ্য করুন: এক থেকে অন্যটিতে সম্পাদিত প্রোফাইল এমন লিসেনারের দিকে ইশারা করে যা কেউ চালু করেনি। ফাইলের ট্রান্সপোর্ট লেবেল ঠিকানার অংশ, নিছক সাজসজ্জার সেটিং নয়।
ক্লায়েন্ট একটি আমদানি করা ফাইল গ্রহণ করা মানে ফাইলটি পার্স হয়। অন্য প্রান্তে দূরবর্তী লিসেনার অপেক্ষা করছে কি না সে সম্পর্কে এটি কিছুই বলে না, তাই প্রথম সংযোগ প্রচেষ্টাই প্রকৃত পরীক্ষা। প্রোটোকলকে দোষ দেওয়ার আগে প্রোফাইলের রিমোট লাইনটি নোডের ঘোষিত হোস্ট ও পোর্টের সঙ্গে তুলনা করুন।
যে ধাপটি ব্যর্থ হয় তা পরীক্ষা করুন
ওয়েব ট্রাফিকের উত্তর দেওয়া একটি হোস্টেও কাঙ্ক্ষিত VPN সেবা থাকতে পারে না, আর যে হোস্ট একটি প্রোটোকল প্রত্যাখ্যান করে সেটি সবগুলির জন্য বন্ধ নাও হতে পারে। এই দুই ভুল মানুষকে একই বিকেলে বিপরীত দিকে পাঠায়। একজন তাড়া করে এমন ফায়ারওয়াল, যা পুরোপুরি ঠিক; অন্যজন পুনঃস্থাপন করে এমন ক্লায়েন্ট, যা কখনও সমস্যা ছিল না। প্রতিটি পথ আলাদাভাবে পরীক্ষা করুন যাতে উত্তরটি পুরো হোস্টের বদলে একটি লিসেনারকে বর্ণনা করে।
এই পাঁচটি পরীক্ষা সাধারণ পাবলিক নোড পদ্ধতিগুলি কভার করে। সেগুলি ক্লায়েন্ট যে নেটওয়ার্ক ব্যবহার করে সেখান থেকেই চালান, কারণ ফিল্টার করা পোর্ট দূর থেকে অনুপস্থিত লিসেনারের মতোই দেখায়।
nc -vz node.example 1194
nc -vz node.example 443
openvpn --config client.ovpn --verb 4
nmap -sU -p 500,4500 node.example
openssl s_client -connect node.example:443 -servername node.example
| ফলাফল | ধাপ | যা বাদ দেয় |
|---|---|---|
| সংযোগ প্রত্যাখ্যাত বা সময় শেষ | ট্রান্সপোর্ট | লিসেনার অনুপস্থিত, ফিল্টার করা বা ভুল পোর্ট |
| TLS হ্যান্ডশেক বা পরিচয় ত্রুটি | সার্টিফিকেট | প্রোটোকলের প্রাপ্যতা; লিসেনার উত্তর দিয়েছে |
| AUTH_FAILED বা অ্যাকাউন্ট প্রত্যাখ্যান | প্রমাণীকরণ | এন্ডপয়েন্ট; সমস্যা শংসাপত্রে |
| UDP 500 ও 4500 নীরব | IPsec আলোচনা | প্রমাণীকরণের আগেই ESP ও L2TP অবরুদ্ধ |
কিছু বদলানোর আগে প্রতিটি পর্যবেক্ষিত ত্রুটিকে তার সারিতে যুক্ত করুন। TLS পরিচয় ব্যর্থতা প্রমাণ করে লিসেনারটি আছে, তাই প্রোফাইলটি অন্য প্রোটোকলে পুনর্লিখন করলে কাজ করা প্রমাণ নষ্ট হত। প্রত্যাখ্যাত সংযোগ কেবল প্রমাণ করে এই পোর্টটি উত্তর দেয়নি, যা “নোডটি OpenVPN সমর্থন করে না” এর চেয়ে অনেক সংকীর্ণ বিবৃতি।
কিছু বদলানোর আগে ত্রুটিটি সংরক্ষণ করুন
সঠিক ফলাফলটি লিখে রাখুন: সময় শেষ হওয়া, সার্টিফিকেট পরিচয় ব্যর্থতা, অ্যাকাউন্ট প্রত্যাখ্যান এবং অ্যাপ্লিকেশন স্তরের অস্বীকৃতি চারটি ভিন্ন ফলাফল। কেবল প্রথমটি প্রোটোকল অনুপলব্ধ হওয়া সম্পর্কে, এবং কেবল শেষটি সফল সংযোগের পরে অনুমতি সম্পর্কে। ক্লায়েন্ট রিসেট করা বা প্রোটোকল বদলানো সেই পার্থক্য ধ্বংস করে, কারণ পরের ব্যর্থতা আসে ভিন্ন ইতিহাস নিয়ে এবং তুলনার কোনো ভিত্তিরেখা ছাড়াই।
একটি অসামঞ্জস্যপূর্ণ প্রোফাইলকে কাজ করছে দেখানোর জন্য যাচাই দুর্বল করবেন না। নিষ্ক্রিয় করা সার্টিফিকেট পরীক্ষা একটি স্পষ্ট পরিচয় ব্যর্থতাকে এমন কিছুর সঙ্গে সংযোগে পরিণত করে যেখানে আপনি পৌঁছাতে চাননি, এবং ফলস্বরূপ সাফল্য মূল ত্রুটির চেয়েও খারাপ, কারণ এটি লুকিয়ে রাখে কোন ধাপটি ভুল ছিল।
প্রতিটি নোডের জন্য প্রতিবারই আবার পরীক্ষা করুন
পাবলিক নোড তালিকায় নেটিভ SSL, OpenVPN, L2TP/IPsec ও SSTP বিকল্পগুলি সেই মুহূর্তে সেই নোডের কনফিগারেশন বর্ণনা করে। একই সফটওয়্যার অন্যত্র ভিন্ন সেট উপস্থাপন করতে পারে, এবং প্রোভাইডার আপনার বুকমার্ক ও পরবর্তী প্রচেষ্টার মধ্যে একটি লিসেনার অবসর দিতে পারে। পুরনো নোট পুরনো ডিপ্লয়মেন্ট বর্ণনা করে।
যাচাই করা প্রোফাইলটি তার এন্ডপয়েন্ট ও পদ্ধতিসহ লিপিবদ্ধ করুন, তারপর নোড বদলালে বা সংযোগ ব্যর্থ হতে শুরু করলে পরীক্ষাটি পুনরাবৃত্তি করুন। SoftEther প্রোটোকল স্পেসিফিকেশন হলো সফটওয়্যারটি কী করতে পারে তার রেফারেন্স; নোডের নিজের তালিকা হলো এটি কী করে তার রেফারেন্স। দুটি নথি আলাদা রাখুন, রোগনির্ণয় ছোট হয়ে যাবে।