IKE SA встановлено, CHILD SA відсутній: де зупиняються дані
Встановлений IKE SA не означає, що дані йдуть. Прочитайте записи нащадка, перевірте селектори й лічильники та назвіть шар, який справді відмовив.
Клієнт каже, що автентифікація пройшла, стан IKE виглядає здоровим, а лічильники пакетів залишаються на нулі. Це поєднання не суперечність: IKEv2 тримає керівне відношення й відношення даних окремо, і перше може завершитися успішно, поки друге так і не піднімається. Батько веде переговори; нащадок несе трафік. Прочитайте два шари окремо, перш ніж називати тунель непрацездатним.
Що роблять два SA
IKE SA — це керівне відношення: він автентифікує сторони й несе обміни, які узгоджують, замінюють і знімають захист. Він ніколи не несе пакети вашого застосунку. Тому здоровий батько доводить лише те, що два кінці можуть домовитися про політику безпеки, і більше нічого.
CHILD SA — це відношення даних, створене під батьком, із селекторами трафіку й ключовим матеріалом для одного захищеного набору. Воно напрямлене, тому вивід стану перелічує вхідну й вихідну асоціацію з окремими ідентифікаторами й зазвичай окремими лічильниками для кожного напрямку. Ця пара — причина, чому один напрямок може працювати, а інший падати, і чому фраза тунель піднятий нічого не говорить про трафік. Один батько може тримати й кількох нащадків, і так одна мітка з'єднання приховує потрібну вам.
Читайте записи нащадка, а не мітку з'єднання
Відкрийте стан батька й список нащадків разом і знайдіть нащадка, селектори якого збігаються з потоком, який ви перевіряєте. Запишіть його селектори трафіку, узгоджені алгоритми, час життя й лічильники в обох напрямках. Якщо нащадків кілька, зіставляйте за селекторами, а не за позицією, бо позиція змінюється після оновлення ключа. Запишіть ідентифікатори, перш ніж щось змінити.
Якщо батько перелічує інший набір трафіку, ніж той, який ви перевіряєте, ви читаєте не того нащадка. Це проблема селекторів, а не зламаний тунель.
Записуйте й позначки часу. Оновлення ключа може замінити один шар, поки інший залишається встановленим, і нащадок, що виглядає новим, може бути заміною того, за яким ви стежили. Порівняйте ідентифікатори, перш ніж зробити висновок, що нащадок зник.
Коли нащадка немає взагалі
Автентифікація може пройти, поки пропозиція даних або селектори зазнають невдачі, і батько залишається зовсім без нащадка. Звичайна причина — незбіг алгоритмів або незбіг селекторів трафіку, і обидві сторони записують відхилену пропозицію. Читайте обидва кінці, бо доступна вам сторона може показувати лише відмову. Виправте незбіг замість перезапуску батька, який повторює ті самі невдалі переговори й додає до доказів ще одну перерву.
Батько, який постійно встановлюється заново, — це інша несправність, ніж батько, який тримається без нащадка. У другому випадку журнали називають відхилену пропозицію, тож зберіть цю пропозицію з обох кінців, перш ніж правити політику.
Коли нащадок є, але лічильники стоять на нулі
Надішліть свіжий запит, що відповідає селекторам нащадка. Запит до адресата поза цією політикою не зрушить його лічильники, хоч би як успішно він виглядав.
Перевірте маршрут, який має заштовхувати потік у тунель, бо нащадок без трафіку часто є нащадком, у який нічого не маршрутизується. Лічильники, що рухаються лише в один бік, указують на незбіг селекторів або політики на зворотному шляху. Подивіться на зворотні селектори віддаленої сторони, перш ніж торкатися локальної. Свіжий запит дає ще й позначку часу, щоб зіставити її з виводом стану обох кінців.
Назвіть шар у звіті
Повідомляйте про збій як три поля, а не як вирок: шар, який відмовив, обмін або нащадок, який ви перевірили, і доказ, який ви маєте. Шар — один із трьох: батько так і не встановився, переговори нащадка було відхилено, або нащадок є, а трафік до нього не доходить. Доказ — ідентифікатор нащадка з його селекторами й лічильниками або відхилена пропозиція, процитована з обох журналів. Будь-хто, хто це читає, може одразу перейти до важливого обміну, замість питати, який VPN ви маєте на увазі.
документація strongSwan щодо IKEv2 показує, як ці шари виглядають у виводі стану. Додайте вивід перевіреного нащадка, а не лише підсумок батька.