IKE-SA برقرار است و CHILD-SA غایب: دادهها کجا متوقف میشوند
برقراری IKE-SA به معنای جریان دادهها نیست. ورودیهای CHILD را بخوانید، انتخابگرها و شمارندهها را بررسی کنید و لایهای را که واقعاً شکست خورده نام ببرید.
کارخواه میگوید احراز هویت انجام شده، وضعیت IKE سالم به نظر میرسد و شمارندههای بستهها روی صفر میمانند. این ترکیب تناقض نیست: IKEv2 رابطهٔ کنترل و رابطهٔ داده را جدا نگه میدارد، و اولی میتواند موفق شود در حالی که دومی هرگز بالا نمیآید. لایهٔ والد مذاکره را میگرداند و لایهٔ فرزند ترافیک را. پیش از آنکه تونل را از کار افتاده بخوانید، دو لایه را جدا بخوانید.
دو SA چه میکنند
IKE-SA رابطهٔ کنترل است: همتاها را احراز هویت میکند و مبادلههایی را میبرد که حفاظت را مذاکره، جایگزین و حذف میکنند. هرگز بستههای برنامههای شما را نمیبرد. پس والد سالم تنها ثابت میکند که دو سر میتوانند بر یک سیاست امنیتی توافق کنند، و نه چیز بیشتر.
CHILD-SA رابطهٔ داده است که زیر والد ساخته میشود، با انتخابگرهای ترافیک و مواد کلید برای یک مجموعهٔ محافظتشده. جهتدار است، بنابراین خروجی وضعیت یک انجمن ورودی و یک انجمن خروجی با شناسههای جدا و معمولاً شمارندههای جدا برای هر جهت فهرست میکند. همین جفتشدن توضیح میدهد چرا یک جهت میتواند کار کند در حالی که دیگری میافتد، و چرا عبارت تونل بالاست هیچ چیزی دربارهٔ ترافیک نمیگوید. یک والد میتواند چند فرزند هم نگه دارد، و اینگونه یک برچسب اتصال تنها، آن یکی را که لازم دارید پنهان میکند.
ورودیهای فرزند را بخوانید، نه برچسب اتصال را
وضعیت والد و فهرست فرزندان را با هم باز کنید و فرزندی را بیابید که انتخابگرهایش با جریانی که آزمایش میکنید همخوان است. انتخابگرهای ترافیک، الگوریتمهای مذاکرهشده، عمر و شمارندههای هر دو جهت آن را یادداشت کنید. اگر چند فرزند وجود دارد، بر پایهٔ انتخابگرها تطبیق دهید نه بر پایهٔ موقعیت، زیرا موقعیت پس از نوسازی کلید تغییر میکند. پیش از تغییر هر چیزی شناسهها را بنویسید.
اگر والد مجموعهٔ ترافیک دیگری جز آنچه آزمایش میکنید نشان دهد، فرزند اشتباه را میخوانید. این مشکل انتخابگرهاست، نه تونل خراب.
مهرهای زمانی را هم ثبت کنید. نوسازی کلید میتواند یک لایه را جایگزین کند در حالی که لایهٔ دیگر برقرار میماند، و فرزندی که تازه به نظر میرسد ممکن است جایگزین همان باشد که زیر نظر داشتید. پیش از نتیجهگیری دربارهٔ ناپدید شدن یک فرزند، شناسهها را مقایسه کنید.
وقتی هیچ فرزندی وجود ندارد
احراز هویت میتواند موفق شود در حالی که پیشنهاد داده یا انتخابگرها شکست میخورند، و والد بدون هیچ فرزندی میماند. علت معمول ناهمخوانی الگوریتم یا ناهمخوانی انتخابگرهای ترافیک است و هر دو همتا پیشنهاد ردشده را ثبت میکنند. هر دو سر را بخوانید، زیرا سویی که به آن دسترسی دارید ممکن است فقط رد شدن را نشان دهد. ناهمخوانی را اصلاح کنید نه اینکه والد را دوباره راه بیندازید، چون آن همان مذاکرهٔ ناموفق را تکرار میکند و یک قطعی به شواهد اضافه میکند.
والدی که پیوسته دوباره برقرار میشود شکستی متفاوت از والد بیفرزند است. در حالت دوم گزارشها پیشنهاد ردشده را نام میبرند، پس آن پیشنهاد را از هر دو سر جمع کنید پیش از آنکه سیاستی را ویرایش کنید.
وقتی فرزند هست اما شمارندهها صفر میمانند
درخواست تازهای بفرستید که با انتخابگرهای فرزند همخوان باشد. درخواست به مقصدی بیرون از آن سیاست شمارندههایش را تکان نمیدهد، هر قدر هم موفق به نظر برسد.
مسیری را بررسی کنید که باید جریان را به تونل براند، زیرا فرزند بیترافیک غالباً فرزندی است که چیزی به آن مسیریابی نمیشود. شمارندههایی که فقط در یک جهت حرکت میکنند به ناهمخوانی انتخابگر یا سیاست در مسیر بازگشت اشاره دارند. پیش از دست زدن به سمت محلی، انتخابگرهای بازگشت همتای دور را ببینید. درخواست تازه یک مهر زمانی هم میدهد تا با خروجی وضعیت دو سر مقایسه کنید.
لایه را در گزارش نام ببرید
شکست را بهجای حکم، در سه میدان گزارش کنید: لایهای که شکست خورد، مبادله یا فرزندی که بررسی کردید، و شواهدی که دارید. لایه یکی از سه است: والد هرگز برقرار نشد، مذاکرهٔ فرزند رد شد، یا فرزندی هست و ترافیک به آن نمیرسد. شواهد شناسهٔ فرزند با انتخابگرها و شمارندههایش است، یا پیشنهاد ردشده که از هر دو گزارش نقل شده باشد. هر کس آن را بخواند میتواند بیدرنگ به مبادلهای برود که اهمیت دارد، بهجای آنکه بپرسد کدام VPN را میگویید.
مستندات strongSwan دربارهٔ IKEv2 نشان میدهد این لایهها چگونه در خروجی وضعیت دیده میشوند. خروجی فرزندی را که آزمودید پیوست کنید، نه فقط خلاصهٔ والد را.