শেয়ার করা VPN অ্যাকাউন্টে সেশন সীমা: কেন একটি ডিভাইস বাদ পড়ে
শেয়ার করা লগইন একসঙ্গে চলা সেশনের সীমায় পৌঁছায় আর একটি ডিভাইস বাদ পড়ে। ক্লায়েন্টের বার্তা পড়ুন, সার্ভারে সেশন গুনুন, তারপর পরিচয়ের মডেল ঠিক করুন।
আপনি এমন অ্যাকাউন্টে দ্বিতীয় ল্যাপটপ যোগ করেন যা ইতিমধ্যেই ফোনে চলে, আর এক মিনিটের মধ্যে ফোনের টানেল বাদ পড়ে। অথবা নতুন ডিভাইসটি কখনোই সংযোগ শেষ করে না, আর ক্লায়েন্ট টাইমআউটের বদলে একটি নীতি-বার্তায় শেষ হয়। দুই ক্ষেত্রেই নেটওয়ার্ক ঠিক আছে; সিদ্ধান্ত হয়েছিল তার উপরে। শেয়ার করা লগইন একটি পরিচয়, আর বেশিরভাগ VPN সেবা আপনার মালিকানার ডিভাইসের সংখ্যা নয়, সেই পরিচয়টাই গোনে। আমি ক্লায়েন্ট স্ক্রিন থেকে বাইরের দিকে কাজ করি, কারণ সেটি সাধারণত দেখায় কোন স্তর আপনাকে ফিরিয়ে দিয়েছে।
নেটওয়ার্কে হাত দেওয়ার আগে ক্লায়েন্টের বার্তা পড়ুন
তিনটি ব্যর্থতা একরকম দেখায়, কিন্তু এক নয়। টাইমআউট মানে আপনার প্যাকেট কিছুতে পৌঁছায়নি। TLS বা সার্টিফিকেট ত্রুটি মানে প্রান্তিক সাড়া দিয়েছে কিন্তু হ্যান্ডশেক ব্যর্থ হয়েছে। প্রমাণীকরণ বা নীতি প্রত্যাখ্যান মানে গেটওয়ে আপনার পরিচয়পত্র পড়েছে এবং তারপর তা প্রত্যাখ্যান করেছে। কেবল তৃতীয়টিই সেশন-সীমার গল্পের অংশ, তাই আগে সেটি নিশ্চিত করুন।
OpenVPN ক্লায়েন্টরা লগ প্যানেলে কাজের লাইনগুলো রাখে। তার পরে আসা পুনরায় চেষ্টার চক্রে নয়, শেষ সংযোগ-প্রচেষ্টায় স্ক্রল করুন, এবং AUTH_FAILED বা পাঠানো কারণ-স্ট্রিং খুঁজুন। ক্লায়েন্ট প্রায়ই কোনো ব্যাখ্যা ছাড়া একটি সাধারণ প্রত্যাখ্যান জানায়, তাই পরের ধাপ সার্ভার, ক্লায়েন্টের সেটিংস নয়। প্রোভাইডার অ্যাপগুলো আরও খারাপ: ডিভাইস-সীমার বার্তা কাজে লাগে, কিন্তু দুই সেকেন্ড পরে ভেঙে পড়া সংযোগ নীতি-সিদ্ধান্ত, খারাপ পাসওয়ার্ড নয়। যেভাবেই হোক ডিভাইসের নাম আর সঠিক সময় লিখে রাখুন; অপারেটর ওই জোড়াটি সেকেন্ডের মধ্যে একটি অ্যাক্সেস রেকর্ডের সঙ্গে মিলিয়ে দেখতে পারেন।
সেশন গুনুন যেখানে সার্ভার গোনে
যে কাউন্টারটি গুরুত্বপূর্ণ তা গেটওয়েতে থাকে। সার্ভার --status দিয়ে চালু হলে OpenVPN একটি স্ট্যাটাস ফাইল লেখে, যেখানে প্রতিটি সংযুক্ত ক্লায়েন্ট তার সাধারণ নাম, প্রকৃত ঠিকানা ও ট্রাফিক কাউন্টারসহ তালিকাভুক্ত থাকে।
cat /var/log/openvpn-status.log
# or query the management socket directly
echo "status 2" | socat - UNIX-CONNECT:/run/openvpn/server.sock
একই সাধারণ নামের দুইটি সারি একই সার্টিফিকেটের অধীনে দুইটি জীবন্ত সেশন। ডিফল্টভাবে OpenVPN দুটিই রাখে না: --duplicate-cn ছাড়া একই সার্টিফিকেট ব্যবহার করা দ্বিতীয় সংযোগ প্রথমটি প্রতিস্থাপন করে, আর পুরোনো ডিভাইস তার টানেল হারায়। সেই প্রতিস্থাপনই পরিচয়-সীমার চিহ্ন। এলোমেলো প্যাকেট ক্ষতি ঠিক একটি ডিভাইসকে ভদ্রভাবে বিচ্ছিন্ন করে না, যেই মুহূর্তে আরেকটি আসে।
WireGuard-এ দেখার জন্য কোনো সেশন টেবিল নেই। wg show wg0 পিয়ারগুলো ও তাদের সর্বশেষ হ্যান্ডশেক দেখায়, আর প্রতিটি নিবন্ধিত ডিভাইস তার নিজের কী-সহ একটি পিয়ার। সেখানে শেয়ার করা অ্যাকাউন্ট হলো কয়েকটি মেশিনে কপি করা একটি কনফিগ ফাইল, আর সীমাটি আসে যেই সেগুলো বিতরণ করে তার কাছ থেকে: প্রোভাইডার পোর্টাল, আসন-সংখ্যা, বা আপনার পাবলিক ঠিকানার সঙ্গে বাঁধা নিয়ম। আপনি নিজের গেটওয়ে চালালে OpenVPN 2.6 ম্যানুয়াল সার্ভার-পক্ষের অপশনগুলো লিখে রাখে।
একটি বার্তার আড়ালে লুকানো চারটি সীমা আলাদা করুন
বেশিরভাগ শেয়ার্ড-অ্যাকাউন্ট টিকিট চারটি প্রবেশ-সিদ্ধান্তের একটি। ক্লায়েন্ট সেগুলো আলাদা করতে পারে না, কিন্তু কোন ডিভাইস ব্যর্থ হয় সেই ধরনটি পারে।
একই পরিচয়, দ্বিতীয় সংযোগ। নতুন ডিভাইস চলছে আর পুরোনোটি ঠিক সেই মুহূর্তে মরে যাচ্ছে। এটি গেটওয়ে বা অ্যাকাউন্ট সিস্টেমের বলবৎ করা পরিচয়-ভিত্তিক সমবর্তিতা নিয়ম। কিছুই ভাঙেনি; সেবাটি তার নীতিতেই যা বলা আছে তাই করছে।
প্ল্যানে আসন বা ডিভাইসের সংখ্যা। প্রথম ডিভাইসগুলো সংযুক্ত থাকে আর পরেরটি ফিরিয়ে দেওয়া হয়, বাকিরা চলতে থাকে। ক্লায়েন্ট বদলানোর আগে প্রোভাইডারের ডিভাইস তালিকা দেখুন, কারণ লাইসেন্স সীমা ক্লায়েন্টের দিক থেকে ঠিক করা যায় না।
আপনার পাবলিক ঠিকানার সঙ্গে বাঁধা সীমা। একটি হোম রাউটারের পেছনে দুইটি ল্যাপটপ ব্যর্থ হয়, অথচ একই লগইন ফোনের হটস্পট থেকে কাজ করে। পরীক্ষা করতে দ্বিতীয় ডিভাইসটি অন্য নেটওয়ার্কে নিন। সেখানে সংযোগ হলে আপনি ঠিকানা-ভিত্তিক বা NAT নিয়ম দেখছেন, অ্যাকাউন্টের সংখ্যা নয়।
সার্ভার-ব্যাপী সর্বোচ্চ। গেটওয়ের সবাই একই ব্যস্ত সময়ে ব্যর্থ হয়, গতকাল ঠিক থাকা অ্যাকাউন্টগুলোও। OpenVPN-এর --max-clients এভাবেই আচরণ করে, আর এর সঙ্গে আপনার নিবন্ধিত ডিভাইসের কোনো সম্পর্ক নেই।
আরও আসন কেনার আগে পুরোনো সেশন পরিষ্কার করুন
খারাপভাবে শেষ হওয়া সেশনও একটি স্লট ধরে রাখতে পারে। সেশন শুরু হলে RADIUS অ্যাকাউন্টিং একটি রেকর্ড লেখে আর সেশন থামলে তা বন্ধ করে; ক্লায়েন্ট হারিয়ে গেলে থামাটি কখনো আসে না, আর সার্ভার একটি অন্তর্বর্তী হালনাগাদ বা টাইমআউট শেষ হওয়া পর্যন্ত সেশনটি ধরে রাখে। FreeRADIUS গেটওয়েতে আপনি খোলা রেকর্ডগুলো দেখতে পারেন:
SELECT username, acctsessionid, acctstarttime
FROM radacct WHERE acctstoptime IS NULL;
পুরোনো শুরুর সময় আর কোনো ট্রাফিক ছাড়া খোলা রেকর্ড এমন ডিভাইসের, যা ইতিমধ্যেই চলে গেছে। সীমাটি সত্যি ছিল ধরে নেওয়ার আগে অপারেটরের কনসোল দিয়ে বা একটি বিচ্ছিন্নকরণ অনুরোধ দিয়ে তা বন্ধ করুন। Wi-Fi সেলুলারে হস্তান্তর করলে ফোন আবার সংযোগ করে, আর একটি ল্যাপটপ OS-এ একটি টানেল প্লাস ভেন্ডর অ্যাপের ভিতরে আরেকটি চালাতে পারে, যা এক মেশিন থেকে দুইটি সেশন হিসেবে গোনা হয়।
একসঙ্গে চলা ডিভাইসগুলোর মধ্যে এক পরিচয় শেয়ার করা বন্ধ করুন
টেকসই সমাধান কাঠামোগত। প্রতিটি ডিভাইসকে অনন্য সাধারণ নামসহ নিজের সার্টিফিকেট, বা নিজের অ্যাকাউন্ট দিন, এবং কে ও কোন মেশিন সেটি ধরে আছে তা লিখে রাখুন। OpenVPN-এ এর মানে ডিভাইসপ্রতি একটি ক্লায়েন্ট সার্টিফিকেট, আর দখল-আচরণ না চাইলে --duplicate-cn বন্ধ রাখা; WireGuard-এ ডিভাইসপ্রতি এক জোড়া কী, যা সেখানেই তৈরি হয় আর কখনো কপি হয় না।
ডিভাইস-সীমা এড়াতে প্রোফাইল ক্লোন করলে প্রত্যাহার ভেঙে যায়: একটি কপি প্রত্যাহার করলে তা শেয়ার করা প্রতিটি ডিভাইস কেটে যায়, আর লগ আর বলতে পারে না কোন মেশিন কী করেছে। সীমাটি বাণিজ্যিক হলে সৎ সমাধান একটি অতিরিক্ত আসন; এটি অভ্যন্তরীণ নীতি হলে একই অ্যাক্সেস অধিকারসহ দ্বিতীয় পরিচয় চান।
নির্দিষ্ট ক্রমে যাচাই করুন
প্রতিবার একইভাবে মেরামত পরীক্ষা করুন, যাতে ফলাফলের অর্থ থাকে।
- প্রতিটি ডিভাইসে সাইন আউট করুন এবং সার্ভারের সক্রিয় তালিকা খালি কি না নিশ্চিত করুন; যে এন্ট্রি পরিষ্কার হয় না তা পুরোনো সেশন, ক্লায়েন্টের ত্রুটি নয়।
- ডিভাইসগুলো একবারে একটি করে সংযুক্ত করুন আর সংযোগের মাঝে তালিকাটি দেখুন।
- দুটি একসঙ্গে চলতেই হলে নিশ্চিত করুন দুই সারিতেই ভিন্ন পরিচয় আছে এবং দুটোই হ্যান্ডশেক তাজা রাখছে।
- Wi-Fi থেকে সেলুলারে হস্তান্তরের পরে পুনরাবৃত্তি করুন, কারণ পুনঃসংযোগ দ্বিতীয় রেকর্ড তৈরি করতে পারে।
নতুনটি সংযুক্ত হলে পুরোনো ডিভাইসটি এখনো বাদ পড়লে, গেটওয়ে এমন পরিচয়-ভিত্তিক নিয়ম বলবৎ করছে যার ব্যতিক্রম আপনাকে দেওয়া হয়নি। অপারেটরের কাছে ডিভাইসের নাম, সময়চিহ্ন ও সক্রিয়-সেশন তালিকা নিয়ে যান; এতে একটি অস্পষ্ট অভিযোগ তাদের উত্তর দেওয়ার মতো নীতি-প্রশ্নে বদলে যায়।