آپ اُس اکاؤنٹ میں دوسرا لیپ ٹاپ شامل کرتے ہیں جو پہلے سے آپ کے فون پر چل رہا ہے، اور ایک منٹ کے اندر فون کا ٹنل گر جاتا ہے۔ یا نئی ڈیوائس کبھی کنکشن مکمل نہیں کرتی، اور کلائنٹ ٹائم آؤٹ کے بجائے پالیسی کے پیغام پر ختم ہوتا ہے۔ دونوں صورتوں میں نیٹ ورک درست ہے؛ فیصلہ اُس کے اوپر ہوا ہے۔ مشترکہ لاگ اِن ایک ہی شناخت ہے، اور زیادہ تر 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 موبائل کے حوالے کرتا ہے، اور لیپ ٹاپ آپریٹنگ سسٹم میں ایک ٹنل کے علاوہ وینڈر کی ایپ میں دوسری چلا سکتا ہے، جو ایک ہی مشین سے دو سیشنیں شمار ہوتی ہیں۔

ایک ساتھ چلنے والی ڈیوائسز کے درمیان ایک شناخت بانٹنا بند کریں

پائیدار درستی ساختی ہے۔ ہر ڈیوائس کو منفرد عام نام کے ساتھ اپنا سرٹیفکیٹ، یا اپنا اکاؤنٹ دیں، اور درج کریں کہ کون شخص اور کون مشین اُسے رکھتی ہے۔ OpenVPN میں اس کا مطلب فی ڈیوائس ایک کلائنٹ سرٹیفکیٹ ہے، اور --duplicate-cn بند ہی رہتا ہے جب تک آپ قبضے کا برتاؤ نہ چاہیں؛ WireGuard میں فی ڈیوائس ایک کلید جوڑی، وہیں بنائی گئی اور کبھی نقل نہ کی گئی۔

ڈیوائس کی حد سے بچنے کے لیے پروفائل کی نقل بنانا منسوخی کو توڑ دیتا ہے: ایک نقل کی منسوخی ہر اُس ڈیوائس کو کاٹ دیتی ہے جو اُسے بانٹتی ہے، اور لاگ پھر یہ نہیں بتا سکتا کہ کون سی مشین نے کیا کیا۔ اگر حد تجارتی ہے تو ایماندار حل اضافی نشست ہے؛ اگر اندرونی پالیسی ہے تو وہی رسائی حقوق رکھنے والی دوسری شناخت مانگیں۔

مقررہ ترتیب سے تصدیق کریں

درستی کو ہر بار ایک ہی طریقے سے جانچیں تاکہ نتیجے کا کوئی مطلب ہو۔

  • ہر ڈیوائس پر سائن آؤٹ کریں اور یقینی بنائیں کہ سرور کی فعال فہرست خالی ہے؛ جو اندراج صاف نہ ہو وہ پرانی سیشن ہے، کلائنٹ کی خرابی نہیں۔
  • ڈیوائسز کو ایک ایک کر کے منسلک کریں اور کنکشنوں کے درمیان فہرست دیکھیں۔
  • اگر دو کو ساتھ چلنا ہو تو یقینی بنائیں کہ دونوں سطروں کی شناختیں مختلف ہیں اور دونوں کا ہینڈ شیک تازہ ہے۔
  • Wi-Fi سے موبائل پر منتقلی کے بعد دہرائیں، کیونکہ دوبارہ جڑنا دوسرا ریکارڈ بنا سکتا ہے۔

اگر نئی کے منسلک ہونے پر پرانی ڈیوائس پھر بھی گرے تو گیٹ وے فی شناخت وہ اصول نافذ کر رہا ہے جس کی آپ کو چھوٹ نہیں ملی۔ ڈیوائسز کے نام، وقت کے نشانات اور فعال سیشنوں کی فہرست آپریٹر کو لے جائیں؛ یہ دھندلی شکایت کو پالیسی کا ایسا سوال بنا دیتا ہے جس کا وہ جواب دے سکیں۔

متعلقہ مضامین