GCP Cloud VPN: tikrinkite šliuzą, tunelį ir užkardą iš eilės
Tunelis, kuris praneša esąs sukurtas, kai kiekviena patikra baigiasi skirtuoju laiku, paprastai neturi VPC užkardos taisyklės. Tikrinkite šliuzą, selektorius ir maršrutizavimo tipą ta tvarka.
Jūsų konsolė rodo žalią tunelį, vietinė stebėsena vis dar negali pasiekti nė vienos instancijos, o tunelio perstatymas atrodo akivaizdus sprendimas. Taip būna retai. Sukurtas tunelis įrodo tik tai, kad du šliuzai baigė IKE mainus. Jis nieko nesako apie tai, ar paketas kada nors buvo įleistas į jūsų VPC.
Tarp tos žalios piktogramos ir atsakymo stovi keturi sprendimai, ir jie nepavyksta nuspėjama tvarka. Pradėkite nuo pigiausio.
Trys objektai, ir tik vienas jų šifruoja
VPN šliuzas valdo išorinį adresą, į kurį šifruoja jūsų partneris. Konsolėje jo niekada nekursite rankomis: prisijungimo formoje pasirinkite arba rezervuokite adresą ir šliuzas atsiras kartu su juo. HA šliuzas užima du adresus dviejuose sąsajose, o tai vėliau svarbu tikrinant kvotas.
Tunelis yra to šliuzo ir partnerio poravimas. Jis neša bendrą paslaptį ir srauto selektorius, kuriuos žada apsaugoti. Būtent šiuose selektoriuose prasideda dauguma tyliųjų gedimų. Tunelis, kurio vietinis selektorius apima 10.0.0.0/24, nepristatys 10.0.1.0/24, kad ir kaip sveikai atrodytų būsena.
Tolimasis galas laiko savo sąrašą, paprastai vadinamą šifravimo domenu, o užbaigianti aparatinė įranga lygina jį su jūsiškiu. Nė viena pusė nesidera dėl selektoriaus, kuris jai nebuvo duotas.
Maršrutizavimo tipas nusprendžia, kas pasiekia maršrutų lentelę
Cloud VPN siūlo tris maršrutizavimo formas, ir jos nesimaišo švariai. Politika pagrįstas maršrutizavimas išlaiko statines selektorių poras, maršrutais pagrįstas maršrutizavimas tikisi, kad statinius maršrutus pridėsite patys, o dinaminis maršrutizavimas skelbia prefiksus per Cloud Router BGP protokolu. Pasirinkite vieną sąmoningai.
Dinaminis tunelis su ranka rašytais statiniais maršrutais šalia sukuria maršrutų lentelę, kuri ištuštėja kaskart, kai BGP sesija susvyruoja.
Dinaminis yra vienintelė forma, leidžianti apsaugotiems prefiksams keistis neperstatant tunelio, ir ji įtraukia Cloud Router į objektų, kuriuos turite patikrinti, rinkinį. Statiniai selektoriai lieka tinkami, kai partneris yra aparatinė užkarda, nemokanti BGP. Tada abiem galams reikia tų pačių diapazonų, ir konkretesnis įrašas turi laimėti abiejuose. Pora, kuri skiriasi vienu potinkliu, susikuria ir tada neša pusę jūsų srauto.
Numanomasis atmetimas slypi už tunelio
Įeinantis srautas vertinamas pagal numanomąjį atmetimą žemiausiu prioritetu, ir ta taisyklė nesirūpina, kad paketas atvyko užšifruotas. Kol užkardos taisyklė neįvardija vietinio diapazono ir naudojamo prievado, paketas iššifruojamas, patikrinamas ir išmetamas. VPN žurnalas visą laiką lieka švarus, nes tunelis padarė būtent tai, ką žadėjo.
Vietoj to skaitykite užkardos atmetimų žurnalą, kai tunelis veikia, o patikra baigiasi skirtuoju laiku, tada apribokite taisyklę šaltinio diapazonu ir reikiamais prievadais:
gcloud compute firewall-rules create allow-from-dc \
--network=vpn-vpc \
--direction=INGRESS \
--source-ranges=192.168.10.0/24 \
--allow=tcp:22,tcp:5432,icmpViena veikianti kryptis yra užkardos užuomina
Išeinantis srautas elgiasi kitaip, nes numanomoji leidimo taisyklė leidžia instancijoms siųsti bet kur. Duomenų centras, kuris nepasiekia VM, dažnai stovi už visiškai veikiančio išėjimo kelio priešinga kryptimi. Ši asimetrija atskiria užkardos spragą nuo maršrutizavimo gedimo, nes maršrutizavimo gedimas nutraukia abi kryptis iš karto. Išbandykite priešingą kryptį prieš taisydami dar vieną taisyklę.
Adresų kūrimas taip pat yra kvotos operacija. Projektas, artimas naudojamų išorinių adresų ribai, atmeta ryšį su klaida, kuri skamba kaip teisių klaida.
Selektoriai, kvotos, tada keturi patikrinimai
Konsolėje sukurti tuneliai kartais grąžina tuščią nuotolinį srauto selektorių iš gcloud compute vpn-tunnels describe, nors sugeneruoti maršrutai srautą neša teisingai. Palyginkite, ką fiksuoja API, su diapazonais, kuriuos iš tikrųjų saugote, prieš nuspręsdami, kad tunelis neteisingas. Kūrimas per API arba SDK išlaiko selektorių aiškų.
Kvotos yra kita lengva klaida. Padidinimo prašykite prieš techninės priežiūros langą, o ne jo metu, ir patikrinkite adresų skaičių tame pačiame projekte kaip šliuzas.
Dirbkite iš išorės į vidų: partnerio būsena, abu selektorių sąrašai, maršrutas kiekvienai pusei, įėjimo taisyklė šaltinio diapazonui ir prievadui, tada paketų fiksavimas. Įrašykite šliuzo adresą, abu selektorių sąrašus ir maršrutizavimo tipą į pakeitimo bilietą, kol tunelis naujas, nes kitam inžinieriui, kuris pridės potinklį, prireiks visų trijų.