GCP Cloud VPN: kontroleer gateway, tonnel en firewall in die regte volgorde
'n Tonnel wat as gevestig rapporteer terwyl elke probe tyd uitloop, kort gewoonlik 'n VPC-firewallreël. Kontroleer gateway, selektors en roeteringstipe in daardie volgorde.
Jou konsole wys 'n groen tonnel, die monitering op die perseel kan steeds nie 'n enkele instansie bereik nie, en die herbou van die tonnel lyk soos die ooglopende oplossing. Dit is selde so. 'n Gevestigde tonnel bewys net dat twee gateways die IKE-uitruiling voltooi het. Dit sê niks daaroor of 'n pakket ooit in jou VPC toegelaat is nie.
Vier besluite staan tussen daardie groen ikoon en 'n antwoord, en hulle misluk in 'n voorspelbare volgorde. Werk hulle die goedkoopste eerste.
Drie objekte, en net een van hulle versleutel
'n VPN-gateway besit die eksterne adres waarna jou eweknie versleutel. In die konsole skep jy dit nooit met die hand nie: kies of reserveer 'n adres binne die verbindingsvorm en die gateway verskyn daarmee. 'n HA-gateway neem twee adresse op twee koppelvlakke, wat later by die kwotakontrole saak maak.
'n Tonnel is die koppeling tussen daardie gateway en die eweknie. Dit dra die gedeelde geheim en die verkeersselektors wat dit belowe om te beskerm. Daardie selektors is waar die meeste stil mislukkings begin. 'n Tonnel wie se plaaslike selektor 10.0.0.0/24 dek, sal nie 10.0.1.0/24 lewer nie, hoe gesond die status ook al lyk.
Die verre kant hou sy eie lys, gewoonlik 'n enkripsiedomein genoem, en die terminerende hardeware vergelyk dit met joune. Nie een kant beding 'n selektor wat dit nooit gegee is nie.
Roeteringstipe bepaal wat die roetertabel bereik
Cloud VPN bied drie roetervorms en hulle meng nie skoon nie. Beleidsgebaseerde roetering hou die statiese selektorpare, roeteringsgebaseerde roetering verwag dat jy self statiese roetes byvoeg, en dinamiese roetering adverteer voorvoegsels deur 'n Cloud Router oor BGP. Kies een doelbewus.
'n Dinamiese tonnel met handgeskrewe statiese roetes daarlangs lewer 'n roetertabel wat leegloop wanneer die BGP-sessie wippel.
Dinamies is die enigste vorm wat die beskermde voorvoegsels laat verander sonder om die tonnel te herbou, en dit sleep die Cloud Router in die stel objekte in wat jy moet verifieer. Statiese selektors bly werkbaar wanneer die eweknie 'n hardeware-firewall is wat nie BGP kan praat nie. Beide kante het dan dieselfde reekse nodig, en die meer spesifieke inskrywing moet aan beide kante wen. 'n Paar wat met een subnet verskil, vestig en dra dan die helfte van jou verkeer.
Die geïmpliseerde weiering sit agter die tonnel
Inkomende verkeer word teen 'n geïmpliseerde weiering op die laagste prioriteit geëvalueer, en daardie reël gee nie om dat die pakket versleutel aangekom het nie. Totdat 'n firewallreël die perseelreeks en die poort in gebruik noem, word die pakket ontsleutel, ondersoek en laat val. Die VPN-log bly deurgaans skoon, want die tonnel het presies gedoen wat dit belowe het.
Lees eerder die firewall-weieringslog wanneer die tonnel op is en die probe tyd uitloop, en beperk dan 'n reël tot die bronreeks en die poorte wat jy nodig het:
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,icmpEen rigting wat werk, is 'n firewall-leidraad
Uitgaande verkeer gedra hom anders, want die geïmpliseerde toelaatreël laat instansies oralheen stuur. 'n Datasentrum wat nie 'n VM kan bereik nie, sit dikwels agter 'n heeltemal werkende uitwaartse pad in die ander rigting. Daardie asimmetrie skei 'n firewall-versuim van 'n roeteringsfout, want 'n roeteringsfout breek beide rigtings tegelyk. Toets die omgekeerde rigting voordat jy nog een reël wysig.
Adreskepping is ook 'n kwotabewerking. 'n Projek naby sy limiet op eksterne adresse in gebruik weier die verbinding met 'n fout wat soos 'n toestemmingsfout lees.
Selektors, kwotas, dan die vier kontroles
Tonnels wat in die konsole geskep is, gee soms 'n leë remote traffic selector terug uit gcloud compute vpn-tunnels describe, terwyl gegenereerde roetes verkeer korrek dra. Vergelyk wat die API aanteken met die reekse wat jy werklik beskerm voordat jy besluit die tonnel is verkeerd. Om dit deur die API of SDK te skep, hou die selektor eksplisiet.
Kwotas is die ander maklike misslag. Vra die verhoging voor die onderhoudsvenster eerder as tydens dit, en kontroleer die adrestelling in dieselfde projek as die gateway.
Werk van buite na binne: ewekniestatus, beide selektorslyste, 'n roete vir elke kant, 'n inkomende reël vir die bronreeks en poort, dan 'n pakketvaslegging. Skryf die gateway-adres, beide selektorslyste en die roeteringstipe in die veranderingsticket terwyl die tonnel nuut is, want die volgende ingenieur wat 'n subnet byvoeg, sal al drie nodig hê.