کنکشن جمعرات کو کام کر رہا تھا، اپ گریڈ جمعہ کو چلا، اور پیر کو کلائنٹ “connecting” پر گھومتا رہتا ہے اور ہار مان لیتا ہے۔ وہی لیپ ٹاپ، وہی سرور، وہی اکاؤنٹ، وہی پہلے سے شیئر کی گئی کلید۔ پروفائل میں کچھ بھی ایڈٹ نہیں کیا گیا، اسی لیے واضح مشتبہ افراد، پاس ورڈ اور فائر وال، آپ کا وقت ضائع کرتے ہیں۔

جو بدلا وہ ان تبدیلیوں کی فہرست ہے جو آپ کی مشین پیش کرنے کو تیار ہے۔ Ubuntu پر استعمال ہونے والے دونوں IPsec اسٹیک، strongSwan اور Libreswan، ان الگورتھم کو نکال دیتے ہیں جنہیں اب محفوظ نہیں سمجھتے، اور ان کے سامنے موجود NetworkManager پلگ ان کی اپنی فہرست ہے، جو مختلف شیڈول پر چلتی ہے۔ 3DES، SHA1 اور 1024 بٹ کے Diffie-Hellman گروپ پر پن شدہ سرور آخرکار وہ کچھ بھی نہیں سن سکتا جو وہ قبول کرتا ہے۔

اپ گریڈ نے درحقیقت کیا بدلا

IKEv1 تجویز کو دو پرتیں پالتی ہیں۔ ڈیمن کمپائل شدہ ڈیفالٹ تجاویز کا سیٹ فراہم کرتا ہے، اور L2TP پلگ ان یا تو اس پر انحصار کرتا ہے یا اپنی فہرست دیتا ہے۔ NetworkManager-l2tp 1.2.16 سے پہلے پلگ ان اسی پر انحصار کرتا تھا، اس لیے آپ کی تجویز وہی تھی جو نصب شدہ ڈیمن مناسب سمجھتا تھا۔ 1.2.16 سے آگے پلگ ان Windows اور Apple کلائنٹس کی طرز پر بنائی گئی دستاویزی فہرست بھیجتا ہے، اور وہ فہرست پرانے ڈیفالٹ سے وسیع ہے لیکن اب قطار کے شروع میں موجود ہر پرانا امتزاج شامل نہیں رکھتی۔

یہ تقسیم ناکامی کا وہ انداز بیان کرتی ہے جو لوگوں کو الجھا دیتا ہے: ایک ہی Ubuntu ورژن پر دو مشینیں مختلف برتاؤ کر سکتی ہیں کیونکہ ایک میں ڈسٹری بیوشن پیکج ہے اور دوسری میں backport، اور بگ رپورٹ میں دونوں پر ڈیمن ورژن یکساں دکھائی دیتا ہے۔ یہ نتیجہ اخذ کرنے سے پہلے کہ اپ گریڈ نے کوئی متعلقہ چیز نہیں بدلی، پلگ ان ورژن چیک کریں، صرف ڈیمن ورژن نہیں۔

اسی علاقے میں ایک چھوٹا جال ہے۔ دونوں ڈیمن بیضوی منحنی Diffie-Hellman گروپ مختلف طریقے سے لکھتے ہیں، ایک ecp384 لکھتا ہے اور دوسرا ecp_384۔ غلط ہجے Advanced ڈائیلاگ میں پیسٹ کریں اور ڈیمن اس سیٹنگ کو ناقابلِ تجزیہ کہہ کر مسترد کر دے گا، جو لاگ میں کنفیگریشن کی ٹائپنگ غلطی کی بجائے مذاکراتی مسئلے کے طور پر ظاہر ہوتا ہے۔

کچھ بدلنے سے پہلے ناکامی پڑھیں

اس سے شروع کریں کہ آپ کون سا بیک اینڈ چلا رہے ہیں، کیونکہ جواب سنٹیکس اور لاگ کی جگہ دونوں طے کرتا ہے۔

ipsec --version
nmcli connection show "Your VPN name" | grep -i ipsec

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

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

مرحلہ 1 اور مرحلہ 2 الگ داؤ ہیں

IKEv1 دو بار مذاکرات کرتا ہے۔ بنیادی موڈ IKE سیکیورٹی ایسوسی ایشن کو انکرپشن الگورتھم، انٹیگریٹی الگورتھم، Diffie-Hellman گروپ اور تصدیق کے طریقے سے بناتا ہے۔ پھر تیز موڈ وہ ESP ایسوسی ایشن بناتا ہے جو L2TP لے کر جائے گا۔ سرور پہلا قبول کرنے اور دوسرا مسترد کرنے میں آزاد ہے، اس لیے آدھا درست پروفائل آپ کی توقع سے دیر سے ناکام ہوتا ہے اور کسی اور بگ جیسا لگتا ہے۔

Phase 1: 3des-sha1-modp1024!
Phase 2: 3des-sha1!

فجائیہ نشان strongSwan سنٹیکس میں سخت اندراج ہے: صرف یہی ایک امتزاج پیش کریں، اور کچھ نہیں۔ اس کے بغیر اندراج فال بیک فہرست میں شامل ہو جاتا ہے، جو سامنے والا جدید ہو تو اچھا ہے اور ایک ہی سخت کوڈ شدہ پالیسی والے آلے کی صورت میں نقصان دہ ہے۔ اوپر کی جوڑی کو شکل کی مثال سمجھیں، آج آپ جو بھی بنا رہے ہیں اس کے لیے سفارش نہیں۔

ایک فیلڈ بدلیں، پھر ٹیسٹ دہرائیں

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

اگر خالی کرنے سے مدد نہ ملے، تو وہ سخت جوڑی مقرر کریں جو آپ کا سرور دستاویز کرتا ہے، ایک وقت میں ایک مرحلہ۔ مرحلہ 1 بدلیں، دوبارہ کنیکٹ کریں، اور مرحلہ 2 کو چھونے سے پہلے لاگ پڑھیں۔ جب امتزاج آخرکار کام کرے، تو اسے سرور ماڈل اور پلگ ان ورژن کے ساتھ لکھ لیں، کیونکہ ڈیفالٹ دوبارہ بدلیں گے اور وہی نوٹ اگلے اپ گریڈ کو پانچ منٹ کی جانچ میں بدل دیتا ہے۔

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