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

تین ناکامیاں جو ایک جیسی لگتی ہیں

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

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

کوئی بھی ٹائمر بدلنے سے پہلے تینوں صورتوں کو لکھیں۔ فہرست خود عموماً دکھاتی ہے کہ ایک طریقے سے تینوں کو ڈھانپنے کا مطالبہ کیا جا رہا ہے۔

keepalive اصل میں کیا پھیلتا ہے

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

یہی دوگنا ہونا وجہ ہے کہ کوئی بھی وضاحت جو یہ کہے کہ دونوں سرے ساٹھ سیکنڈ بعد ری اسٹارٹ ہوتے ہیں، غلط ہے۔ یہ بھی بتاتا ہے کہ راستہ بگڑنے پر دونوں سرے ایک ہی تال میں کیوں نہیں پھڑپھڑاتے۔

ہارٹ بیٹ OpenVPN کا ساتھی ٹریفک ہے، کسی عوامی ہوسٹ کی ICMP جانچ نہیں۔ ایک جواب صرف یہ ثابت کرتا ہے کہ ٹنل کا دور دراز سرا زندہ ہے۔ یہ اس ڈیٹا بیس یا ویب سروس کے بارے میں کچھ نہیں بتاتا جو صارف کو واقعی درکار ہے۔

Restart=on-failure کیا نہیں دیکھتا

اوور رائیڈ شامل کرنے سے پہلے نصب شدہ یونٹ پڑھیں۔ Restart=on-failure پروسیس کی دستاویزی ناکامی کی شرائط پر ردعمل دیتا ہے، جو کنکشن کی حالت دیکھنے کے مترادف نہیں۔ یہ اس لیے نہیں چلتا کہ اندرونی دوبارہ کنکشن شروع ہوا، اور صاف اخراج کی معنی کریش سے مختلف ہے۔

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

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

ping-restart اور ping-exit ایک دوسرے کے متبادل نہیں

ping-restart OpenVPN کا اندرونی ری اسٹارٹ شروع کرتا ہے اور پروسیس رکھتا ہے۔ ping-exit اسی قسم کے ٹائم آؤٹ پر پروسیس ختم کرتا ہے، جو فیصلہ سروس مینیجر کے حوالے کر دیتا ہے۔ دونوں ایک ساتھ استعمال نہیں ہو سکتے، اور دوسرے کو چننا یہ بدل دیتا ہے کہ بحالی کا مالک کون ہے۔ فرق یہ ہے کہ دوبارہ کوشش کا فیصلہ کون کرتا ہے، اور کوشش میں کتنی حالت بچتی ہے۔

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

ہر تعیناتی کے لیے ایک لائف سائیکل چنیں اور وجہ لکھیں۔ دونوں ہدایات رکھنے والا پروفائل ایسا پروفائل ہے جس نے فیصلہ نہیں کیا۔

ہر ناکامی کو اس کی اپنی صورت کے طور پر جانچیں

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

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

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