آپ MFA پرامپٹ مکمل کرتے ہیں، ٹنل اوپر آتا ہے، اور ٹرمینل بند کرنے سے کنکشن بھی چلا جاتا ہے۔ یہ نگرانی کا مسئلہ ہے، تصدیق کا نہیں، اور OpenConnect میں اسے حل کرنے والا سوئچ پہلے سے موجود ہے۔ حل یہ ہے کہ کلائنٹ کو اسٹارٹ اپ ختم ہونے کے بعد، جب انٹرایکٹو حصہ واقعی ختم ہو جائے، پس منظر میں شاخ بننے دیں۔ ذیل میں جانچوں کی ترتیب ہے: انہیں ترتیب سے کریں اور پہلی ایسی جانچ پر رکیں جو آپ کے گیٹ وے پر لاگو نہ ہو۔

لاگ اِن پر گیٹ وے کیا مانگتا ہے اس کی تصدیق کریں

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

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

پہلا سیشن سامنے چلائیں اور آؤٹ پٹ پڑھیں

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

پھر وہی کال پس منظر موڈ اور شامل کردہ PID فائل کے ساتھ دہرائیں، مثلاً openconnect --background --pid-file /run/openconnect.pid vpn.example.net، اور آپ کے گیٹ وے کے مطلوبہ پروٹوکول اور تصدیق کے اختیارات اسی سطر میں رکھیں۔ OpenConnect دستی اس آپشن کو اسٹارٹ اپ مکمل ہونے کے بعد پس منظر میں جاری رکھنا بتاتا ہے، اور اسی لیے انٹرایکٹو مرحلہ پہلے ختم ہونا چاہیے۔

چل رہے عمل کو تلاش اور روک سکنے والا بنائیں

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

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

پس منظر موڈ کو نگران کے نیچے نہ رکھیں

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

--background ان سیشنوں کے لیے رکھیں جو کوئی شخص شروع کر کے چلا جاتا ہے۔ اگر ضرورت ایسی ٹنل ہے جو کسی کے لاگ اِن سے پہلے موجود ہو، تو گمشدہ حصہ منظور شدہ غیر انٹرایکٹو شناخت اور اس کی تجدید کا منصوبہ ہے، اور کوئی کمانڈ لائن فلیگ ان میں سے کچھ نہیں دیتا۔ بوٹ اسکرپٹ میں فلیگ شامل کرنے سے ایسی ٹنل بنتی ہے جو پہلی میعاد ختم اسناد پر خاموشی سے ناکام ہو جاتی ہے۔

سیشن کوکی کو اسناد سمجھیں

OpenConnect --authenticate کے ذریعے الگ تصدیق کا مرحلہ دستاویز کرتا ہے، اور حاصل شدہ مواد --cookie-on-stdin سے واپس کیا جا سکتا ہے۔ یہ جوڑی انضمام کے کام کے لیے ہے، اور یہ جو پیدا کرتی ہے وہ اسے بنانے والے پاس ورڈ جتنا ہی حساس ہے۔

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

ٹرمینل بند کرنے سے پہلے فہرست مکمل کریں

چار باتیں درست ہونی چاہئیں: انٹرایکٹو لاگ اِن سامنے ختم ہوا، PID فائل آپ کی تصدیق شدہ عمل کی طرف اشارہ کرتی ہے، نگران کا سوال ایک طرف طے ہوا، اور کوکی کے پاس ایسا ذخیرہ منصوبہ ہے جو سادہ متن فائل نہیں۔ جب چاروں درست ہوں، ٹرمینل سے دور جانا محفوظ ہے اور ٹنل چلتا رہتا ہے۔

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

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