فائر وال فارم TCP پورٹ پوچھتے ہیں، اور واضح اندراج 50 ہے۔ یہ اندراج کچھ بھی اجازت نہیں دیتا، کیونکہ ESP ایک IP پروٹوکول ہے جس کا نمبر 50 ہے اور پروٹوکول نمبر پورٹ نہیں ہوتے۔ دونوں نام کی جگہیں صرف چھوٹے صحیح اعداد بانٹتی ہیں اور کچھ نہیں، اور غلطی اس وقت تک پوشیدہ رہتی ہے جب تک IKE مکمل نہ ہو اور محفوظ ٹریفک کبھی نہ پہنچے۔

دو نام کی جگہیں جو چھوٹے اعداد بانٹتی ہیں

ایک IP ہیڈر میں پروٹوکول فیلڈ ہوتا ہے جو اگلا کیا آتا ہے اس کا نام لیتا ہے: TCP کے لیے 6، UDP کے لیے 17، ICMP کے لیے 1، ESP کے لیے 50، AH کے لیے 51۔ TCP یا UDP ہیڈر میں پورٹ نمبر ہوتے ہیں، جو منزل کے میزبان پر عمل منتخب کرتے ہیں۔ پروٹوکول 50 اور TCP پورٹ 50 بے تعلق قدریں ہیں، لیکن ایک ڈائیلاگ باکس انہیں قابل تبادلہ دکھا سکتا ہے۔

اسی لیے پورٹ فارورڈنگ کا قاعدہ مقامی ESP بیان نہیں کر سکتا۔ فارورڈ کرنے کے لیے کوئی ESP منزل پورٹ نہیں، اور صرف پورٹ قواعد سمجھنے والے آلے کے پاس اس پیکٹ کے لیے کوئی الفاظ ہی نہیں۔ درست قاعدہ اس کے بجائے IP پروٹوکول کا نام لیتا ہے۔ کوئی بھی پورٹ ڈائیلاگ اس پیکٹ کے لیے غلط آلہ ہے۔

الجھن کا دوسرا نصف بھی ہے۔ جب پیکٹ خفیہ ہو تو اس کے اندر سب کچھ غیر شفاف ہوتا ہے، اصل کنکشن کا TCP ہیڈر بھی۔ اس پیکٹ پر پورٹ چیک کرنے والا فائر وال بیرونی ہیڈر دیکھ رہا ہے، جس میں مقامی صورت میں چیک کرنے کے لیے پورٹ نہیں ہوتے۔

مقامی ESP، پھر لپٹا ہوا متبادل

مقامی ESP براہ راست IP پروٹوکول کے طور پر لے جایا جاتا ہے، جو یکساں طور پر موثر اور مشکل ہے۔ موثر اس لیے کہ کوئی اضافی ہیڈر نہیں، اور مشکل اس لیے کہ پتے اور پورٹ ترجمہ کرنے والا کوئی بھی آلہ اس کا پیچھا نہیں کر سکتا۔ NAT ٹراورسل اسی کو حل کرنے کے لیے ہے: ESP پیکٹ کو UDP کے اندر لپیٹتا ہے تاکہ مترجم کے پاس دوبارہ لکھنے کے لیے پورٹ ہوں۔

Form on the wireHow it is identifiedWhat the firewall must permit
IKE negotiationUDP with a destination portUDP 500, and 4500 once traversal is detected
Native ESPIP protocol 50 in the outer headerThe protocol itself, with no port to name
ESP inside UDPUDP 4500 carrying an ESP payloadThe UDP port pair, which translation devices can track

دونوں شکلیں ایک ہی ڈیٹا چینل کی متبادل تعیناتیاں ہیں، ایک کی تہیں نہیں۔ مقامی ESP کی اجازت لپٹی ہوئی شکل کی اجازت نہیں دیتی، اور UDP 4500 کی اجازت مقامی ٹریفک کی اجازت نہیں دیتی، اس لیے قواعد کا مجموعہ تعیناتی سے میل کھانا چاہیے، اتفاقاً دونوں کو ڈھانپنا نہیں۔

