Windows میں "میرا OpenVPN پروفائل کہاں ہے" کے دو مختلف جواب ہیں، اور غلط انتخاب ایک دوپہر ضائع کر دیتا ہے۔ کمیونٹی OpenVPN GUI ایک ڈائریکٹری کو اپنی پروفائل فہرست سمجھتا ہے: ترتیب شدہ فولڈر میں ہر .ovpn فائل سسٹم ٹرے مینو میں نظر آتی ہے، اور اسی فولڈر سے ہٹائی گئی فائل غائب ہو جاتی ہے۔ OpenVPN Connect درآمدی ذخیرے سے کام کرتا ہے، اس لیے وہ وہ پروفائل رکھتا ہے جو آپ نے ڈسک سے حذف کیا اور اُس فائل کو نظر انداز کرتا ہے جو آپ نے اس میں نقل کی۔ نیچے دیا گیا موازنہ وہی ہے جو میں کچھ بھی چھونے سے پہلے یہ طے کرنے کے لیے استعمال کرتا ہوں کہ کون سا فولڈر کھولوں۔

فولڈر فہرست بمقابلہ درآمدی ذخیرہ

کمیونٹی GUI شروع ہوتے وقت فائلیں گنتا ہے: تنصیب کے وقت منتخب کردہ ایک ترتیبی ڈائریکٹری پڑھتا ہے، اور وہاں موجود .ovpn فائل ایک پروفائل ہے۔ کلائنٹ بند کریں، اُس فولڈر میں فائل نقل کریں، اسے دوبارہ شروع کریں، اور اندراج مینو میں ہو گا۔

Connect اس کے برعکس اپنی فہرست درآمد کے دوران لکھے گئے ریکارڈز سے بناتا ہے، اس لیے نقل کی گئی فائل نظر نہیں آتی، جبکہ درآمد شدہ پروفائل اصل ڈاؤن لوڈ کے حذف ہونے کے بعد بھی قائم رہتا ہے۔ یہی ایک فرق اُن زیادہ تر رپورٹوں کی وضاحت کرتا ہے جو کہتی ہیں کہ دونوں کلائنٹ پروفائلز الگ الگ جگہوں پر رکھتے ہیں، کیونکہ وہ واقعی ایسا کرتے ہیں۔

کمیونٹی GUI: اصل میں کون سا فولڈر استعمال ہوتا ہے

دو فولڈر اہم ہیں۔ فی صارف تنصیب %USERPROFILE%\OpenVPN\config پڑھتی ہے؛ تمام صارفین کی تنصیب C:\Program Files\OpenVPN\config، یا x86 راستہ پڑھتی ہے جب کلائنٹ 32-bit ہو۔ اگر کوئی پروفائل صرف ایک Windows اکاؤنٹ کے لیے ظاہر ہو، تو وہ فی صارف فولڈر میں ہے اور دوسرا اکاؤنٹ اسے کبھی نہیں دیکھے گا۔

انسٹالر سے راستے کا اندازہ نہ لگائیں۔ GUI --config_dir دلیل قبول کرتا ہے اور جس ڈائریکٹری سے شروع ہوا اسے یاد رکھتا ہے، اس لیے شارٹ کٹ بالکل کہیں اور اشارہ کر سکتا ہے۔ کوئی بھی فائل بنانے سے پہلے شارٹ کٹ کا ہدف اور Start in فیلڈ، یا GUI ترتیبات جانچیں۔

ہٹانا فائل ہٹانا ہے۔ پہلے GUI بند کریں تاکہ وہ اندراج کو میموری میں نہ رکھے، .ovpn کو اس کے ساتھ رکھی گئی کسی بھی سرٹیفکیٹ یا کلید فائل کے ساتھ حذف کریں، پھر کلائنٹ دوبارہ شروع کریں۔

تمام صارفین کے فولڈر کے لیے بلند اختیار والا حذف درکار ہے۔ وہاں خاموشی سے کچھ نہ کرنے والا حذف UAC ہے، کلائنٹ کی خرابی نہیں۔

Connect: درآمدی ذخیرہ اور دوہرا AppData جال

موجودہ 2.x اور 3.x بلڈز پروفائلز %APPDATA%\OpenVPN Connect\profiles کے تحت رکھتے ہیں۔ 2.5 کے آس پاس کے بلڈز اس کے بجائے %ProgramFiles(x86)%\OpenVPN Technologies\OpenVPN Client\etc\profile استعمال کرتے تھے، اسی لیے پرانے اور نئے فورم جوابات متضاد لگتے ہیں۔ اسی جگہ اپ گریڈ شدہ مشین اب بھی دونوں رکھ سکتی ہے۔

راستے دوبارہ سناتے وقت بگڑ جاتے ہیں۔ %AppData% پہلے ہی AppData\Roaming میں حل ہوتا ہے، اس لیے %AppData%\Roaming\OpenVPN Connect\profiles لکھنا AppData\Roaming\Roaming میں پھیل جاتا ہے اور کہیں اشارہ نہیں کرتا۔ متغیر یا لفظی راستہ استعمال کریں، دونوں کا مرکب کبھی نہیں۔

