Статус Cloud VPN: спачатку прачытайце стан рэсурсу, потым журнал IKE
Кіраваны тунель паведамляе пра выдзяленне, IKE і маршрутызаваны трафік як асобныя этапы. Суаднясіце адзін аб’ект і адзін інтэрвал часу перад змяненнем партнёра.
Тунель Cloud VPN вядзе два жыццёвыя цыклы адначасова, і яны не на адным гадзінніку. Рэсурс трэба выдзеліць і наладзіць, перш чым ён зможа весці перамовы, а ў пратакола пасля гэтага свой парадак паведамленняў IKE. Поле стану можа паведамляць пра першае, нічога карыснага не кажучы пра другое. Чытаць іх як адно — гэта як неадпаведнасць ключа робяць вінаватай у затрымцы падрыхтоўкі.
Пачніце з аднаго аб’екта тунеля і аднаго інтэрвалу часу.
Два жыццёвыя цыклы, адзін аб’ект тунеля
Жыццёвы цыкл рэсурсу — гэта падрыхтоўка тунеля пастаўшчыком: адрасы, канфігурацыя, ёмістасць. Жыццёвы цыкл пратакола пачынаецца, калі абодва бакі маюць дастаткова канфігурацыі, каб абмяняцца IKE_SA_INIT, затым IKE_AUTH, затым даччынымі асацыяцыямі бяспекі. Тунель, які яшчэ ў першай фазе, не праваліў аўтэнтыфікацыю, бо аўтэнтыфікацыя яшчэ не спрабавалася.
Гэтае размежаванне і ёсць уся праблема. Усё астатняе — як назіраць за ім, не зліваючы няроднасныя паведамленні.
Чытайце аб’ект, а не зводку кансолі
Запытайце ў API толькі два палі, якія маюць значэнне, і нічога больш, каб адказ заставаўся дастаткова малым, каб прачытаць яго а трэцяй гадзіне ночы: gcloud compute vpn-tunnels describe NAME --region REGION --format="yaml(status,detailedStatus)". Поле status называе этап жыццёвага цыклу, а detailedStatus нясе чытэльную прычыну, далучаную да яго. Поўны дамп канфігурацыі адказвае на іншыя пытанні, і яго цяжэй уставіць у заяўку. Такія запыты толькі для чытання не могуць змяніць тунель, што важна, пакуль інцыдэнт яшчэ актыўны.
Запішыце адзнаку часу запыту побач са значэннямі, бо абодва палі змяняюцца.
ALLOCATING_RESOURCES — гэта не неадпаведнасць ключа
Калі тунель паведамляе ALLOCATING_RESOURCES, пастаўшчык яшчэ збірае аб’ект. Неадпаведнасць папярэдне агульнага ключа на гэтым этапе назіраць немагчыма, а заблакаваны порт партнёра гэтак жа не даказаны. Што вы можаце праверыць — гэта падрабязнае паведамленне, ці выглядаюць праект і сэрвіс здаровымі, і ці канфігурацыя тунеля дастаткова поўная, каб з партнёрам можна было ўвогуле звязацца. Замена сакрэту зараз змяняе значэнне, якое ніколі не правяралася.
Пачакайце, пакуль стан зменіцца, перш чым рабіць выснову пра канфігурацыю.
ESTABLISHED — гэта пачатак праверак доступу
Усталяваны тунель азначае, што IKE завяршыўся, а не што трафік ідзе. Пацвердзіце маршруты, якія нясе тунель, і, калі задзейнічаны Cloud Router, пацвердзіце сеанс BGP і прэфіксы, якія ён вывучыў. Затым праверце дазволены абмен у праграме, бо правіла міжсеткавага экрана або адсутны маршрут могуць блакаваць трафік праз цалкам здаровы тунель. Кожнае з гэтага — асобнае назіранне з асобным выпраўленнем.
Стан кажа, якое пытанне задаць далей. Ён ніколі не адказвае на пытанне доступу за вас.
Суаднясіце адзін аб’ект і адзін інтэрвал часу
Старая памылка аўтэнтыфікацыі ў журнале належыць папярэдняй спробе, калі толькі яе адзнака часу не трапляе ў інтэрвал, які вы даследуеце. Вазьміце журналы рэсурсу тунеля за тыя ж хвіліны, што і запісаны стан, і трымайце ідэнтыфікатары разам. Пазнейшае падзея IKE можа паказаць, што перамовы пачаліся, пакуль паведамленне кансолі, на якое вы глядзіце, ужо састарэла.
Калі тунель аднавіўся, перш чым вы што-небудзь сабралі, скажыце пра гэта. Нявызначаная прычына — лепшы запіс, чым упэўненая гісторыя, сабраная з няроднасных радкоў.
Наступны крок заўсёды адной формы: адзін аб’ект, адзін інтэрвал, адзін этап. Усё шырэйшае — гэта зводка, а не дыягназ.