باز کردن UDP 500 در فایروال باعث می‌شود تونل مذاکره کند و سپس اتصال از عبور ترافیک باز می‌ایستد. فهرست پورت‌ها ناقص بود، نه اشتباه. IKEv2 روی یک سوکت آغاز می‌شود و در بسیاری از استقرارهای واقعی روی سوکت دیگری ادامه می‌یابد، در حالی که بار مفید ممکن است اصلاً پورت نباشد. خواندن مرحله‌ها به ترتیب روشن می‌کند کدام قاعده جا افتاده است.

دو پورت، دو کار

IKEv2 با تبادل کلید روی UDP 500 آغاز می‌شود، جایی که دو طرف احراز هویت می‌کنند و برای تونل یک انجمن امنیتی برپا می‌کنند. مسیر داده‌ای که پس از آن می‌آید موضوعی جداست: می‌تواند ESP بومی باشد، که شماره پروتکل IP است نه پورت، یا ترافیک کپسوله‌شده در UDP روی 4500. جدا نگه داشتن این دو در بازبینی فایروال همان تفاوت میان تونلی است که مذاکره می‌کند و تونلی که کار می‌کند. یک سوکت کنترل را حمل می‌کند و دیگری بار مفید را.

به همین دلیل قاعده‌ای که فقط 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 در فهرست فایروال یک تطبیق پروتکل است، بنابراین قاعده پورت هرگز آن را پوشش نمی‌دهد. اگر اپراتور از پورت سفارشی استفاده می‌کند، پیکربندی مستند را در هر دو سر دنبال کنید، زیرا کلاینت نمی‌تواند با انتخاب یک شماره آشنا شنونده‌ای روی سرور بسازد.

ثبت کنید مذاکره کجا متوقف شد و آیا انجمن امنیتی فرزند نصب شده است، زیرا این جفت مسیر مسدود را از خطای احراز هویت یا خط مشی جدا می‌کند. سپس آزمون را با فعال بودن تأیید سرور تکرار کنید، زیرا دسترسی‌پذیری احراز هویت نیست. همان گام آخر پورت مجاز را از همتای مورد اعتماد جدا می‌کند.

مقالات مرتبط