দুটি ডিভাইস, একটি Wi-Fi, আলাদা VPN এক্সিট: কী নির্ধারণ করে
বাড়ির ঠিকানা, টানেল ঠিকানা আর পাবলিক এক্সিট তিনটি আলাদা জিনিস। দুটি ডিভাইস আলাদা এক্সিট দিয়ে বেরোতে পারে, আর কিছুই তার নিশ্চয়তা দেয় না।
একই বাড়ির রাউটারে থাকা দুটি ল্যাপটপ আলাদা VPN এক্সিট দিয়ে ইন্টারনেটে পৌঁছাতে পারে, আর শেয়ার করা Wi-Fi এতে কিছুই বলে না। ফলাফল নির্ধারণ করে টানেল কোথায় চলে এবং প্রতিটি অনুরোধের পথ কোন নীতি বেছে নেয়। বিপরীত বিশ্বাসটিও সমান প্রচলিত ও সমান ভুল: আলাদা প্রোফাইলযুক্ত দুটি ডিভাইস স্বয়ংক্রিয়ভাবে দুটি পাবলিক ঠিকানা তৈরি করে না। দুটি ভুলই একই উৎস থেকে আসে, একটি ঠিকানাকে তিনটি হিসেবে ধরে নেওয়া।
তিনটি ঠিকানা, আর তাদের মধ্যে কেবল একটি বেরোয়
ল্যাপটপের একটি হোম-LAN ঠিকানা থাকে যা স্থানীয় সেগমেন্টে তাকে চিহ্নিত করে, আর VPN-এর ভিতরে নির্ধারিত একটি টানেল ঠিকানাও থাকতে পারে। এর কোনোটিই দূরের কোনো সেবার কাছে দৃশ্যমান নয়। সেই সেবা যা নথিভুক্ত করে তা হলো শেষ পর্যন্ত প্যাকেট পাঠানো ডিভাইসের পাবলিক এক্সিট ঠিকানা, পথে যেকোনো অনুবাদের পরে।
RFC 3022 সেই পার্থক্যটি আঁকে যা এখানকার বেশিরভাগ বিভ্রান্তি ব্যাখ্যা করে। প্রচলিত NAT অভ্যন্তরীণ ঠিকানাকে পাবলিক ঠিকানায় মেলে, আর পোর্ট অনুবাদ অনেক অভ্যন্তরীণ ঠিকানাকে একই সময়ে একটি পাবলিক ঠিকানা শেয়ার করতে দেয়। এক পাবলিক ঠিকানা ও কয়েকটি ডিভাইসের পরিবার হলো দ্বিতীয় ক্ষেত্র, আর এটি প্রায় সর্বত্রই ডিফল্ট।
প্রোফাইল নয়, পাবলিক ঠিকানা গুনুন। আলাদা টানেল ঠিকানা ও একই এক্সিট নীতি থাকা দুটি ক্লায়েন্ট একটি পর্যবেক্ষিত ঠিকানা দেয়, আর ভিন্নভাবে রুট করা এক্সিটযুক্ত একমাত্র ক্লায়েন্ট আরেকটি দিতে পারে। ওই একটি তুলনাই পুরো পরীক্ষা। বাকি সব দূর প্রান্ত সম্পর্কে অনুমান।
দুটি এক্সিটকে সত্যিই আলাদা করে কী
ইন্টারনেটের আগে শেষ ডিভাইসটি ওই ট্রাফিকের জন্য ভিন্ন পাবলিক ঠিকানা ব্যবহার করলে এক্সিটটি আলাদা হয়। এটি ঘটতে পারে কারণ VPN ভিন্ন স্থানে শেষ হয়, কারণ এক্সিট পুল ভিন্ন ঠিকানা বরাদ্দ করে, অথবা কারণ প্রদানকারী অনুরোধটি ভিন্ন এক্সিট দিয়ে রুট করে। তিনটিই দূর প্রান্তে নেওয়া নীতিগত সিদ্ধান্ত, আর এর কোনোটিই বাড়ির রাউটার থেকে দেখা যায় না।
যে দুটি ডিভাইস নিজ নিজ ক্লায়েন্ট একই প্রোফাইল দিয়ে চালায় তারা সাধারণত একই পুলে পড়ে এবং নির্দিষ্ট সেশনে প্রায়ই একই এক্সিট পায়। এটি ত্রুটি নয়, এটি শেয়ার করা পুলের স্বাভাবিক আচরণ। আলাদা এক্সিট পেতে সাধারণত ক্লায়েন্ট দুবার কনফিগার করার বদলে সেবার কাছে আলাদা বরাদ্দ চাইতে হয়।
কোনো নিশ্চয়তার উপর নকশা গড়ার আগে একসঙ্গে সংযোগ সম্পর্কিত সেবার শর্ত পড়ুন। দ্বিতীয় লগইন সংযোগের অনুমতি, একচেটিয়া ঠিকানার প্রতিশ্রুতি নয়। শর্ত চুপ থাকলে অনুমান না করে প্রদানকারীকে জিজ্ঞাসা করুন। উত্তরটি যেকোনো ক্লায়েন্ট সেটিংয়ের চেয়ে বেশি নকশা বদলে দেয়।
কেন আলাদা প্রোফাইল আলাদা এক্সিট নয়
প্রোফাইল বর্ণনা করে VPN-এ কীভাবে পৌঁছাতে হবে ও কীভাবে প্রমাণায়ন করতে হবে, আর পরে কী ঘটবে সে সম্পর্কে প্রায় কিছুই বলে না। এক্সিট বেছে নেয় দূর প্রান্ত, যেখানে রাউটিং, ঠিকানা পুল ও অনুবাদ নীতি থাকে। দ্বিতীয় মেশিনে প্রোফাইল নকল করলে ক্লায়েন্ট কনফিগারেশন নকল হয়, সার্ভারের সিদ্ধান্ত নয়।
উল্টোটিও সত্য। একটি VPN সার্ভার একাধিক পাবলিক এক্সিট উপস্থাপন করতে পারে যখন তার রাউটিং ও অনুবাদ নীতি সেভাবেই গড়া, আবার আলাদা সার্ভারগুলো একটি ডাউনস্ট্রিম এক্সিটেই খাওয়াতে পারে। তাই আপনার কনফিগারেশনে সার্ভার নামের সংখ্যা ঠিকানার সংখ্যা সম্পর্কে কিছুই বলে না। এজন্যই এই উত্তরের জন্য কনফিগারেশন ভুল জায়গা।
একমাত্র নির্ভরযোগ্য উত্তর আসে আপনি যে ব্যবস্থা ব্যবহার করতে চান তার মধ্য দিয়ে করা একটি অনুরোধ থেকে। বাকি সব অনুমান।
বিভাজন কোথায় রাখবেন
রাউটার টানেল পুরো পরিবারকে ঢাকে, যা সুবিধাজনক এবং এর পেছনের প্রতিটি ডিভাইসের জন্য ঠিক একটি শেয়ার করা এক্সিট তৈরি করে। প্রতিটি ডিভাইসে ক্লায়েন্ট আপনাকে ডিভাইসভিত্তিক নিয়ন্ত্রণ দেয়, কিন্তু প্রতিটি ডিভাইসকে প্রস্তুত করতে এবং প্রস্তুত রাখতে হয়। নীতি-সক্ষম রাউটার মাঝখানে বসে প্রতিটি ডিভাইসের জন্য পথ বেছে নেয়, আর এটি কেবল তখনই কাজ করে যখন পুনঃসংযোগ ও DHCP পরিবর্তনের মধ্যেও ডিভাইসগুলো নির্ভরযোগ্যভাবে চিনতে পারে।
রাউটারে আরেকটি ব্যক্তিগত DHCP লিজ তৈরি করা আরেকটি পাবলিক ঠিকানা তৈরির সমান নয়। এটি স্থানীয় দৃশ্য বদলায় আর এক্সিটকে অপরিবর্তিত রাখে। বিভাজন থাকে এক্সিট নীতিতে, সেই নীতি রাউটারে থাকুক বা VPN সেবায়।
যে রূপই বেছে নিন, মালিকানা লিখে রাখুন: কে একটি ডিভাইস প্রস্তুত করে, কে তার প্রমাণপত্র ঘুরিয়ে দেয়, আর কে খেয়াল করে যখন এটি অভীষ্ট পথ ব্যবহার করা বন্ধ করে।
আপনি আসলে যে এক্সিট পেয়েছেন তা যাচাই করুন
যে অ্যাপ্লিকেশনটি গুরুত্বপূর্ণ সেখান থেকেই যাচাই করুন, আর দুটি ডিভাইসে একই ঠিকানা পরিবার তুলনা করুন। একটির IPv4 ফলাফল আর অন্যটির IPv6 ফলাফল কোনোটির সম্পর্কেই কিছু প্রমাণ করে না। এরপর পুনঃসংযোগের পরে আবার যাচাই করুন, কারণ সেশনভেদে পুল বরাদ্দ বদলাতে পারে।
এটি টানেল নীতির ভিতরের টার্মিনাল থেকে চালান, যে ডিভাইস নীতিটি এড়িয়ে যায় সেখান থেকে নয়। ভুল হোস্ট আত্মবিশ্বাসী ভুল উত্তর দেয়।
curl -4 -sS https://api.ipify.org; echo
curl -6 -sS https://api64.ipify.org; echo
ip route get 1.1.1.1দুটি ডিভাইসই যদি একই IPv4 ঠিকানা দেখায়, তবে কতগুলো টানেল চালু আছে তা নির্বিশেষে তারা একটি এক্সিট শেয়ার করে। এরপর ঠিক করুন টানেল ব্যর্থ হলে কী হবে: যে ক্লায়েন্ট সরাসরি পথে ফিরে যায় সে দুটি ডিভাইসকে আবার বাড়ির ঠিকানায় ফেলে দেয়, আর বিভাজন কোনো ত্রুটি ছাড়াই হারিয়ে যায়। ব্যবস্থাটিকে দুটি এক্সিট বলার আগে ওই ফিরে যাওয়ার আচরণ নিশ্চিত করুন, আর মনে রাখুন ভিন্ন ঠিকানা নেটওয়ার্কের ফল, দুটি বেনামি পরিচয় নয়।