سرنگ واپس آتی ہے، کلائنٹ کہتا ہے کہ جڑ گیا ہے، اور براؤزر اب بھی اُس صفحے پر گھوم رہا ہے جو اس نے کٹنے سے پہلے لوڈ کیا تھا۔ VPN کا دوبارہ جڑنا ایک راستہ بحال کرتا ہے، اور وہ جڑاؤ حالت بحال نہیں کرتا جو ایپس اور دور والا فریق پرانے راستے پر جمع کر چکے تھے۔ یہ درست کرنے کی دو الگ چیزیں ہیں، اور انہیں ملانا آپ کو بلا وجہ VPN ترتیبات میں واپس بھیجتا ہے۔

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

دوبارہ جڑنے سے کیا بچتا ہے اور کیا نہیں

سرنگ راستوں، چابیاں اور پتوں کا مجموعہ ہے، اور دوبارہ جڑنا تینوں بحال کر سکتا ہے جبکہ ہر قائم شدہ بہاؤ مردہ رہتا ہے۔ ایپ نے مانگا تھا اسی لیے آپریٹنگ سسٹم ساکٹ کھلا رکھتا ہے، اور اُس ساکٹ کی مدت منٹ یا گھنٹے دور ہو سکتی ہے۔ اس کے نیچے ساتھی بہاؤ بھول چکا ہے، ایک ترجمہ اندراج کی مدت ختم ہو گئی ہے، یا راستہ اب ایسے سرے سے گزرتا ہے جس نے کبھی ہاتھ ملانا نہیں دیکھا۔ دوبارہ جڑنے کے سلسلے میں کچھ بھی ایپ کے ساکٹوں سے گزر کر انہیں درست نہیں کرتا۔

کچھ کلائنٹ دوبارہ جڑتے وقت پرانے جوڑ پھینکنے والا ہک شامل کرتے ہیں، اور اکثر نہیں کرتے۔ یہاں رویہ کلائنٹ، پلیٹ فارم اور ورژن کے مطابق بدلتا ہے۔

دور والے فریق نے آپ کو بھی بھلا دیا

دور والا سرا اپنی حالت رکھتا ہے: ایک TLS سیشن، ایک TCP کنٹرول بلاک، اور شاید ایک نقشہ اندراج جو آپ کا پتہ اور پورٹ بہاؤ سے باندھتا ہے۔ راستے میں لگا ترجمہ کا آلہ ٹنل کے تیزی سے دوبارہ قائم ہونے پر بھی وقفے کے دوران اُس نقشے کو ختم ہونے دے سکتا ہے۔ نقشہ جانے کے بعد پیکٹ ایسے بہاؤ کے لیے آتے ہیں جسے سرور اب نہیں پہچانتا، اور جواب وہ ری سیٹ ہو سکتا ہے جو کلائنٹ کبھی نہیں دکھاتا۔ ایپس اسے خرابی کے بجائے رکاوٹ بتاتی ہیں، کیونکہ وہ اب بھی ایسے ساکٹ کی راہ دیکھ رہی ہیں جو کبھی جواب نہیں دے گا۔

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

نئی درخواست ہی وہ جانچ ہے جو انہیں الگ کرتی ہے

پرانی درخواست اب بھی لٹکی ہو تو اسی ہوسٹ پر نئی درخواست بھیجیں، اور دونوں کو دیکھیں۔ اگر نئی درخواست کامیاب ہو، تو سرنگ، راستہ اور نام کا حل سب کام کر رہے ہیں، اور خرابی پرانے بہاؤ تک محدود ہے۔ اگر نئی درخواست بھی ناکام ہو، تو آپ کو راستے کا مسئلہ ہے اور ایپ کی سیشن حالت گمراہ کن اشارہ ہے۔

جانچ کے دوران براہ راست ٹریفک کی کوئی بھی روک اپنی جگہ پر رہنے دیں۔ اتفاقی متبادل راستے سے کامیاب ہونے والی درخواست سرنگ کے بارے میں کچھ ثابت نہیں کرتی۔

پرانی نہیں، نئی جڑاؤ سے تصدیق کریں

نیچے دیے حکم اب بھی کھلے ساکٹ دکھاتے ہیں، ایک نئی درخواست شروع کرتے ہیں، اور جانچتے ہیں کہ سیشن جدول میں بہاؤ کے لیے اب بھی اندراج ہے یا نہیں۔ فرق نظر آئے اس لیے پہلے حکم کو دوبارہ جڑنے سے پہلے اور بعد چلائیں۔ ہوسٹ اور پورٹ کو اپنی سروس سے بدلیں۔

ss -tanp | grep -E ':(443|8443)'
curl -sS -o /dev/null -w '%{http_code} %{time_connect}\n' --max-time 8 https://intranet.example.com/
conntrack -L 2>/dev/null | grep 8443
dig +short intranet.example.com

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

رکاوٹ کا وقت، دوبارہ جڑنے کا وقت اور پرانی و نئی درخواست کے درمیان فرق نوٹ کریں۔ وہ نوٹ مبہم شکایت کو ایسی رپورٹ میں بدل دیتا ہے جس پر کوئی عمل کر سکے۔

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