IKEv2 UDP 500 اور 4500 استعمال کرتا ہے: ڈیٹا کون سا پورٹ لے کر جاتا ہے؟
پہلا تبادلہ اور ڈیٹا لے جانے والا راستہ ایک ہی بہاؤ نہیں۔ دونوں پورٹ جانچیں اور یاد رکھیں کہ مقامی ESP پورٹ نہیں بلکہ پروٹوکول نمبر ہے۔
فائر وال میں UDP 500 کھولنے سے ٹنل بات چیت کر سکتی ہے، اور پھر کنکشن ٹریفک گزرنا بند کر دیتا ہے۔ پورٹ کی فہرست نامکمل تھی، غلط نہیں۔ IKEv2 ایک ساکٹ پر شروع ہوتا ہے اور کئی حقیقی تعیناتیوں میں دوسرے پر جاری رہتا ہے، جبکہ پے لوڈ پورٹ ہی نہ ہو۔ مراحل کو ترتیب سے پڑھنا بتاتا ہے کہ کون سا قاعدہ غائب ہے۔
دو پورٹ، دو کام
IKEv2 UDP 500 پر کلید کے تبادلے سے شروع ہوتا ہے، جہاں دونوں فریق خود کو تصدیق کرتے ہیں اور ٹنل کے لیے سلامتی کی انجمن قائم کرتے ہیں۔ اس کے بعد کا ڈیٹا راستہ الگ معاملہ ہے: یہ مقامی ESP ہو سکتا ہے، جو پورٹ نہیں بلکہ IP پروٹوکول نمبر ہے، یا 4500 پر UDP کے اندر لپٹا ہوا ٹریفک۔ فائر وال جائزے میں ان دونوں کو الگ رکھنا ہی بات چیت کرنے والی ٹنل اور کام کرنے والی ٹنل کا فرق ہے۔ ایک ساکٹ کنٹرول لے کر جاتا ہے اور دوسرا پے لوڈ۔
اسی لیے صرف 500 کی اجازت دینے والا قاعدہ پوری پروٹوکول خاندان میں سب سے زیادہ الجھن پیدا کرنے والی علامت پیدا کرتا ہے: بات چیت کامیاب ہوتی ہے اور کوئی مفید چیز سامنے نہیں آتی۔ حالت ایک ساتھی دکھاتی ہے، لاگ قائم شدہ IKE SA دکھاتا ہے، اور ایپ پھر بھی وقت ختم کر دیتی ہے۔ غائب اجازت ابھی کامیاب ہونے والے بہاؤ سے مختلف بہاؤ کی ہے۔
4500 آخر کیوں موجود ہے
بہت سے NAT آلات TCP یا UDP کے علاوہ کوئی پروٹوکول آگے نہیں بھیج سکتے، اور کچھ پتے اس طرح دوبارہ لکھتے ہیں جو ESP کی سالمیت کی جانچ توڑ دیتا ہے۔ ESP کو UDP کے اندر لپیٹنا دونوں مسائل حل کرتا ہے، مگر اضافی ہیڈر اور اجازت دینے والے دوسرے پورٹ کی قیمت پر۔ یہی لپیٹ دوسرے پورٹ کی موجودگی کی وجہ ہے۔
NAT کا پتہ چلنے کے بعد IKE خود بھی 4500 پر چلا جاتا ہے تاکہ سارا ٹریفک مترجم کے ذریعے ایک ہی راستہ بانٹے۔ چار بائٹ کا غیر ESP نشان اس ساکٹ پر کنٹرول پیغامات کو ڈیٹا سے الگ کرتا ہے۔ یہ تبدیلی پروٹوکول کا فیصلہ ہے، منتظم کی ترجیح نہیں۔
ماخذ پورٹ کہاں بدلتا ہے
مترجم کلائنٹ کا ماخذ پورٹ دوبارہ لکھ سکتا ہے، اس لیے سرور پر نظر آنے والا ٹیوپل کلائنٹ کے ٹیوپل سے میل نہیں کھاتا۔ کسی قاعدے کو نظر انداز کیے جانے کا نتیجہ اخذ کرنے سے پہلے ہر NAT چھلانگ کے دونوں طرف دیکھیں۔ صرف کلائنٹ پر مسئلہ ڈھونڈنا ایسا قاعدہ دے سکتا ہے جو درست لگے اور پھر بھی ناکام ہو۔
MOBIKE کی سہولت والی تعیناتیاں NAT کا پتہ چلنے کے بغیر بھی 4500 پر جا سکتی ہیں، اور کچھ تعیناتیاں جان بوجھ کر یہ راستہ مسلط کرتی ہیں۔ اس لیے 4500 دیکھنا فیصلے کا ثبوت ہے، گھریلو روٹر کا ثبوت نہیں۔
ہر سرحد پر دونوں بہاؤ جانچیں
تین سرحدوں سے گزریں: کلائنٹ نیٹ ورک، کوئی بھی درمیانی فائر وال، اور سرور۔ ہر ایک کو وہی بہاؤ درکار ہیں جو تعیناتی دستاویز کرتی ہے، کسی دوسرے معاملے کے مضمون کے بہاؤ نہیں۔
sudo swanctl --list-sas
sudo tcpdump -ni any 'udp port 500 or udp port 4500'
sudo iptables -S | grep -E '500|4500|esp'
ip xfrm state
فائر وال فہرست میں ESP سطر پروٹوکول کی مطابقت ہے، اس لیے پورٹ کا قاعدہ اسے کبھی نہیں ڈھکتا۔ اگر آپریٹر حسب ضرورت پورٹ استعمال کرے تو دونوں سروں پر دستاویزی ترتیب پر عمل کریں، کیونکہ کلائنٹ جانی پہچانی نمبر چن کر سرور پر سننے والا نہیں بنا سکتا۔
درج کریں کہ بات چیت کہاں رکی اور آیا چائلڈ سلامتی انجمن قائم ہوئی، کیونکہ یہ جوڑی رکے ہوئے راستے کو تصدیق یا پالیسی کی خرابی سے الگ کرتی ہے۔ پھر سرور کی تصدیق فعال رکھ کر آزمائش دہرائیں، کیونکہ رسائی تصدیق نہیں ہے۔ وہ آخری مرحلہ اجازت یافتہ پورٹ کو قابل اعتماد ساتھی سے الگ کرتا ہے۔