OpenConnect vpnc-script: کون سی فائل چل رہی ہے؟
روٹس اور DNS نصب کرنے والا مددگار ٹنل کلائنٹ سے الگ ہے۔ فورم کی کاپی سے بدلنے سے پہلے وہ راستہ تلاش کریں جو چلتا ہوا کلائنٹ استعمال کرتا ہے۔
OpenConnect ٹنل کی مصافحہ مکمل کر کے بھی آپ کو نجی ذیلی نیٹ تک راستے کے بغیر چھوڑ سکتا ہے، کیونکہ کلائنٹ اور مقامی نیٹ ورک کی حالت بدلنے والا مددگار دو مختلف پروگرام ہیں۔ تصدیق ثابت کرتی ہے کہ گیٹ وے نے سیشن قبول کیا؛ یہ اس بارے میں کچھ ثابت نہیں کرتی کہ بعد میں کون سا انٹرفیس، کون سے راستے یا ریزولور کی کون سی ترتیبات نصب ہوئیں۔ زیادہ تر الجھے ہوئے رپورٹس پرانے جواب سے لی گئی کاپی سے مددگار بدلنے سے آتی ہیں، جو مشین پر ہر کنکشن کا رویہ بدل دیتی ہے۔ اس کے کسی بھی حصے میں تبدیلی سے پہلے وہ مددگار تلاش کریں جسے چلتا ہوا کلائنٹ واقعی بلاتا ہے۔
دو پروگرام، دو ذمہ داریاں
کلائنٹ ٹرانسپورٹ، تصدیق اور ٹنل ڈیوائس کا مالک ہے۔ الگ مددگار اس کا مالک ہے جو ٹنل بننے کے بعد مقامی نظام میں ہوتا ہے: انٹرفیس پر پتہ کاری، گیٹ وے کے اعلان کردہ ذیلی نیٹ کے راستے، اور ریزولور کی ترتیب۔ OpenConnect مددگار کی دستاویزات اس تقسیم اور اس ماحول کی وضاحت کرتی ہیں جو مددگار کو ملتا ہے۔ ناکامی کے وقت یہ فرق اہم ہے، کیونکہ مسترد شدہ پاس ورڈ اور غائب راستہ ایک ہی واقعہ نہیں، چاہے ڈیسک ٹاپ دونوں کے لیے ایک ہی مکالمہ دکھائے۔
اس تقسیم کو یاد رکھنا یہ بھی واضح کرتا ہے کہ کنکشن کامیابی کی اطلاع کیوں دے سکتا ہے جبکہ نجی نام اب بھی حل نہیں ہوتے۔ دونوں صورتوں میں ٹنل قائم ہے، اور فرق صرف مقامی انضمام کے مرحلے کا ہے۔
وہ مددگار تلاش کریں جو چلتا ہوا کلائنٹ استعمال کرتا ہے
راستہ پیکج بناتے وقت طے ہوتا ہے اور ہر کال پر بدلا جا سکتا ہے، اس لیے کسی دوسری تقسیم سے یاد رہنے والی فائل کا اس کنکشن سے کوئی تعلق نہ ہو۔ جو دستاویز اتفاقاً کھلی ہے اس سے نہیں، چلتے ہوئے عمل سے پوچھیں۔
openconnect --version
ps -o args= -C openconnect
dpkg -L openconnect | grep -i script
ls -l /etc/vpnc/ 2>/dev/null
اگر عمل کی سطر میں --script دلیل ہو تو وہ فائل مرتب شدہ طے شدہ قدر پر بھاری پڑتی ہے۔ /etc/vpnc/vpnc-script جیسے پرانے راستے موجود ہو کر بھی غیر استعمال شدہ رہ سکتے ہیں، اسی لیے انہیں مٹانا یا ترمیم کرنا نئی بلڈ پر کچھ نہیں بدلتا۔ تبدیلی کی تاریخ بھی دیکھیں، کیونکہ برسوں سے جس مددگار کو کسی نے نہ چھوا ہو وہ اس بات کا مضبوط اشارہ ہے کہ پیکج کی طے شدہ قدر کام کر رہی ہے۔
NetworkManager انضمام تیسرا مالک ہے، جس کا اپنا مددگار اور اپنی پروفائل ترتیبات ہیں۔ اس انضمام کے اوپر دوسری راستہ یا ریزولور اسکرپٹ چڑھانے سے راستے دوگنے ہو جاتے ہیں اور ایسا ریزولور رہ جاتا ہے جسے دو پروگرام اپنا کہتے ہیں۔ ہر کنکشن کے لیے ایک مالک منتخب کریں اور جانچ سے پہلے دوسرے کو بند کریں۔
آخری انتباہ نہیں، پہلی ناکام کارروائی پڑھیں
انٹرفیس کی ترتیب، راستوں کی تنصیب، ریزولور کا انتخاب اور پرانی حالت کی صفائی الگ الگ مراحل ہیں، اور سب سے آخر میں چھپنے والا انتباہ اکثر صفائی کی شکایت ہوتا ہے نہ کہ وہ ناکامی جس نے کنکشن توڑا۔ پہلی مخصوص ناکام کارروائی تک اوپر پڑھیں۔ فائل یا پتے کا نام لینے والی مددگار کی غلطی دس سطروں کے توڑ پھوڑ کے شور سے زیادہ قیمتی ہے۔
مطلوبہ مقامی نتیجے کا مشاہدہ شدہ نتیجے سے موازنہ کریں: ٹنل ڈیوائس موجود ہے، کسی معلوم نجی پتے کا راستہ اس سے گزرتا ہے، اور ریزولور کسی نجی نام کا جواب دیتا ہے۔ جو مددگار پہلے دو میں کامیاب اور تیسرے میں ناکام ہو وہ روٹنگ نہیں بلکہ ریزولور پالیسی کی طرف اشارہ کرتا ہے۔ جو مددگار ڈیوائس کو بالکل ترتیب ہی نہیں دیتا وہ شاید کبھی چلا ہی نہیں، اور یہ نیٹ ورک نہیں بلکہ اجازتوں کا سوال ہے۔ کوئی بھی منطق دوبارہ لکھنے سے پہلے قابلِ عمل بٹ اور سروس اکاؤنٹ کی تصدیق کریں۔
کنکشن، دوبارہ کنکشن اور منقطع ہونے کی تصدیق کریں
ترتیب معاہدے کا صرف نصف ہے، کیونکہ ٹنل بند ہونے پر وہی مددگار اپنی ملکیت کی حالت بحال یا ہٹانا ضروری ہے۔ جو مددگار راستے شامل کرتا ہے اور کبھی نہیں ہٹاتا وہ مشین پر سیشن سے زیادہ چلنے والا پرانا راستہ چھوڑ دیتا ہے۔
ip -brief address show tun0
ip route get 10.24.8.15
resolvectl status tun0
journalctl -u NetworkManager -b --no-pager | grep -i -E 'vpnc|script'
جڑے ہونے کے دوران پہلی تین چلائیں، منقطع کریں، پھر دوبارہ چلائیں اور تصدیق کریں کہ راستہ اور ریزولور اندراج جا چکے ہیں۔ چوتھی سطر دکھاتی ہے کہ مددگار بلایا گیا یا نہیں اور سروس نے کون سا قابلِ عمل راستہ استعمال کیا۔ وہ دونوں آؤٹ پٹ ٹکٹ میں محفوظ کریں، کیونکہ پہلے اور بعد کا موازنہ ہی صفائی کی خرابی کو واضح کرتا ہے۔
مددگار کو پیکج شدہ اور سروس اکاؤنٹ کے لیے قابلِ عمل رکھیں، کیونکہ آپ کے شیل میں چلنے والی اسکرپٹ بھی محدود سروس پالیسی کے تحت مسترد ہو سکتی ہے۔ جب حسبِ ضرورت تخصیص واقعی درکار ہو تو اس کا مقصد اور مالک درج کریں اور ہر اپ گریڈ پر پیکج شدہ ورژن سے موازنہ کریں۔ مددگار کی غیر واضح شاخ ان چند چیزوں میں سے ہے جو سال بعد چلتے کنکشن کو بھی ناکام کر سکتی ہے۔