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 не скончыцца, таму правільная канфігурацыя выглядае зламанай на ўвесь час жыцця старога 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, звычайна азначаюць, што адказ выходзіць праз іншы інтэрфейс, або селектар не пакрывае зваротны прэфікс. Запішыце алгарытмы, час жыцця, селектары і новае імя тунеля, бо наступная змена прапановы паўторыць гэтую перабудову, і гэтыя значэнні робяць яе кароткай задачай.

Падобныя артыкулы