GCP HA VPN: BGP сессиясы Waiting for peer күйінде ілініп қалады, мекенжай жұбының ауысуы
Cloud VPN BGP сессиясы Waiting for peer күйінде ілініп қалса, әдетте туннель мен теңдестің мекенжайлары ауысып кеткен. Бірдеңені қайта салмас бұрын жұпты тексеріңіз.
Cloud VPN туннелінде ешқашан Established күйіне жетпейтін BGP сессиясы әдетте маршруттау мәселесі емес. Бұл сым мәселесі: бір-бірін айнадай қайталауы керек екі мекенжай қате тәртіппен енгізілген, немесе бірінші туннельдің жұбы екіншісінде қайта пайдаланылған. Туннельдің өзі толық сау болуы мүмкін, ал сессия Waiting for peer күйінде тұрады, өйткені IPsec пен BGP сол екі шеткі нүктенің арасындағы бөлек келіссөздер. Бірдеңені қайта салмас бұрын осы екеуінің қайсысы бұзылғанын анықтаңыз.
Бір сұрақ жағдайлардың көбін шешеді: теңдес құрылғысы Cloud Router мекенжайын мүлдем көре ме?
Туннель күйі мен сессия күйі екі бөлек тексеру
Алдымен IKE мен ESP келеді. Туннель орнатылмаған болса, оның ішіндегі ешнәрсе маңызды емес және BGP мекенжайы туралы әңгіме ерте. Туннельдің күйі мен толық күйін оқыңыз, содан кейін сол туннель үшін маршруттаушының BGP теңдес күйін оқыңыз.
Туннель істеп тұрғанда оның BGP теңдесі өшірулі болса, ақау сессияға тарылады: теңдес мекенжайы, ASN немесе ішкі мекенжайға келетін TCP 179. Туннель істеп тұр, сессия істеп тұр және VPC-де әлі маршрут жоқ бұл үшінші жағдай. Мекенжайларды өзгерту онда көмектеспейді, өйткені сессия әлдеқашан жұмыс істеп тұр және префикс жай ғана хабарланбайды немесе басымдық берілмейді. Осы үш жағдайды бөлек ұстау жұмыстың басым бөлігі.
Әр туннельге екі ұшы толтырылған жеке /30 қажет
Әр HA VPN туннелі 169.254.0.0/16 ішінен link-local /30 алады, бір мекенжай Cloud Router интерфейсінде, екіншісі сіздің теңдесіңізде. Теңдес өрісі алыс ұшын көрсетуі керек, ешқашан маршруттаушының өз мекенжайын емес.
Екі туннель Cloud Router-де екі интерфейс деген сөз, әрқайсысы басқа /30-бен. 0 туннелінің жұбын 1 туннелінде қайта пайдалану қорытынды кестеде ұқыпты көрінетін және OPEN пакетінде өлетін қате.
| Tunnel | Router interface | Peer address | What a swap produces |
|---|---|---|---|
| tunnel 0 | 169.254.1.1/30 | 169.254.1.2 | OPEN sent to itself or to nothing; session waits |
| tunnel 1 | 169.254.1.5/30 | 169.254.1.6 | same failure on the second session |
| both | one pair reused | one address reused | one session up, the other never leaves waiting |
Жұпты консоль қорытындысынан емес, маршруттаушы ресурсынан оқыңыз. Қорытынды теңдес мекенжайын қате оқуға оңай бағанда көрсетеді, ал интерфейстің ipRange мен теңдестің peerIpAddress бір /30-нің қарама-қарсы ұштарын сипаттауы керек.
Ауысу әдетте қайта салу кезінде болады
Жұптар дәл туннельді қайта салғанда айқасады. Ескі туннельдің теңдес мекенжайы жаңа туннельдің интерфейс өрісіне көшіріледі, немесе жаңа сессия алдыңғы сессияның теңдесіне бағытталады. Қалай болса да Cloud Router OPEN пакеттерін енді өзі болып табылатын мекенжайға немесе артында туннелі жоқ мекенжайға жібереді.
Консольді ашпас бұрын жұптарды жазып алыңыз: туннель аты, интерфейс, маршруттаушы мекенжайы, теңдес мекенжайы, теңдес ASN. Содан кейін екі туннельді бір жолымен жасаңыз, екіншісі біріншісінің қалдықтарымен толтырылмасын.
Сессияның күтуінің тағы үш себебі
Біріншісі теңдес ASN: әр тарап қарсы тараптың ASN-мен конфигурациялануы керек, ал сәйкессіздік теңдеске жетеді, бірақ ешқашан орнатылмайды. Екіншісі теңдестің өз файрволы, ол туннель интерфейсінде TCP 179-ға рұқсат беруі керек; IKE немесе ESP ережесі мұны қамтымайды. Үшіншісі өзінің көршісі ретінде конфигурацияланған мекенжайдан өзге бастапқы мекенжайдан жауап беретін теңдес.
Теңдестің өз журналы айырым белгі. Егер оның BGP қорытындысында сол мекенжай үшін көрші болмаса, пакеттер келмейді және жұп немесе жол қате. Егер көрші Active немесе Connect күйінде тұрса, пакеттер келеді, ал сессия параметрлері сәйкеспейді.
Пакеттер жүретін тәртіппен тексеріңіз
Сыртқа қарай жұмыс істеңіз: туннель күйі, содан кейін маршруттаушының BGP теңдес күйі, содан кейін теңдестің BGP қорытындысы, содан кейін маршруттар. Егер алғашқы екеуі сау болса, Cloud VPN тарапын өңдеуді тоқтатып, теңдес құрылғысымен жұмыс істеңіз. Егер маршруттаушы теңдесті өшірулі деп хабарласа, ал құрылғыңызда көрші болмаса, жұп қате немесе BGP порты сүзілген. Теңдестің туннель интерфейсінде пакеттерді ұстау мұны бір қараумен шешеді, өйткені OPEN пакеттері не сол жерге жетеді, не ешқашан жетпейді.
gcloud compute routers get-status ROUTER --region=REGION теңдес күйін оның пайдаланып отырған мекенжайының жанына басып шығарады, және бұл дәл салыстыру қажет жұп.
Сессия орнаған соң, үйренген префикстің VPC маршрут кестесінде пайда болғанын және әр тарапта бір хост жауап беретінін растаңыз. Содан кейін соңғы жұптарды туннель атауларының жанына жазып қойыңыз, келесі қайта салу консоль қорытындысынан емес, тексерілген кестеден басталсын.