TCP پر IKE 4500: پورٹ کے قاعدے سے پہلے دونوں سروں کی جانچ کریں
TCP انکیپسولیشن دونوں سرے طے کرتے ہیں، فائر وال کا قاعدہ یہ نہیں دیتا۔ لسنر کی جانچ، کیپچر اور قبولیت کے چار مراحل ترتیب سے چلائیں۔
سپورٹ ٹکٹ اکثر اس وقت آتے ہیں جب فائر وال کی تبدیلی پہلے ہی منظور ہو چکی ہو اور ٹنل اب بھی اوپر آنے سے انکار کر رہی ہو۔ یہی متوقع نتیجہ ہے جب خصوصیت صرف ایک سرے پر ہو: RFC 9329 کے مطابق TCP انکیپسولیشن دونوں سروں پر نافذ اور کنفیگر کرنا پڑتا ہے، اور کوئی بھی محفوظ ٹریفک چلنے سے پہلے معاہدہ کنکشن کے اندر ہوتا ہے۔ پورٹ کھولنا ایسے لسنر کا اعلان ہے جو شاید موجود ہی نہ ہو، اور دوسری طرف مماثل کنفیگریشن کے بغیر لسنر کنکشن قبول کر کے پھر خاموش ہو جاتا ہے۔ نیچے کا ترتیب سستے جائزوں کو پہلے رکھتا ہے۔
جانیں کہ آپشن واقعی کیا اضافہ کرتا ہے
مقامی IPsec خفیہ کردہ پے لوڈز کو یوں منتقل کرتا ہے: IP پروٹوکول 50، اجازت دینے کے لیے کسی پورٹ نمبر کے بغیر۔ NAT ٹراورسل ان پیکٹوں کو UDP میں لپیٹ کر پورٹ 4500 پر بھیجتا ہے، اور اسی لیے اتنے فائر وال قواعد اس پورٹ کا ذکر کرتے ہیں۔ RFC 9329 اسٹریم کی نمائندگی شامل کرتا ہے: IKE اور IPsec پیکٹ دونوں ایک ہی TCP کنکشن کے اندر، عام طور پر پورٹ 4500 پر سفر کرتے ہیں۔
اسٹریم کوئی ویب سروس نہیں ہے۔ 4500 پر TCP کنکشن HTTP، TLS یا پراکسی دوستی کے بارے میں کچھ نہیں کہتا، اور راستے میں HTTP پراکسی عام طور پر اسے لے جانے کے بجائے فریمنگ توڑ دیتی ہے۔
فائر وال کو چھونے سے پہلے پیشگی جانچ
معیار TCP کو UDP راستہ چھوڑنے والے نیٹ ورکس کے لیے بیک اپ کے طور پر رکھتا ہے، اس کے متبادل کے طور پر نہیں۔ ہر وینڈر سے دو حقیقتیں حاصل کریں: خصوصیت کا درست نام اور وہ ورژن جو ملکیتی قسم کے بجائے RFC 9329 نافذ کرتا ہے۔ IPsec over TCP جیسے لیبل غیر متعلق ڈیزائنوں کے لیے استعمال ہوئے ہیں، اس لیے دستاویز کا حوالہ اور اسے چالو کرنے والی کنفیگریشن کلید طلب کریں۔ دونوں جوابات کے بغیر تار کی مطابقت کے بارے میں کچھ فرض نہ کریں۔
اسے ایسی لیبارٹری میں ثابت کریں جہاں دونوں سرے آپ کے ہوں۔ TCP 4500 پر جواب دینے والا لیکن IKE کبھی مکمل نہ کرنے والا گیٹ وے دوسری طرف مماثل انکیپسولیشن کے بغیر لسنر کی نشانی ہے، اور اسے وہاں دریافت کرنا تبدیلی کی ونڈو کے دوران دریافت کرنے سے کہیں سستا ہے۔
جواب دینے والے کی طرف: کچھ سن رہا ہے
ساکٹ سے شروع کریں۔ ss -ltnp | grep 4500 دکھاتا ہے کہ TCP لسنر موجود ہے یا نہیں اور کون سا عمل اس کا مالک ہے۔ لائن کا نہ ہونا تحقیق کو نیٹ ورک پر نہیں بلکہ گیٹ وے کنفیگریشن پر ختم کرتا ہے۔
اگر ساکٹ موجود ہو تو کلائنٹ کی طرف سے اندازہ لگانے کے بجائے مصافحہ دیکھیں: tcpdump -ni any 'tcp port 4500'۔ مکمل شدہ سہ طرفہ مصافحے کے بعد خاموشی کا مطلب ہے کہ اسٹریم قبول ہوئی اور اس کے اندر IKE تبادلہ ناکام ہوا، جبکہ بغیر جواب SYN فلٹرنگ یا غلط پتے کی طرف اشارہ کرتا ہے۔
دونوں گڈمڈ نہ ہوں اس لیے اسی کیپچر ونڈو میں UDP راستے سے موازنہ کریں: tcpdump -ni any 'udp port 4500 or proto 50'۔ TCP استعمال ہونے کے بارے میں آپ کے گمان کے وقت پروٹوکول 50 یا UDP پورٹ 4500 پر ٹریفک کا ہونا یعنی دونوں سرے بیک اپ پر کبھی متفق نہیں ہوئے۔ اگر ممکن ہو تو گیٹ وے پر بھی کیپچر کریں، کیونکہ کلائنٹ کی طرف کا کیپچر نہیں دکھا سکتا کہ دور کے سرے نے کیا بھیجا۔
چار الگ مراحل میں قبول کریں
اوپر آنے کو چار نتائج کے طور پر لیں۔ ہر ایک مختلف وجہ سے ناکام ہو سکتا ہے، اور ایک ہی پاس یا فیل چھپا دیتا ہے کہ کون سا تھا، اس لیے پہلے ناکام ہونے والے مرحلے پر رکیں اور دوبارہ اوپر سے شروع کریں۔
| Stage | What you check | What it proves |
|---|---|---|
| 1 | TCP connection established to 4500 | A listener exists and the path permits it |
| 2 | IKE_SA authenticated in the gateway log | Both peers agreed on the encapsulation |
| 3 | CHILD_SA installed, visible with ip xfrm state | Keys exist for the protected traffic |
| 4 | A new application exchange succeeds | The data path works, not just the control path |
چوتھا مرحلہ وہی ہے جو چھوڑ دیا جاتا ہے۔ موجودہ سیشن کیش شدہ حالت پر کام جاری رکھ سکتا ہے، اس لیے تبدیلی بند کرنے سے پہلے گیٹ وے کے پیچھے موجود ہوسٹ سے نیا کنکشن کھولیں۔ اگر دوسرا مرحلہ ناکام ہو اور پہلا پاس ہو جائے تو اختلاف تجویز یا انکیپسولیشن سیٹنگ میں ہے، فائر وال میں نہیں۔
واپسی، اور اسے چالو چھوڑنے کی قیمت
تبدیلی سے پہلے واپسی کی منصوبہ بندی کریں: دونوں سروں پر انکیپسولیشن آپشن بند کریں اور تصدیق کریں کہ ٹنل UDP کے راستے واپس آتی ہے۔ اگر بیک اپ دوبارہ ضروری ہو تو ایک جائزہ چکر کے لیے TCP قاعدہ رکھیں، پھر اسے ہٹا دیں۔ 4500 پر غیر استعمال شدہ لسنر کسی آپریشنل قدر کے بغیر سطح ہے۔
جب یہ حقیقی کام اٹھانے لگے تو کارکردگی کی نشانی دیکھیں۔ TCP کے اندر TCP ایسی تصدیقی تہیں شامل کرتا ہے جو ایک ہی نقصان پر رک جاتی ہیں، اور ایک کنکشن بانٹنے والی اسٹریمز ایک دوسرے کو روک سکتی ہیں، اس لیے ping کے بجائے وہ ایپلیکیشن ناپیں جو ٹنل استعمال کرے گی۔
قبولیت کی فہرست
دونوں سروں پر خصوصیت کا نام اور ورژن، جواب دینے والے کی طرف لسنر، مکمل مصافحہ دکھانے والا کیپچر، اور وقت کی مہروں کے ساتھ درج چار مراحل کی تصدیق کریں۔ اگلے انجینئر کو یہ جاننے کے لیے کہ TCP کیوں ہے، تبدیلی کے ریکارڈ میں بیک اپ کی وجہ شامل کریں۔ ضرورت سے پہلے واپسی کی مشق کریں۔
اگر کوئی مرحلہ ناکام ہو تو صرف اسی مرحلے کو درست کریں۔ ٹرانسپورٹ مسئلے کے پیچھے بھاگنے کے لیے سائفر سوٹ یا شناخت کی سیٹنگز بدلنا عام طور پر پہلے کے اوپر دوسری، غیر متعلق ناکامی کا اضافہ کرتا ہے۔