یہاں شناخت بھی اہم ہے۔ آخری نقطے بات چیت کے دوران شکلوں کے درمیان فیصلہ کرتے ہیں، اور تبدیلی عام طور پر تب ہوتی ہے جب ان کے درمیان NAT شناخت ہو۔ اس لیے سرنگ بننے کے بعد بدلنے والا راستہ ٹریفک کو ایسی نام کی جگہ لے جا سکتا ہے جسے آپ کے قواعد نے کبھی نہیں ڈھانپا۔

پڑھیں کہ کنکشن واقعی کون سی شکل استعمال کرتا ہے

فائر وال سے اندازہ لگانے کے بجائے آخری نقطے سے پوچھیں۔ Linux میں حالت کا اندراج بتاتا ہے کہ انجمن UDP لپیٹ استعمال کرتی ہے یا نہیں اور کون سے پورٹ شامل ہیں۔ پیکٹ کیچنگ تار سے اسی سوال کا جواب دیتی ہے، اور دونوں قواعد کا مجموعہ پڑھ کر امید کرنے سے تیز ہیں۔

ip xfrm state | grep -A3 encap
tcpdump -ni any 'ip proto 50 or udp port 4500'

پہلا حکم NAT ٹراورسل استعمال ہونے پر لپیٹ کی قسم دکھاتا ہے اور نہ ہونے پر کچھ نہیں۔ دوسرا دکھاتا ہے کہ دونوں شکلوں میں سے کون سی واقعی انٹرفیس پار کر رہی ہے، اور یہ کاغذ پر درست دکھنے والی ترتیب پر بحث ختم کرتا ہے۔

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

پھر کنٹرول چینل الگ سے تصدیق کریں۔ IKE کے اپنے پورٹ اور اپنے لاگ ہیں، اور ڈیٹا کے بغیر مکمل ہونے والی بات چیت وہی تقسیم ہے جس پر یہ مضمون ہے۔

قاعدہ درست نام کی جگہ میں لکھیں

پروٹوکول قاعدہ اور پورٹ قاعدہ الگ ہدایات ہیں، اس لیے آلے کو وہی بیان کرنا چاہیے جو آپ کا مطلب ہے۔ nftables میں پروٹوکول کی مطابقت واضح ہے، اور لپٹے ہوئے متبادل کو اپنا UDP قاعدہ ملتا ہے۔ دونوں قواعد ساتھ رکھیں تاکہ جائزے میں جوڑا نظر آئے۔

nft add rule inet filter input ip protocol esp accept
nft add rule inet filter input udp dport { 500, 4500 } accept

غلط تشخیص کی تلافی کے لیے کسی بھی قاعدے کو وسیع کرنے کے لالچ کا مقابلہ کریں۔ ہر انٹرفیس پر ESP پروٹوکول کے لیے سب کی اجازت، یا کہیں سے کہیں تک UDP اجازت، علامت درست کرتی ہے اور وہ کنٹرول ہٹا دیتی ہے جو آپ قائم کرنا چاہ رہے تھے۔ شکل معلوم ہونے کے بعد تنگ معاون بہاؤ تقریباً ہمیشہ کافی ہوتا ہے۔

آخر میں، پرت سیدھی رکھیں جب سرنگ کام کرے اور ایپلیکیشن نہ کرے۔ گیٹ وے تک پہنچنے والے پیکٹ کو اب بھی فارورڈنگ، واپسی راستہ اور انہیں قبول کرنے والی پالیسی چاہیے، اور ان میں سے کوئی بھی ESP قاعدے سے بیان نہیں ہوتا۔ غائب پورٹ ایک مخصوص ناکامی کی وضاحت کرتا ہے، ہر IPsec ناکامی کی نہیں۔ قاعدے کی درستی اور روٹنگ کی جانچ کو دو الگ نتائج کے طور پر رکھیں۔

جو شکل آپ نے دیکھی، جو پروٹوکول قاعدہ شامل کیا اور بعد میں جو کاؤنٹر دیکھا اسے درج کریں۔ تین سطریں، اور اگلا شخص دوپہر کے بجائے ایک منٹ میں نام کی جگہ کی غلطی کو روٹنگ کی غلطی سے الگ کر سکے گا۔

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