Cloud VPN до Cisco ASA: перебудова після незбігу пропозиції
Cloud VPN вбудовує пропозицію в об'єкт тунелю, тому незбіг з ASA означає перебудову. Запишіть селектори, узгодьте обидві фази, очистіть старі SA.
NEGOTIATION_FAILURE на тунелі Cloud VPN з Cisco ASA на дальньому кінці майже завжди означає незбіг пропозиції або селекторів, і перший корисний факт — жодне редагування цього не виправить. Cloud VPN фіксує пропозицію IKE під час створення об'єкта тунелю. Поля для зміни алгоритму на місці немає, тому ремонт — це видалення й повторне створення із зафіксованою початковою точкою. Ставтеся до цього як до перебудови, і робота стане контрольним списком, а не півднем здогадів.
Прочитайте збій, перш ніж будь-що видаляти
Збій узгодження — це проблема фази, і журнал партнера зазвичай називає фазу. Збій фази 1 означає, що сторони не змогли домовитися про пропозицію або не змогли автентифікувати одна одну. Збій фази 2 означає, що тунель піднявся, а захищені селектори не збіглися. Це різні ремонти, і рядок журналу варто витягти до того, як хтось торкнеться конфігурації.
Збій також виключає низку причин. Це не маршрут у VPC, не правило міжмережевого екрана на інтерфейсі тунелю і не збій розв'язання імен усередині мережі. Гонитва за ними дає впевнені зміни, які не можуть змінити результат, і ускладнює прив'язку остаточного виправлення.
Зафіксуйте обидві конфігурації, поки вони ще існують
Видалення тунелю триває пів хвилини і знищує єдиний доказ, який у вас був. Перед цим запишіть локальний і віддалений селектори, адресу партнера, кому належить спільний секрет і crypto map або профіль IKEv2 на ASA. ASA відповідає на два окремі питання: що налаштовано і що зараз піднято:
show running-config crypto ikev2
show crypto ikev2 sa
show crypto ipsec sa | include local ident|remote ident|statusНа боці Google читайте об'єкт тунелю, а не зведення консолі, бо адреса партнера й поля селекторів — це значення, які треба відтворити точно:
gcloud compute vpn-tunnels describe tunnel-to-asa --region europe-west1 \
--format="yaml(peerIp,localTrafficSelector,remoteTrafficSelector,ikeVersion,sharedSecret)"Занесіть ці значення до заявки перед першим видаленням. Перебудова нижче працює лише тому, що ви можете створити той самий об'єкт заново з однією навмисною відмінністю.
Алгоритми, щодо яких одна сторона відмовляється домовлятися
Cloud VPN не вибирає з набору алгоритмів IKEv1, як традиційний партнер. Очікувані налаштування партнера фіксовані: aes-cbc-128 для шифрування, sha1-96 і для цілісності, і для PRF, група Diffie-Hellman 2, 36,600 секунд для фази 1 і 10,800 секунд для фази 2. Політика ASA має запропонувати саме цей набір. Друга пропозиція на ASA не завадить, якщо відповідна теж є у списку.
IKEv2 дає обом сторонам більше свободи, але правила зберігають ту саму форму: увімкніть PFS, виберіть групу DH, яку підтримує тунель, і тримайте список пропозицій достатньо коротким, щоб незбіг був очевидним. Партнер ASA на Cloud VPN означає й статичну маршрутизацію, тому захищені префікси треба планувати й перелічувати, а не віддавати BGP.
Час життя, скопійований із шаблону іншого виробника, — звичайний хибний поворот тут. Google публікує ці значення як обов'язкові налаштування партнера, тож задайте їх; коротше значення не узгоджується вгору до того, чого хоче ASA.
Видаліть, створіть заново й очистіть старий стан
Видаляйте тунель, а не шлюз, і занотуйте ім'я, яке Cloud VPN дасть заміні, бо імена призначаються, а не використовуються повторно. Створіть його заново із зафіксованими значеннями і тією ж адресою партнера, потім додайте відповідну пропозицію до списку політик ASA.
Очистіть асоціації безпеки після зміни на ASA і перед читанням результату. ASA може продовжувати пропонувати застарілу політику, доки поточна SA не завершиться, тому правильна конфігурація виглядає зламаною весь час життя старої, і спостерігач робить висновок, що перебудова не вдалася, хоча вона ще не почалася:
clear crypto ikev2 sa
clear crypto ipsec saПереконайтеся, що фаза 1 піднімається, перш ніж дивитися на фазу 2. Поки фаза 1 опущена, пропозиція або попередньо розділений ключ хибні, і робота із селекторами це не змінить.
Селектори дзеркаляться, потім вирішують лічильники
Фаза 2 працює лише коли обидві сторони згодні щодо захищених адрес, і згода дзеркальна, а не спільна. Локальний селектор Google має збігатися з селектором, який ASA називає віддаленим, а віддалений селектор Google — з тим, що ASA називає локальним. Тунель з 0.0.0.0/0 з одного боку і однією підмережею з іншого проходить фазу 1 і потім зривається на фазі 2 з тією ж головною помилкою. Жодна сторона не може розширити список іншої.
Для селекторів на основі політик перелічіть кожну пару префіксів і тримайте список у заявці. Підмережа, додана пізніше на майданчику, потребує правки на обох кінцях, бо новий маршрут на ASA не розширює селектор, і результатом стає тунель, який піднятий і пропускає трафік лише для префіксів, що існували першого дня.
Завершіть одним потоком від вузла до вузла і прочитайте лічильники байтів з обох боків. Лічильники, що зростають на ASA і стоять на Google, зазвичай означають, що відповідь виходить через інший інтерфейс або селектор не покриває зворотний префікс. Запишіть алгоритми, часи життя, селектори й нове ім'я тунелю, бо наступна зміна пропозиції повторить цю перебудову, і ці значення перетворять її на коротку роботу.