OpenVPN انجن یا Tunnelblick: Mac VPN سیشن کس کی ملکیت ہے؟
ٹرمینل تقسیم کرنے والی لکیر نہیں ہے۔ فیصلہ کریں کہ سیشن کس کی ملکیت ہے: وہ انجن جو آپ شروع کرتے ہیں یا وہ منتظم جو DNS، اسناد اور صفائی سنبھالتا ہے۔
Homebrew ایک OpenVPN پروگرام نصب کرتا ہے؛ Tunnelblick ایک منتظم نصب کرتا ہے جو ایک یا زیادہ انجن چلاتا ہے۔ یہ مختلف تہیں ہیں، اور مفید سوال یہ نہیں کہ آپ کو ٹرمینل استعمال کرنا پسند ہے یا نہیں۔ بلکہ یہ کہ ترتیب، DNS کی تبدیلیاں، اسناد کی درخواست اور سیشن ختم ہونے پر صفائی کس کی ہے۔ ان تہوں کے لیے ایک ہی مالک ہونا ہی ترتیب کو قابلِ پیشگوئی بناتا ہے۔
نیچے دیے گئے پانچ امتحان ترتیب سے کریں۔ پہلا امتحان جس کے دو مالک ہوں وہی وہ عجیب نیم منسلک حالتیں پیدا کرتا ہے جنہیں لوگ OpenVPN پر ہی ڈالتے ہیں۔ ہر امتحان اُس ثبوت کا نام لیتا ہے جو اُسے طے کرتا ہے۔
پہلا امتحان: کون سی OpenVPN بائنری واقعی چل رہی ہے
جڑے رہتے ہوئے pgrep -fl openvpn چلائیں اور پوری کمانڈ لائن پڑھیں۔ پہلا راستہ وہی انجن ہے جو واقعی چل رہا ہے۔ Apple Silicon پر Homebrew کی تنصیب عام طور پر /opt/homebrew کے نیچے ہوتی ہے، Intel Mac /usr/local استعمال کرتے ہیں، اور Tunnelblick اپنے ہی ایپلیکیشن بنڈل کے اندر سے انجن چلاتا ہے۔
Tunnelblick انجنوں کو یکجا کرتا ہے اور ترتیب کو ان میں سے ایک چننے دیتا ہے۔ Homebrew فارمولا اپ ڈیٹ کرنے سے الگ بائنری بدلتی ہے، وہ انجن نہیں جسے Tunnelblick پروفائل شروع کرتا ہے۔ اگر آپ رویے کا فرق سمجھانے کے لیے ورژن موازنہ کرتے ہیں تو پیکج منتظم کے انجن کی نہیں، پروسیس فہرست کے انجن کی موازنہ کریں۔ صرف ورژن کی تار آپ کو نہیں بتائے گی کہ اُس انجن نے کون سی پروفائل لوڈ کی۔
نقل شدہ پروفائل مختلف فائلیں پڑھتے ہوئے بھی دو انجنوں کو یکساں دکھا سکتی ہے۔ کمانڈ لائن میں پروفائل کا راستہ بتاتا ہے کہ چلتی ہوئی پروسیس نے کون سی ترتیب لوڈ کی؛ ایڈیٹر میں کھلی پروفائل ثبوت نہیں ہے۔ رویے کا موازنہ کرنے سے پہلے اُس راستے کا موازنہ کریں۔
دوسرا امتحان: DNS اور راستے کون بدلتا ہے
انجن OpenVPN کی اپنی up اور down ہدایات چلا سکتا ہے، لیکن منتظم اُسی زندگی کے دور کا مالک ہو سکتا ہے۔ Tunnelblick کی نام سرور ترتیبات اُس کے معیاری رابطہ اور منقطعہ اسکرپٹس کو کنٹرول کرتی ہیں، اور جب وہ انضمام فعال ہو تو پروفائل کی مسابقتی ہدایات نظرانداز ہو سکتی ہیں۔
یہ اہم ہے کیونکہ DNS ہی وہ جگہ ہے جہاں چلتی سرنگ زیادہ تر ٹوٹی دکھتی ہے۔ جڑے رہتے ہوئے scutil --dns دیکھیں، نوٹ کریں کہ کون سا حل کنندہ پہلے ہے، اور تصدیق کریں کہ منقطع ہونے کے بعد وہ واپس آتا ہے۔ اگر پروفائل خود DNS مقرر کرنے کی توقع رکھتی ہو جبکہ منتظم بھی اُسے سنبھالتا ہو، تو دونوں میں سے ایک ہارے گا۔
پہلے رابطے سے قبل طے کریں کہ کون سی تہہ DNS کی مالک ہے، پھر دونوں کو رکھنے کے بجائے ہارنے والی ہدایت ہٹا دیں۔ راستوں کی تبدیلیاں بھی اُسی قاعدے کی پیروی کرتی ہیں: ایک مالک، ترتیب میں نظر آنے والا، دستاویزی بحالی راستے کے ساتھ۔
تیسرا امتحان: اسناد کہاں سے آتی ہیں
تفاعلی درخواست اور بغیر نگرانی والی پروسیس کی ضروریات مختلف ہیں۔ ایک ایپلیکیشن کی محفوظ کردہ سند خودبخود دوسری پروسیس کے لیے دستیاب نہیں ہوتی، اور منتظم تک محدود کی چین آئٹم شیل سے شروع کیے گئے آزاد انجن کو نظر نہیں آ سکتا۔
پروفائل کے لیے اسناد کا ماخذ گنوائیں: کلائنٹ سرٹیفکیٹ اور کلید، صارف نام اور پاس ورڈ کی درخواست، یا بیرونی معاون کا فراہم کردہ ٹوکن۔ پھر تصدیق کریں کہ منتخب مالک بغیر کسی انسان کے اُس ماخذ تک پہنچ سکتا ہے، اگر رابطے کو دوبارہ چلنے کے بعد بھی باقی رہنا ہے۔
چوتھا امتحان: پروسیس کو کون شروع کرتا، نگرانی کرتا اور روکتا ہے
آزاد تنصیب کو نگران کی ضرورت ہوتی ہے اگر اُسے جاری رہنا ہے۔ Launchd انجن کو لاگ ان پر یا طلب پر شروع کر سکتا ہے، خرابی کے بعد دوبارہ چلا سکتا ہے اور صاف طریقے سے روک سکتا ہے، لیکن کسی کو وہ کام لکھنا اور اُس کا مالک بننا ہوگا۔ ٹرمینل میں کمانڈ چلانا آزمائش کے لیے کام کرتا ہے، ونڈو بند کرنے والے صارف کے لیے نہیں۔
اگر Tunnelblick مالک رہے تو دوسرا انجن شروع کرنے کے بجائے اُس کے معاون کنٹرول استعمال کریں۔ Homebrew بائنری نقل شدہ پروفائل ملنے پر موجودہ Tunnelblick سیشن کو حکم دینے کے بجائے اپنی ترتیب اور انضمامی سیاق کے ساتھ آزاد رابطہ کھولتی ہے۔
کوئی بھی مالک چنیں، نیند، نیٹ ورک کی تبدیلی اور لاگ آؤٹ پر کیا ہوتا ہے طے کریں۔ منتظم عام طور پر اُن واقعات کو سنبھالتا ہے؛ ننگی پروسیس عام طور پر نہیں، اور اُس سے بننے والا پرانا راستہ یا حل کنندہ سرور کی خرابی سمجھ لیا جاتا ہے۔
پانچواں امتحان: حوالگی کی تصدیق کیسے ہوتی ہے
پرانا مالک بند رکھ کر نیا مالک آزمائیں، پھر پرانا رکھنے کا ارادہ ہو تو اُسے دوبارہ آزمائیں۔ ایک ورک فلو میں جواب دینے والا اور دوسرے میں نہ دینے والا نجی وسیلہ غائب انضمام کا ثبوت ہے، سرور کا نہیں۔
آزاد انجن کو حوالگی کے لیے پروفائل راستہ، بائنری راستہ، نگران، DNS کا مالک اور اسناد کا ماخذ درج کریں۔ پھر اُسی ترتیب سے نجی وسیلہ، عوامی انٹرنیٹ کا راستہ اور صاف منقطعی کی تصدیق کریں۔ اگر منقطع ہونے کے بعد DNS یا راستے باقی رہیں, نیا مالک مکمل نہیں ہوا۔
Tunnelblick کو حوالگی کے لیے ترتیب کے لیے انجن چنیں، مطلوبہ DNS انضمام فعال کریں اور اُس کے خلاف پروفائل ہدایات ہٹا دیں۔ پھر وہی تین امتحان دہرائیں۔ چلنے والا مگر حل کنندہ بدلا ہوا چھوڑنے والا رابطہ سرنگ اٹھنے کے باوجود ناکام حوالگی ہے۔
پیکیجنگ سرور کے ساتھ مطابقت طے نہیں کرتی۔ خدمت کی اپنی کلائنٹ ضروریات دیکھیں، اور صرف اُس وقت اکیلا انجن چنیں جب آپ اُس کی منتظمی خود فراہم کرنے کا ارادہ رکھتے ہوں۔