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

کون سا کنٹرول استعمال کرنا ہے یہ پوچھنے سے پہلے پوچھیں کہ کس پر اثر ہونا چاہیے۔

ایک مثال: انتظامی انٹرفیس

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

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

UDP کی روانگی کی اطلاع ہر کلائنٹ کے لیے حکم نہیں ہے

explicit-exit-notify روانگی اور دوبارہ شروع ہونے کے واقعات کے بارے میں تشکیل کی ہدایت ہے۔ UDP کلائنٹ پر یہ دوسرے فریق کو بتاتا ہے کہ سیشن ختم ہو رہی ہے، اور عددی دلیل طے کرتی ہے کہ اطلاع کتنی بار دہرائی جائے۔ جب سرور UDP پر چلتا ہے تو جڑے ہوئے کلائنٹس کو دوبارہ شروع کرنے کا کنٹرول پیغام بھیجتا ہے، اور دستاویزی قدریں اسی سرور سے دوبارہ جڑنے اور دوسرے ریموٹ اندراج پر جانے میں فرق کرتی ہیں۔ یہ وسیع سامعین والا زندگی کے دور کا اشارہ ہے۔

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

اشارے سیشن پر نہیں، عمل پر اثر کرتے ہیں

SIGUSR1 چل رہے عمل سے کہتا ہے کہ تشکیل دوبارہ پڑھے بغیر اپنا کنکشن دوبارہ شروع کرے، اور استحکام کے اختیارات طے کرتے ہیں کہ اس دوبارہ شروعات سے کیا بچے گا۔ SIGHUP مزید آگے جاتا ہے: یہ تشکیل فائل دوبارہ پڑھتا ہے اور اپنے وسائل دوبارہ کھولتا ہے۔ SIGTERM اور SIGINT منظم بندش کی درخواست کرتے ہیں۔ یہ عمل کی سطح کی کارروائیاں ہیں: کثیر کلائنٹ سرور پر یہ عمل کے اٹھائے ہوئے ہر سیشن پر اثر کرتی ہیں، ٹکٹ میں نامزد سیشن پر نہیں۔

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

کنٹرول چننے سے پہلے دائرہ طے کریں

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

دوبارہ جوڑنے کا بٹن حاصل کرنے کے لیے غیر تصدیق شدہ کنٹرول سامع شامل کرنا پورٹ تک پہنچ سکنے والے ہر شخص کو اس بٹن سے کہیں زیادہ دیتا ہے۔

نئی سیشن کی تصدیق کریں، منقطع ہونے کی نہیں

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

تبدیلی کے ریکارڈ میں دائرہ لکھیں۔ 'میں نے کلائنٹ دوبارہ جوڑا' کوئی وضاحت نہیں جب کلائنٹ مشترکہ سرور پر چالیس میں سے ایک تھا۔

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