بلیت‌های پشتیبانی اغلب وقتی می‌رسند که تغییر فایروال قبلاً تأیید شده و تونل هنوز از بالا آمدن امتناع می‌کند. این نتیجهٔ مورد انتظار است وقتی فقط یک سر ویژگی را دارد: کپسوله‌سازی TCP بر پایهٔ RFC 9329 باید در هر دو سر پیاده‌سازی و پیکربندی شود، و توافق داخل اتصال رخ می‌دهد پیش از آنکه هر ترافیک محافظت‌شده حرکت کند. باز کردن یک پورت، شنونده‌ای را اعلام می‌کند که ممکن است وجود نداشته باشد، و شنونده‌ای که در طرف دیگر پیکربندی مطابق ندارد اتصال را می‌پذیرد و سپس ساکت می‌شود. ترتیب زیر بررسی‌های ارزان را جلو می‌اندازد.

بدانید این گزینه در واقع چه چیزی اضافه می‌کند

IPsec بومی بارهای رمزنگاری‌شده را به‌صورت پروتکل IP 50 منتقل می‌کند، بدون شمارهٔ پورتی که باید مجاز شود. گذر از NAT آن بسته‌ها را در UDP به پورت 4500 می‌پیچد، و به همین دلیل این‌همه قاعدهٔ فایروال آن پورت را ذکر می‌کند. RFC 9329 نمایش جریانی اضافه می‌کند: بسته‌های IKE و IPsec هر دو درون یک اتصال TCP، معمولاً به پورت 4500، سفر می‌کنند.

جریان یک سرویس وب نیست. اتصال TCP به 4500 هیچ چیزی دربارهٔ 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'. ترافیک روی پروتکل 50 یا پورت UDP 4500 در حالی که گمان می‌کنید TCP در کار است یعنی دو طرف هرگز دربارهٔ جایگزین توافق نکردند. اگر می‌توانید روی دروازه هم ضبط کنید، چون ضبط از سمت کلاینت نمی‌تواند نشان دهد سر دور چه فرستاده است.

در چهار مرحلهٔ جداگانه بپذیرید

بالا آمدن را چهار نتیجه در نظر بگیرید. هر کدام به دلیل متفاوتی شکست می‌خورد، و یک قبول یا رد واحد پنهان می‌کند کدام بود، پس در نخستین مرحله‌ای که شکست می‌خورد بایستید و از بالا دوباره شروع کنید.

StageWhat you checkWhat it proves
1TCP connection established to 4500A listener exists and the path permits it
2IKE_SA authenticated in the gateway logBoth peers agreed on the encapsulation
3CHILD_SA installed, visible with ip xfrm stateKeys exist for the protected traffic
4A new application exchange succeedsThe data path works, not just the control path

مرحلهٔ چهارم همان است که از قلم می‌افتد. نشست موجود ممکن است با وضعیت ذخیره‌شده به کار ادامه دهد، پس پیش از بستن تغییر، اتصال تازه‌ای به میزبان پشت دروازه باز کنید. اگر مرحلهٔ دوم شکست بخورد و مرحلهٔ اول قبول شود، اختلاف در پیشنهاد یا در تنظیم کپسوله‌سازی است، نه در فایروال.

بازگردانی، و هزینهٔ روشن گذاشتن آن

پیش از تغییر، برگشت را برنامه‌ریزی کنید: گزینهٔ کپسوله‌سازی را در هر دو سر خاموش کنید و تأیید کنید تونل از راه UDP برمی‌گردد. قاعدهٔ TCP را یک چرخهٔ بازبینی نگه دارید تا اگر جایگزین دوباره لازم شد، سپس آن را بردارید. شنوندهٔ بی‌استفاده روی 4500 سطح حمله‌ای بدون هیچ ارزش عملیاتی است.

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

فهرست پذیرش

نام و نسخهٔ ویژگی را در هر دو سر، شنونده را در پاسخ‌دهنده، ضبطی که دست‌دادن کامل را نشان می‌دهد، و چهار مرحلهٔ ثبت‌شده با برچسب زمانی را تأیید کنید. دلیل جایگزین را به سابقهٔ تغییر بیفزایید تا مهندس بعدی بداند چرا TCP آنجاست. پیش از آنکه لازم شود، بازگردانی را تمرین کنید.

اگر هر مرحله‌ای شکست خورد، فقط همان مرحله را درست کنید. تغییر مجموعهٔ رمز یا تنظیمات هویت برای دنبال کردن یک مشکل انتقال، معمولاً شکست دوم و نامرتبطی روی اولی اضافه می‌کند.

مقالات مرتبط