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

রাউটার টানেল আসলে কী ঢাকে

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

কভারেজ কয়েকটি এমনভাবে শর্তসাপেক্ষ যা মানুষকে অবাক করে। গেস্ট নেটওয়ার্ক বা নিজস্ব নীতি আছে এমন দ্বিতীয় SSID সেই নীতির নির্ধারিত পথে যায়, টানেলে নয়। IPv6-এর পথ কেবল IPv4 বহনকারী টানেলকে পাশ কাটাতে পারে। নিজের VPN অ্যাপ বা নিজের এনক্রিপ্ট করা রিজলভার থাকা ডিভাইস রাউটারকে সম্পূর্ণ উপেক্ষা করে। আর রাউটারের নিজের ট্রাফিক, হালনাগাদ ও DNS সহ, তার আউটপুট নীতি অনুসরণ করে, যা LAN-এর ফরওয়ার্ড করা ট্রাফিকের চেয়ে আলাদা পথ।

যাচাই দুই মডেলেই একই এবং এক মিনিট লাগে: দুটি ডিভাইসকে জিজ্ঞেস করুন পৃথিবী কোন ঠিকানা দেখে, তারপর রাউটারের সংযোগ তালিকায় টানেল দেখুন। যদি ফোন ISP ঠিকানা জানায় আর রাউটার প্রতিষ্ঠিত টানেল দেখায়, তবে ফোন এর মধ্য দিয়ে রুট হচ্ছে না, এবং কোনো পুনঃসংযোগ তা বদলাবে না।

প্রতি ডিভাইসের ক্লায়েন্ট কোথায় জেতে

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

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

প্রোটোকল সমর্থন পছন্দের চেয়ে বেশি কেস নির্ধারণ করে

ভোক্তা রাউটার কেবল প্রস্তুতকারকের দেওয়া প্রোটোকল দেখায়। PPTP, L2TP বা সাধারণ IPsec থাকা রাউটার এমন প্রোভাইডারের সাথে সংযোগ করতে পারে না যে কেবল OpenVPN বা WireGuard প্রোফাইল প্রকাশ করে, এবং কোনো কনফিগারেশন তা বদলায় না। সৎ বিকল্প হলো সমর্থিত প্রোটোকল বলা প্রোভাইডার, প্রয়োজনীয় ক্লায়েন্টসহ OpenWrt বা অন্য ফার্মওয়্যার থাকা রাউটার, বা প্রতি ডিভাইসে ক্লায়েন্ট।

উল্টো কেসটিও সমান সাধারণ: OpenVPN-সক্ষম রাউটার এমন প্রোভাইডার ব্যবহার করতে পারে না যার সেবা নিজের মালিকানাধীন ক্লায়েন্ট ও নিজের রাউটিং কৌশলের উপর নির্ভর করে। হার্ডওয়্যার কেনার আগে প্রোভাইডারের সমর্থিত-প্রোটোকল পাতা পড়ুন এবং ফার্মওয়্যার সংস্করণ দেখুন, কারণ পণ্যের পাতায় «WireGuard সমর্থিত» বলতে প্রায়ই একটি নির্দিষ্ট ফার্মওয়্যার প্রজন্ম বোঝায়।

WireGuard ক্লায়েন্টসহ ভ্রমণ রাউটার রাউটার মডেলের সস্তা সংস্করণ এবং ক্লায়েন্ট চালাতে না পারা অল্প কয়েকটি ডিভাইসের জন্য যুক্তিসঙ্গত উত্তর। এটি তবুও রাউটার টানেল, তাই গেস্ট নেটওয়ার্ক, IPv6 ও ভাগ করা ব্যর্থতা নিয়ে উপরে বলা সবকিছু অপরিবর্তিত প্রযোজ্য।

তৃতীয় বিকল্প: একটি মেশিন গেটওয়ে হিসেবে

ল্যাপটপ থেকে ক্লায়েন্ট ভাগ করা সম্ভব, এবং ল্যাপটপকে রাউটার বানিয়েছি বলতে মানুষ সাধারণত এটাই বোঝায়।

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

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

ল্যাব বা অস্থায়ী সেটআপের জন্য এটি ঠিক আছে। স্থায়ী ব্যবস্থা হিসেবে এটি একটি ল্যাপটপকে ঘরের একমাত্র ব্যর্থতা-বিন্দু বানায়, এবং সাধারণত ঢাকনা বন্ধ হলে টেলিভিশন কেন থেমে গেল সেই প্রশ্নে শেষ হয়।

আগত পোর্ট, DNS ও ভাগ করা ব্যর্থতা

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

রাউটারের কাছে টানেল থাকলে DNS রাউটারকে অনুসরণ করে, যা একটি ডিভাইসের অন্য রিজলভার দরকার হওয়া পর্যন্ত সুবিধাজনক। প্রতি ডিভাইসের ক্লায়েন্ট তা প্রকাশ করতে পারে; রাউটার নীতি নেটওয়ার্ক দুই ভাগ না করে তা পারে না। ব্যর্থতাও ভাগ করা হয়, কারণ একটি ক্র্যাশ, একটি শেষ হওয়া সাবস্ক্রিপশন বা একটি খারাপ ঠেলে দেওয়া রুট একই মুহূর্তে প্রতিটি ডিভাইস কেটে দেয়।

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

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