روزانہ OpenVPN دوبارہ شروع کریں؟ گھڑی نہیں، ناکامی چنیں
کیلنڈر کے مطابق دوبارہ شروع کرنا دیکھ بھال ہے، بحالی نہیں۔ طے کریں کہ ساتھی، عمل یا ایپلیکیشن ناکام ہوئی، پھر اُس تہہ کو مطلوبہ محرک دیں۔
آپ کو ایک cron کام ورثے میں ملتا ہے جو روزانہ 04:10 بجے OpenVPN دوبارہ شروع کرتا ہے، اور یہ ایک سال سے سب کچھ مستحکم رکھے ہوئے ہے۔ مگر یہ مقررہ وقت پر ایک صحت مند سرنگ بھی منقطع کرتا ہے اور دوپہر کے کھانے کے وقت واقعی ہونے والی رکاوٹ کے لیے کچھ نہیں کرتا۔ کیلنڈر کے مطابق دوبارہ شروع کرنا دیکھ بھال کا فیصلہ ہے۔ بحالی ایک مختلف ڈیزائن ہے جس کا مخصوص محرک ہوتا ہے۔
ناکامی کی تین شکلوں کے لیے تین مختلف مالکان درکار ہیں۔ پہلے ناکامی چنیں، پھر طریقہ کار خود آ جائے گا۔
تین ناکامیاں، تین مالکان
سرنگ چل رہی ہو سکتی ہے جبکہ اس کا ساتھی جا چکا ہو: عمل چل رہا ہے، انٹرفیس موجود ہے، اور اس میں سے کوئی مفید چیز نہیں گزرتی۔ عمل مردہ ہو سکتا ہے جبکہ ساتھی ٹھیک ہو، اور تب صرف وہی اسے واپس لا سکتا ہے جس نے اسے شروع کیا تھا۔ سرنگ کے پیچھے کی ایپلیکیشن خراب ہو سکتی ہے جبکہ سرنگ اور ساتھی دونوں صحت مند ہوں، اور تب کلائنٹ دوبارہ شروع کرنا سبب کو چھوئے بغیر رکاوٹ کو وسیع کرتا ہے۔ ان تین صورتوں کو الگ کرنا ہی پورا فیصلہ ہے۔
ہر ایک کا اپنا اشارہ اور اپنا مالک ہے۔ حیاتیت VPN پروٹوکول کی ہے، عمل کا زندگی نامہ سروس مینیجر کا ہے، اور ایپلیکیشن کی صحت تنگ اختیار والی نگرانی کی ہے۔
حیاتیت کا آپشن کیا کر سکتا ہے اور کیا نہیں
keepalive ایک مددگار ہے جو ping اور ping-restart کی جوڑی میں پھیلتا ہے، جیسا کہ لنک آپشن ریفرنس بیان کرتا ہے، اور یہ جو وقت کی حدیں بناتا ہے وہ سرور اور کلائنٹ پر یکساں نہیں ہوتیں۔ سرور کے بھیجے گئے اقدار کلائنٹ کی مقامی ترتیب کو بھی بدل سکتے ہیں، اسی لیے مقامی فائل میں درست نظر آنے والی وقت کی حد وہ نہیں ہو سکتی جو نافذ ہو۔
اسی لیے یہ گمشدہ ساتھی کے لیے درست اوزار ہے اور مردہ عمل کے لیے غلط اوزار، کیونکہ باہر نکل چکا عمل اپنے ٹائمر نہیں چلا سکتا۔ یہ اس بارے میں بھی کچھ نہیں کہتا کہ سرنگ کے پیچھے کی ایپلیکیشن جواب دیتی ہے یا نہیں، کیونکہ تبادلہ دو VPN سروں کے درمیان ہوتا ہے۔ کردار، متوقع رکاوٹوں اور دوبارہ تصدیق کے رویے کی جانچ کیے بغیر کسی دوسری تعیناتی سے وقت کی حدوں کی جوڑی نقل کرنا ہی مستحکم سرنگ کے کانپنے کا آغاز ہے۔
سروس مینیجر کے پاس کیا ہے
اگر ڈیمن باہر نکل جائے تو جس مینیجر نے اسے شروع کیا وہی طے کرتا ہے کہ آگے کیا ہوگا۔ ناکامی پر مبنی دوبارہ شروع کرنے کی پالیسی، تاخیر اور آغاز کی رفتار کی حد کے ساتھ، کریش لوپ کو فورک بم بنائے بغیر سنبھالتی ہے۔ وہ سیٹنگز عمل کے نتائج اور وقت کی حدوں پر ردعمل دیتی ہیں، اور زندہ مگر بیکار عمل کو نہیں پکڑتیں۔ یہ وسیع پالیسی سے بھرنے والا خلا نہیں؛ یہ زندگی نامے اور حیاتیت کے درمیان سرحد ہے۔
ملکیت سیٹنگز جتنی ہی اہم ہے۔ ڈیسک ٹاپ نیٹ ورک مینیجر کا شروع کردہ کنکشن اُسی مینیجر کا بحالی انتظام رکھنا چاہیے، اور اُسی انٹرفیس کے لیے حریف سروس یونٹ شامل کرنے سے ایک سرنگ کے دو مالک ہو جاتے ہیں۔ ایک چنیں اور لکھیں کہ کون سا ہے۔
شیڈول شدہ دوبارہ شروع کرنا کب جائز ہے
وقت کے مطابق دوبارہ شروع کرنا مناسب دیکھ بھال کا عمل ہو سکتا ہے: اس کا مالک، ونڈو، نامزد انسٹانس اور آزاد رسائی راستہ ہوتا ہے۔ مگر یہ عام بھروسے کی پالیسی نہیں ہو سکتا جو مقررہ وقت پر سب کو منقطع بھی کر دے۔
اگر دوبارہ شروع کرنا کسی معلوم رساؤ یا پھنسی ہوئی حالت سے بچنے کے لیے ہے تو یہ یونٹ کی تفصیل میں لکھیں، ورنہ اگلا شخص اسے ہمیشہ کے لیے رکھے گا۔
اہم صورتیں جانچیں: عمل چلتا رہے اور ساتھی غائب ہو جائے، عمل باہر نکل جائے، دوبارہ کوشش کے لیے نئے اسناد درکار ہوں، اور ایپلیکیشن خراب رہے جبکہ سرنگ واپس آ جائے۔ دیکھیں کون سا جزو ردعمل دیتا ہے اور پیچھے کون سی حالت چھوڑتا ہے۔
درست سوال یہ نہیں کہ کتنی بار دوبارہ شروع کریں، بلکہ یہ ہے کہ ناکامی کو پہلے کس نے نوٹ کرنا چاہیے۔