مقررہ UDP پورٹس پورٹ فارورڈنگ چھوڑ سکتے ہیں، مگر ہر NAT نہیں
جب دونوں سرے ایک پورٹ مقرر کرتے ہیں تو حالت رکھنے والا فائروال ساتھی کے پیکٹ کو واپس آنے والی ٹریفک کے طور پر قبول کرتا ہے۔ یہاں دیکھیں کہ یہ کب کام کرتا ہے اور کیا خاموشی سے اس کا خاتمہ کرتا ہے۔
دو گھریلو راؤٹر، کوئی پورٹ آگے نہیں بھیجا گیا، اور ایک VPN جو کبھی کبھار پھر بھی جڑ جاتا ہے۔ UDP اس کی اجازت دیتا ہے، کیونکہ فائروال ایسا پیکٹ قبول کرے گا جسے وہ مشین کے پہلے سے شروع کردہ بہاؤ سے ملا سکے. یہ ایک شرطی ترکیب ہے، خصوصیت نہیں، اور جب آپ جانیں کہ فائروال کیا موازنہ کرتا ہے تو شرطیں بتانا آسان ہے۔ یہی وجہ بھی ہے کہ یکساں پروفائل مختلف نیٹ ورک پر مختلف برتاؤ کرتے ہیں۔
فائروال جو موازنہ کرتا ہے
ہر باہر جانے والا ڈیٹاگرام ایک مختصر مدت کا اندراج بناتا ہے: ماخذ پتہ، ماخذ پورٹ، منزل پتہ، منزل پورٹ۔ جو بھی آئے اور اندراج سے میل کھائے اسے جواب سمجھا جاتا ہے اور گزرنے دیا جاتا ہے۔ اندرونی قواعد کا اس میں کوئی حصہ نہیں۔
سو سوال یہ نہیں کہ فائروال ساتھی کو اندر آنے دیتا ہے یا نہیں۔ سوال یہ ہے کہ ساتھی کا پیکٹ اس جواب جیسا نظر آتا ہے جس کا اندراج انتظار کر رہا ہے۔ اس چار حصوں والے ٹیوپل کا ایک خانہ بدلیں اور پیکٹ اجنبی بن جاتا ہے۔ اسی لیے صرف پورٹ نمبر بدلنے پر کام کرنے والا سیٹ اپ ٹوٹ سکتا ہے، اور اسی لیے وہی پورٹ ایک راؤٹر پر چل کر اگلے پر ناکام ہو سکتا ہے۔
مقامی ماخذ پورٹ مقرر کریں، اور وہی نمبر تبادلے کے دونوں طرف نظر آئے گا۔ یہی پوری ترکیب ہے، اور یہ بتاتا ہے کہ ترکیب پراسرار نہیں بلکہ نازک کیوں ہے۔
ہر سرے پر ایک پورٹ مقرر کرنا
OpenVPN کا طے شدہ UDP پورٹ 1194 ہے، اور lport اس ماخذ پورٹ کا تعین کرتا ہے جہاں سے بھیجتا ہے۔ دونوں ساتھیوں کو مقرر کریں اور ہر ایک کا باہر جانے والا ٹیوپل اس پورٹ کی طرف اشارہ کرے گا جس پر دوسرا سن رہا ہے:
# peer A
lport 1194
remote 198.51.100.20 1194
# peer B
lport 1194
remote 203.0.113.10 1194
یہ صرف تب تک چلتا ہے جب تک ان کے درمیان کوئی راؤٹر ماخذ پورٹ دوبارہ نہ لکھے۔ جب پیکٹ کیپچر میں نظر آئیں مگر کوئی سرنگ نہ اٹھے، تو دوبارہ لکھنا پہلا مشتبہ ہے۔
جہاں ٹیوپل میل کھانا بند کرتا ہے
جو NAT منزل کے مطابق نقشہ بناتا ہے وہ ہر ساتھی کو مختلف بیرونی پورٹ دیتا ہے۔ آپ کے ساتھی کو استعمال کرنے کے لیے بتایا گیا پتہ وہ پتہ نہیں جو اس تک پہنچتا ہے، اس لیے آنے والا پیکٹ کسی سے میل نہیں کھاتا اور خاموشی سے پھینک دیا جاتا ہے۔
آپریٹر سطح کی ترجمانی، تہوں والا NAT اور پورٹوں کی بےترتیبی سب ایک ہی طرح ختم ہوتے ہیں۔ پتوں کو چھوئے بغیر پورٹ دوبارہ لکھنے والا کوئی بھی درمیانی ڈبہ بھی ویسا ہی۔
اسٹریم ٹرانسپورٹ کی حالت زیادہ خراب ہے۔ TCP ہینڈ شیک قدم بہ قدم ٹریک ہوتا ہے، اس لیے TCP پر مبنی VPN اس طریقے سے بالکل سوراخ نہیں کیا جا سکتا اور راستے میں کہیں سننے والا درکار ہے۔
عام طور پر ایک فریق پہلے ناکام ہوتا ہے
عملاً دونوں نیٹ ورک شاذ و نادر ہی یکساں برتاؤ کرتے ہیں۔ ایک راؤٹر پیش گوئی کے قابل نقشہ دے سکتا ہے جبکہ دوسرا منزل کے مطابق پورٹ دیتا ہے، اور نتیجہ وہ تشکیل ہے جو دو گھروں کے درمیان چلتا ہے اور موبائل نیٹ ورک سے ناکام ہوتا ہے۔ ایک دوسرے سے متصادم رپورٹیں عام طور پر دو مختلف راؤٹر جوڑوں کی وضاحت کرتی ہیں۔ کوئی مصنف غلط نہیں، اور کوئی نتیجہ عام نہیں کیا جا سکتا۔
پروفائل چھونے سے پہلے معلوم کریں کہ کس فریق نے پیکٹ گرا۔ دونوں سروں کی کیپچر ایک ہی کوشش میں یہ طے کرتی ہے: A سے نکل کر B تک کبھی نہ پہنچنے والے ڈیٹاگرام کا مطلب ہے کہ بہاؤ راستے میں دوبارہ لکھا گیا، جبکہ B تک پہنچ کر کوئی جواب واپس نہ آنے والے ڈیٹاگرام کا مطلب ہے کہ فائروال نے انہیں متعلقہ کے طور پر قبول نہیں کیا۔
عوامی IPv6 پتوں والے دو ساتھی پورا مسئلہ بچ جاتے ہیں۔ ترجمانی کے بغیر ملانے کو کچھ نہیں، اس لیے ساتھیوں کے نام لینے والا فائروال قاعدہ کافی ہے اور ڈیزائن راؤٹر کے برتاؤ پر انحصار کرنا چھوڑ دیتا ہے۔
کب کوشش چھوڑیں
عوامی پتے والا ہوسٹ ہی قابلِ اعتماد جواب ہے۔ یہ دونوں ساتھیوں کے لیے سرنگ ختم کر سکتا ہے، یا صرف ایک دوسرے کا موجودہ بیرونی پتہ ڈھونڈنے میں مدد کر سکتا ہے، اور NAT چاہے کچھ بھی کرے دونوں ترتیبیں کام کرتی ہیں۔ اگر پالیسی اجازت دے تو منظم اوورلے وہی ہم آہنگی فراہم کرتا ہے۔
ان میں سے کسی کو بند فائروال کی ضرورت نہیں۔ سیدھا کنکشن جیتنے کے لیے حفاظت بند کرنا اس وجہ کو پھینک دینا ہے جس نے سیدھی کوشش کو پرکشش بنایا تھا، اور ٹیسٹ کی پوری مدت تک مشین کھلی چھوڑ دیتا ہے۔
پہلے سیدھی ترتیب آزمائیں، پھر جو دیکھا لکھ لیں۔ NAT کا برتاؤ اور وہ کیپچر جس نے اسے دکھایا آخر میں استعمال کی گئی پورٹ جوڑی سے زیادہ قیمتی ہیں، کیونکہ اگلا نیٹ ورک مختلف ہوگا۔ OpenVPN 2.6 کا دستی دستاویز کرتا ہے lport اور وہ remote اختیارات جن پر یہ منحصر ہے۔