proto udp یا tcp-client: آپ کا سرور کون سا سنتا ہے؟
یہ ہدایت بیرونی کنکشن کا ٹرانسپورٹ مقرر کرتی ہے۔ اسے مقامی طور پر تبدیل کرنا سرور پر سننے والا نہیں بنا سکتا، اس لیے پہلے remote اندراج دیکھیں۔
پچھلے مہینے چلنے والی پروفائل اب وقت ختم ہو رہی ہے، اور کوئی proto udp کو proto tcp-client سے بدلنے کی تجویز دیتا ہے۔ کبھی یہ درست قدم ہوتا ہے، اور کبھی ایسا کلائنٹ بنتا ہے جو ایسی پورٹ سے جڑتا ہے جہاں کچھ نہیں سن رہا، کیونکہ سرور کبھی دوسرے ٹرانسپورٹ کے لیے ترتیب نہیں دیا گیا تھا۔ یہ ہدایت بتاتی ہے کہ آپ کا کنارہ کیسے بولتا ہے؛ یہ دوسرے کنارے پر سننے والا نہیں بنا سکتی۔ دونوں میں سے کوئی بھی بدلنے سے پہلے پروفائل اور سرور کو ساتھ پڑھیں۔
منتخب کنکشن جو ٹرانسپورٹ استعمال کرتا ہے وہ پڑھیں
پروفائل میں کئی remote اندراجات ہو سکتے ہیں، اور ہر ایک اپنا ٹرانسپورٹ بتا سکتا ہے۔ کلائنٹ انہیں ترتیب سے چلاتا ہے، اس لیے جو سطر آپ پہلے دیکھتے ہیں وہ لازماً لاگو ہونے والی نہیں۔
وہ اندراج تلاش کریں جسے واقعی آزمایا جا رہا ہے، پھر اس کا ٹرانسپورٹ پڑھیں۔ ترتیب اہم ہے، کیونکہ کلائنٹ خاموشی سے اگلے پر نہیں جاتا۔ کچھ بلڈ اگلا اندراج صرف وقت ختم ہونے کے بعد آزماتے ہیں، اس لیے فائل کے نیچے والا کارآمد متبادل آپ کی توقع سے چند سیکنڈ دیر سے ملتا ہے۔ لاگ میں دیکھیں کہ کون سا اختتامی نقطہ آزمایا جا رہا ہے، بجائے اس کے کہ فرض کریں پہلی سطر جیت گئی۔
اگر فائل میں اوپر ایک proto سطر ہے اور نیچے کئی remote اندراجات ہیں، تو وہ سطر ہر ایسے remote کے لیے طے شدہ ہے جو اسے اوور رائیڈ نہیں کرتا۔ طے شدہ میں مقامی تبدیلی اس remote اندراج کے لیے کچھ نہیں کرتی جو اپنا ٹرانسپورٹ بتاتا ہے۔
grep -nE '^(remote|proto)\b' client.ovpnUDP اور TCP رفتار کی ترتیب نہیں ہیں
UDP ترتیب شدہ اسٹریم بنائے بغیر ڈیٹاگرام بھیجتا ہے، اس لیے ٹنل کی اپنی ٹریفک دوسرے بھروسے مند ٹرانسپورٹ میں لپیٹی نہیں جاتی۔ TCP آپ کو ایسے نیٹ ورکس سے راستہ دیتا ہے جو UDP گراتے یا بلاک کرتے ہیں، مگر اس کی قیمت اندرونی دوبارہ ترسیل ہے جو نقصان والے لنک کو مزید خراب محسوس کرا سکتی ہے۔
یہ رسائی کا سودا ہے، کوئی عالمگیر درجہ بندی نہیں۔ درست انتخاب وہی ہے جس کی کلائنٹ کے سامنے والا نیٹ ورک اجازت دیتا ہے۔ جو راستہ VPN پورٹ پر UDP گراتا ہے وہ کبھی بات چیت نہیں کرے گا، پروفائل کتنی ہی اچھی لکھی ہو۔ راستہ آزمائیں، پھر ٹرانسپورٹ چنیں۔
ان کے درمیان صرف پیمائش کی بنیاد پر انتخاب کرنا غلطی ہے، کیونکہ جواب اس پر منحصر ہے کہ آپ کے سامنے والا نیٹ ورک کیا اجازت دیتا ہے۔ کوئی ہوٹل یا کارپوریٹ پراکسی 443 پر صرف باہر جانے والا TCP اجازت دے سکتی ہے اور کچھ نہیں، اسی لیے فراہم کنندگان وہ قسم دیتے ہیں۔ پورٹ نمبر مانوس ہونے کے باوجود یہ اسی پورٹ پر OpenVPN کنکشن ہے، HTTPS سیشن نہیں۔
tcp-client کا اصل مطلب کیا ہے
کلائنٹ کی طرف کی ہدایت TCP کنکشن شروع کرنے والے کنارے کا نام دیتی ہے۔ سرور کی طرف اپنی سننے کی شکل استعمال کرتی ہے، اور کلائنٹ کا لفظ سرور کنفیگریشن میں نقل کرنے سے ایسا سننے والا بنتا ہے جو کال کیے جانے کی توقع رکھتا ہے، قبول کرنے والا نہیں۔
مطابقت کا مطلب ہے کہ دونوں کنارے ٹرانسپورٹ پر متفق ہیں، یہ نہیں کہ وہ ایک ہی سٹرنگ بانٹتے ہیں۔
grep -nE '^proto\b' /etc/openvpn/server/server.conf
ss -lntp | grep openvpnپروفائل کو غلط سمجھنے سے پہلے سرور سے پوچھیں کہ وہ کیا سن رہا ہے۔ UDP سننے والا TCP ساکٹ فہرست میں نظر نہیں آتا، اور الٹا بھی درست ہے، اس لیے عمومی منظر کے بجائے پروٹوکول کے مخصوص منظر کو دیکھیں۔
جب پروفائل درآمد ہوتی ہے مگر کبھی جڑتی نہیں
فوراً وقت ختم ہونے والی درآمد شدہ پروفائل عام طور پر کسی بھی تصدیق سے پہلے ناکام ہو جاتی ہے۔ پیکٹ ایسی پورٹ پر جاتا ہے جہاں سننے والا نہیں، یا نیٹ ورک اسے خاموشی سے گرا دیتا ہے۔
راستہ ممکنہ حد تک سادہ طریقے سے آزمائیں: ناکام کلائنٹ والے ہی نیٹ ورک سے، پروفائل کے دعوے کردہ ٹرانسپورٹ کے ساتھ اسی ہوسٹ اور پورٹ سے جڑیں۔
اگر UDP جانچ کو کچھ نہ ملے اور TCP جانچ جڑ جائے، تو سرور دوسرا ٹرانسپورٹ پیش کر رہا ہے اور پروفائل بس پرانی ہے۔ اگر کوئی بھی جواب نہ دے، تو مسئلہ ٹرانسپورٹ کے انتخاب سے اوپر ہے اور پروفائل میں کوئی ترمیم اسے ٹھیک نہیں کرے گی۔ ان دو صورتوں میں فرق کرنے میں ایک منٹ لگتا ہے اور اس گھنٹے بھر کی سرٹیفکیٹ ڈیبگنگ سے بچاتا ہے جو کبھی متعلقہ نہ تھی۔
کارآمد ٹرانسپورٹ درج کریں
جب کوئی امتزاج چل نکلے، تو اسے سرور، پورٹ اور پروٹوکول کے ساتھ لکھیں، اور نوٹ کریں کہ کس نیٹ ورک سے جانچا گیا۔
ورنہ وقت ختم ہونے سے دوچار اگلا شخص وہی تجربہ الٹی سمت میں دہرائے گا، اور ممکن ہے ایسے سرور کو بدل دے جو ٹھیک تھا۔
اگر فراہم کنندہ دونوں قسمیں شائع کرتا ہے، تو دونوں فائلیں رکھیں اور انہیں اس نیٹ ورک کے مطابق لیبل کریں جس کے لیے وہ موزوں ہیں۔ واضح نام والی دو پروفائلیں کلائنٹ ٹرانسپورٹ کو ایسے سرور سننے والے کے ساتھ اتفاقی طور پر مل جانے سے روکتی ہیں جو اس کے لیے کبھی ترتیب نہیں دیا گیا تھا۔