موجودہ VPN کو جوڑنے والے چھوٹے پروگرام کو نیا VPN نفاذ نہیں، کنٹرولر چاہیے۔ معاون انجن کو بات چیت اور ٹنل ٹریفک سنبھالنا چاہیے؛ آپ کے پروگرام کو صارف کی درخواست بیان کرنی چاہیے اور نتیجہ ایمانداری سے واضح کرنا چاہیے۔ Linux پر NetworkManager D-Bus انٹرفیس اس کنٹرولر کو پیروی کے لیے ٹھوس ماڈل دیتا ہے۔

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

پہلی جانچ: کون سی شناخت منتخب کی جاتی ہے

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

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

دوسری جانچ: فعال کرنے کی کال کیا واپس کرتی ہے

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

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

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

تیسری جانچ: حالت کیسے پیش کی جاتی ہے

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

غیر ہم وقت جوابات کو اس درخواست سے جوڑیں جس نے انہیں پیدا کیا۔ پرانی کوشش کی تاخیر سے تکمیل نئی صارف کارروائی پر نہیں لکھنی چاہیے، اور Connect پر دوہرا دباؤ یا تو نظر انداز کیا جائے یا نظر آنے والی پالیسی کے ساتھ منسوخ-اور-دوبارہ کوشش سمجھا جائے۔

چوتھی جانچ: دوبارہ آغاز کے بعد کیا ہوتا ہے

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

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

اختیار اور راز ان کے مالکان کے پاس رکھیں

اجازتیں ہاں، auth یا نہیں کی صورت میں واپس آتی ہیں، اور انٹرفیس کو اجازت شدہ، تصدیق کے بعد اجازت شدہ اور مسترد کے درمیان فرق دکھانا چاہیے۔ کنٹرولر کو root کے طور پر چلانا اجازت کی پالیسی نافذ نہیں کرتا؛ یہ سوال ہی ہٹا دیتا ہے۔

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

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

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