OpenVPN Connect fragment مسترد کرتا ہے: پروفائل کا ماخذ درست کریں
OpenVPN Connect میں fragment کی معاونت نہیں، اس لیے تجزیہ شدہ پروفائل پھر بھی ناکام ہو سکتا ہے۔ اسی کلائنٹ کے لیے بنا پروفائل لیں، یا سرور کی جانب جان بوجھ کر بدلیں۔
خرابی درآمد کے وقت، کسی بھی گفت و شنید سے پہلے، آتی ہے اور ایسی ہدایت کا نام لیتی ہے جسے کلائنٹ ماننے سے انکار کرتا ہے۔ OpenVPN Connect اوپن وی پی این 3 لائبریری کا کوڈ چلاتا ہے، جو کمیونٹی کلائنٹ کے fragment اختیار کو بالکل نافذ نہیں کرتا۔ یہ معاملے کو دو سروں کی مطابقت کا سوال بنا دیتا ہے، نہ کہ پیکٹ کے حجم کی تنظیم کا سوال۔
اس سطر کو حذف کرنے سے ایسی فائل ملتی ہے جسے کلائنٹ تجزیہ کرے گا، اور ایسا سرور جو شاید اب بھی وہی فارمیٹ توقع کر رہا ہو جو اس سطر میں بیان ہوا تھا۔ کچھ بھی بدلنے سے پہلے اسے درآمد کی اسکرین سے باہر کی طرف چل کر دیکھیں۔
درآمد کہاں رکتی ہے
درآمد کنندہ سرور سے رابطہ کرنے سے پہلے ہدایات کا تجزیہ کرتا ہے، اس لیے وہاں انکار نحو کے بارے میں مقامی فیصلہ ہے نہ کہ نیٹ ورک کا نتیجہ، اور OpenVPN کی غیر معاون ہدایات کی فہرست بھی یہی حد درج کرتی ہے۔ اس سے واضح ہوتا ہے کہ ایک ہی فائل ایک ہی مشین پر کمیونٹی کلائنٹ میں کیسے چل سکتی ہے اور Connect میں ناکام کیسے ہو سکتی ہے۔ پیغام میں ہدایت کا نام پڑھیں اور اصل فائل سنبھال کر رکھیں، کیونکہ وہی متن اس بات کا واحد ثبوت ہے کہ کلائنٹ نے کس چیز پر اعتراض کیا۔ درآمد کی خرابی اور کنکشن کا وقت ختم ہونا مختلف مراحل سے آتے ہیں اور مختلف جواب کے مستحق ہیں۔
اگر پیغام fragment کا نام لے تو باقی سوال یہ ہے کہ کیا سرور بھی اسی پر منحصر ہے۔ جو پروفائل آپ کو دیا گیا اسے چھونے سے پہلے اس کا جواب دیں۔
fragment کمیونٹی کلائنٹ میں کیا بدلتا ہے
کمیونٹی کلائنٹ میں یہ ہدایت OpenVPN کی اپنی ڈیٹا گرام تقسیم کو فعال کرتی ہے، جو پے لوڈ کو بیرونی IP پرت تک پہنچنے سے پہلے بانٹ دیتی ہے۔ یہ ان راستوں سے گزرنے کے لیے ہے جو بڑے UDP ڈیٹا گرام گرا دیتے ہیں، اور یہ کہ ٹنل وہاں قابل استعمال رہے جہاں راستے کے MTU کی دریافت پر بھروسا نہیں کیا جا سکتا۔ یہ انٹرفیس کے MTU کو کم کرنے کا مترادف نہیں، اور یہ IP سطح کی تقسیم بھی نہیں جو آپریٹنگ سسٹم کرتا ہے۔ اس طریقہ کار سے محروم کلائنٹ کوئی عدد کم کر کے اسے حاصل نہیں کر سکتا۔
چونکہ یہ ترتیب سرور کی کنفیگریشن میں بھی رہتی ہے، اسے اپنی نقل سے ہٹانا صرف آپ کی جانب بدلتا ہے۔ سرور شاید اب بھی ایسے ساتھی کا انتظار کر رہا ہو جو اس اختیار کو سمجھتا ہو، اور تجزیہ شدہ پروفائل ابھی قائم ہونے والا سیشن نہیں۔ یہ دونوں حقائق اس الجھن بھری درمیانی حالت کی وضاحت کرتے ہیں جس میں ترمیم شدہ فائل جڑتی ہے اور پھر رک جاتی ہے۔
اس کلائنٹ کے لیے بنا پروفائل طلب کریں
صاف راستہ دوسرا پروفائل ہے جو OpenVPN Connect کے لیے دستاویز شدہ ہو، اگر سروس ایسا شائع کرتی ہو۔ بہت سے فراہم کنندگان ایسا کرتے ہیں، اور فرق عام طور پر ان ہدایات میں ہوتا ہے جو وہ چھوڑ دیتے ہیں، نہ کہ اس سرے میں جس کی طرف اشارہ کرتے ہیں۔ اسے کلائنٹ کے نام سے طلب کریں، خرابی بیان کرنے کے بجائے، کیونکہ معاونتی میز پروفائل کو کلائنٹ سے بہت تیزی سے ملا سکتی ہے بہ نسبت کسی چھیلی ہوئی فائل کی تشخیص کے۔
اگر سرور آپ چلا رہے ہیں تو فیصلہ آپ کے اپنے کلائنٹ سے وسیع تر ہے۔ تقسیم بند کرنا ہر ساتھی کو متاثر کرتا ہے، ان کو بھی جنہیں خراب راستے پر جڑے رہنے کے لیے اس کی ضرورت تھی۔ متاثرہ کلائنٹ کے لیے دوسرا سننے والا یا دوسری کنفیگریشن شائع کرنا موجودہ صارفین کو کام کرتا رکھتا ہے جبکہ نیا کلائنٹ ایسی چیز پاتا ہے جس کا وہ تجزیہ کر سکے۔ آپ جو بھی کریں، لکھ رکھیں کہ کون سی کنفیگریشن کس کلائنٹ کی خدمت کرتی ہے، ورنہ یہ مطابقت جلد غائب ہو جائے گی۔
کنکشن کی تصدیق کریں، صرف درآمد کی نہیں
کامیاب درآمد صرف یہ ثابت کرتی ہے کہ تجزیہ کار نے فائل قبول کر لی۔ اپنے زیرِ کنٹرول مشین پر کمیونٹی کلائنٹ سے، اسی پروفائل کے ساتھ، ٹنل قائم کریں اور ٹرانسپورٹ اور سائفر کی گفت و شنید کے لیے لاگ پڑھیں۔ نیچے دیے گئے احکام یہ کام ڈیسک ٹاپ ایپ کے راستے میں آئے بغیر کرتے ہیں۔
openvpn --config client.ovpn --verb 3
ip -4 addr show tun0
curl -sS --interface tun0 -o /dev/null -w '%{http_code}\n' --max-time 8 https://example.com/
لاگ دکھاتا ہے کہ کوشش کہاں رکی: اختیار کی خرابی کسی بھی TLS تبادلے سے پہلے ظاہر ہوتی ہے، جبکہ تصدیق یا سائفر کی ناکامی اس کے بعد ظاہر ہوتی ہے۔ اگر ٹنل اوپر آ جائے اور درخواست پھر بھی ناکام ہو تو مسئلہ مطابقت سے روٹنگ کی طرف منتقل ہو گیا۔ سرور کے بارے میں کوئی نتیجہ اخذ کرنے سے پہلے اسے Connect کے اسی نیٹ ورک پر رویے سے موازنہ کریں۔
کام کرنے والا پروفائل اور کلائنٹ کا ورژن نوٹ کے ساتھ رکھیں۔ کلائنٹ کی آئندہ ریلیز کسی ہدایت کی معاونت شامل کر سکتی ہے، اور یہ جواب بدل دیتی ہے بغیر کسی کے سرور کو چھونے کے۔