GCP HA VPN: BGP seansi Waiting for peer'da qotib qoladi, manzillar juftligining almashinuvi
Waiting for peer'da qotib qolgan Cloud VPN BGP seansi odatda tunnel va hamkor manzillarini almashtirib qo'ygan bo'ladi. Biror narsani qayta qurishdan oldin juftlikni tekshiring.
Cloud VPN tunnelida hech qachon Established holatiga yetmaydigan BGP seansi odatda marshrutlash muammosi emas. Bu simlar muammosi: bir-birini aks ettirishi kerak bo'lgan ikki manzil noto'g'ri tartibda kiritilgan yoki birinchi tunnelning juftligi ikkinchisida qayta ishlatilgan. Tunnelning o'zi butunlay sog'lom bo'lishi mumkin, seans esa Waiting for peer'da turadi, chunki IPsec va BGP bir xil ikki so'nggi nuqta o'rtasidagi alohida muzokaralardir. Biror narsani qayta qurishdan oldin bu ikkisidan qaysi biri buzilganini aniqlang.
Bitta savol aksariyat holatlarni hal qiladi: hamkor qurilmasi Cloud Router manzilini umuman ko'radimi?
Tunnel holati va seans holati alohida tekshiruvlardir
Avval IKE va ESP keladi. Tunnel o'rnatilmagan bo'lsa, uning ichidagi hech narsa muhim emas va BGP manzili haqidagi suhbat erta. Tunnel holatini va batafsil holatini o'qing, so'ngra o'sha tunnel uchun marshrutizatorning BGP hamkor holatini o'qing.
Tunnel ishlab turganda uning BGP hamkori o'chirilgan bo'lsa, bu xatoni seansga toraytiradi: hamkor manzili, ASN yoki ichki manzilga keladigan TCP 179. Tunnel ishlayapti, seans ishlayapti va hali VPC'da marshrutlar yo'q bu uchinchi holat. Manzillarni o'zgartirish u yerda yordam bermaydi, chunki seans allaqachon ishlayapti va prefiks shunchaki e'lon qilinmayapti yoki afzal ko'rilmayapti. Bu uch holatni ajratish ishning katta qismi.
Har bir tunnelga ikkala uchi to'ldirilgan o'z /30 kerak
Har bir HA VPN tunnel 169.254.0.0/16 dan link-local /30 oladi, bitta manzil Cloud Router interfeysida, ikkinchisi sizning hamkoringizda. Hamkor maydoni uzoq uchini ko'rsatishi kerak, hech qachon marshrutizatorning o'z manzilini emas.
Ikki tunnel Cloud Router'da ikki interfeys degani, har biri boshqa /30 bilan. Tunnel 0 juftligini tunnel 1 da qayta ishlatish xulosa jadvalda tartibli ko'rinadigan va OPEN paketida o'ladigan xatodir.
| 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 |
Juftlikni konsol xulosasidan emas, marshrutizator resursidan o'qing. Xulosa hamkor manzilini noto'g'ri o'qish oson bo'lgan ustunda ko'rsatadi, interfeysning ipRange'i va hamkorning peerIpAddress'i bir /30 ning qarama-qarshi uchlarini tasvirlashi kerak.
Almashinuv odatda qayta qurish paytida sodir bo'ladi
Juftliklar aynan tunnel qayta qurilayotganda kesishadi. Eski tunnelning hamkor manzili yangi tunnelning interfeys maydoniga ko'chiriladi yoki yangi seans oldingi seansning hamkoriga yo'naltiriladi. Har holda Cloud Router OPEN paketlarini endi o'zi bo'lgan manzilga yoki orqasida tunnel yo'q manzilga yuboradi.
Konsolni ochishdan oldin juftliklarni yozib oling: tunnel nomi, interfeys, marshrutizator manzili, hamkor manzili, hamkor ASN'i. So'ngra ikkala tunnelni bir marta quring, ikkinchisi birinchisining qoldiqlari bilan to'lmasin.
Seansning kutishiga yana uchta sabab
Birinchisi hamkor ASN'i: har bir tomon boshqa tomonning ASN'i bilan sozlanishi kerak va nomuvofiqlik hamkorga yetadi, lekin hech qachon o'rnatilmaydi. Ikkinchisi hamkorning o'z xavfsizlik devori bo'lib, u tunnel interfeysida TCP 179 ga ruxsat berishi kerak; IKE yoki ESP qoidasi buni qamramaydi. Uchinchisi o'zining qo'shnisi sifatida sozlangan manzildan boshqa manba manzilidan javob beradigan hamkordir.
Hamkorning o'z jurnali ajratuvchidir. Agar uning BGP xulosasida o'sha manzil uchun qo'shni bo'lmasa, paketlar kelmayapti va juftlik yoki yo'l noto'g'ri. Agar qo'shni Active yoki Connect holatida bo'lsa, paketlar kelayapti va seans parametrlari mos kelmayapti.
Paketlar bosib o'tadigan tartibda tekshiring
Tashqariga qarab ishlang: tunnel holati, keyin marshrutizatorning BGP hamkor holati, keyin hamkorning BGP xulosasi, keyin marshrutlar. Agar birinchi ikkisi sog'lom bo'lsa, Cloud VPN tomonini tahrirlashni to'xtatib, hamkor qurilmasida ishlang. Agar marshrutizator hamkorni o'chirilgan deb xabar qilsa va qurilmangizda qo'shni bo'lmasa, juftlik noto'g'ri yoki BGP porti filtrlanyapti. Hamkorning tunnel interfeysida paketlarni ushlash buni bir qarashda hal qiladi, chunki OPEN paketlari yo u yerga yetadi, yo hech qachon yetmaydi.
gcloud compute routers get-status ROUTER --region=REGION hamkor holatini u ishlatayotgan manzil yonida chiqaradi va bu aynan siz taqqoslashingiz kerak bo'lgan juftlikdir.
Seans o'rnatilgach, o'rganilgan prefiks VPC marshrut jadvalida ko'rinishini va har ikki tomonda bittadan xost javob berishini tasdiqlang. So'ngra yakuniy juftliklarni tunnel nomlari yoniga yozib qo'ying, keyingi qayta qurish konsol xulosasidan emas, tekshirilgan jadvaldan boshlansin.