کلائنٹ کے ذریعے حذف کریں: Profiles کھولیں، پنسل آئیکن استعمال کریں، Delete منتخب کریں۔ یہ ریکارڈ اور محفوظ نقل دونوں کو اکٹھا ہٹاتا ہے۔ Connect کے چلتے ہوئے فولڈر ہٹانے سے ایسا ریکارڈ رہ سکتا ہے جو کچھ نہیں کھولتا، اور یہی "profile still shows up" شکایت کی دوسری صورت ہے۔

درآمد شدہ نقل ہی وہ ہے جو کلائنٹ چلاتا ہے۔ Downloads میں رہ جانے والی .ovpn میں ترمیم کرنے سے کچھ نہیں بدلتا، کیونکہ Connect اپنی محفوظ نقل پڑھتا ہے؛ remote یا cipher بدلنے کے لیے کلائنٹ کے اندر پروفائل میں ترمیم کریں، یا فائل میں ترمیم کر کے دوبارہ درآمد کریں ۔

حذف شدہ پروفائل واپس کیوں آتا ہے

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

دوسری وجہ ایسا پروفائل ہے جو آپ کے جانچے گئے فولڈر میں کبھی نہیں تھا۔ نیٹ ورک شیئر یا Downloads فولڈر سے ایک بار .ovpn کھولنے پر وہ فی صارف ترتیبی ڈائریکٹری میں نقل ہو سکتا ہے، اور درآمد شدہ Connect پروفائلز صرف AppData میں موجود ہوتے ہیں۔ کچھ بھی تبدیل کرنے سے پہلے فائل کا نام %USERPROFILE% اور %APPDATA% دونوں کے تحت تلاش کریں۔ پروفائل فولڈر عام طور پر .ovpn کے ساتھ نجی کلید رکھتا ہے، اس لیے یہ ثابت کرنے کے لیے کہ آپ نے کون سا پروفائل ہٹایا، فولڈر کبھی ٹکٹ یا چیٹ میں نہ چسپاں کریں - اس کے بجائے فائل کا نام اور وقت کی مہر بتائیں۔

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

ایک ساتھ دو ٹنل: پہلے اڈاپٹر، پھر راستہ

GUI کئی کنکشن رکھ سکتا ہے، ہر ورچوئل اڈاپٹر کے لیے ایک؛ Start مینو کی اُس اندراج سے اڈاپٹر شامل کریں جو TAP-Windows6 نصب کرتی ہے، پھر Network Connections میں تعداد کی تصدیق کریں، کیونکہ ایک ساتھ دو ٹنلوں کے لیے دو اڈاپٹر درکار ہیں اور دونوں کو اپنا پتہ خودکار طور پر ملنا چاہیے۔ روٹنگ زیادہ مشکل حد ہے۔ تمام ٹریفک موڑنے والے دو پروفائلز ڈیفالٹ راستے کے لیے مقابلہ کرتے ہیں، اور صرف ایک ہی اس کا مالک ہو سکتا ہے، اس لیے دو کام کرنے والے ٹنلوں کے بجائے آپ کو وقفے وقفے سے ناکامیاں ملتی ہیں۔ ایک مکمل ٹنل رکھیں اور دوسرے کو ایسا split-tunnel پروفائل دیں جو صرف اپنا سب نیٹ دھکیلے۔

اوورلیپ ہوتے نجی رینج اڈاپٹر شامل کر کے درست نہیں ہو سکتے۔ اگر دونوں سرور 10.8.0.0/24 دیتے ہیں، دوسری ٹنل پتے کی سطح پر ٹکراتی ہے اور کوئی کلائنٹ ترتیب انہیں الگ نہیں کرے گی۔

اڈاپٹر کے نام بتاتے ہیں کہ آپ کیا دیکھ رہے ہیں۔ PowerShell میں Get-NetAdapter TAP-Windows اڈاپٹرز اور Wintun اڈاپٹر نام سے فہرست کرتا ہے، جو ٹنل کے غلط اڈاپٹر پر اٹھنے پر Network Connections میں آئیکن گننے سے تیز ہے۔

اسکرپٹ سے نامزد پروفائل شروع کرنا

GUI پروفائل کا نام اپنی ترتیبی ڈائریکٹری کی نسبت سے لیتا ہے، اس لیے لانچر ایسا دکھتا ہے: "C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect "myvpn.ovpn"۔ مطلق راستہ، یا کسی دوسری ورکنگ ڈائریکٹری میں شروع کیا گیا عمل، خاموشی سے ناکام ہوتا ہے، اسی لیے ڈبل کلک سے چلنے والا شارٹ کٹ Task Scheduler کے تحت ٹوٹ جاتا ہے۔

امید کے بجائے ورکنگ ڈائریکٹری مقرر کریں۔ AutoHotkey لانچر میں وہ SetWorkingDir ہے، C:\Program Files\OpenVPN\config؛ Task Scheduler میں وہ عمل کا Start in فیلڈ ہے۔ اسی راستے کے ساتھ --config_dir بھیجنے سے لانچر دونوں سے آزاد ہو جاتا ہے۔

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

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