Sky-VPN treng BGP: kvifor andre rutingsprotokollar mislukkast
Tunnelen er oppe, og prefikset dukkar aldri opp. Styrte sky-VPN-ar snakkar BGP som rutingskontrakten, så sjekk tenestekravet først.
IPsec-tryggleiksassosiasjonen er oppe, tunnelteljarane flyttar seg, og trafikken til sky-prefikset forsvinn. Operatøren prøver då å slå på OSPF på kundens ruter, ventar at naboen blir danna, og ingenting skjer. Tunnelen var aldri den manglande biten: ein styrt sky-VPN legg fram ein definert rutingskontrakt, og på dei store plattformene er den kontrakten BGP. Inntil det finst ein sesjon og eit prefiks blir godteke, er tunnelen berre ein kryptert veg utan mål bak seg.
Tunnelen er oppe, og ruta manglar
At fase 1 og fase 2 blir fullførte, beviser at partane er samde om vernet, ikkje at nokon av sidene veit kvar trafikken skal sendast. Dette er skilde tilstandsmaskinar med skilde feilmodusar.
Still tre spørsmål i rekkjefølgje: vart prefikset annonsert, vart det godteke av naboen, og vart det installert for vidaresending? Eit prefiks som vart annonsert og filtrert, er eit politikkproblem. Eit prefiks som aldri vart annonsert, er eit sesjons- eller konfigurasjonsproblem. Eit prefiks som vart godteke men ikkje installert, er eit ruteproblem, og kvart svar peikar på ein annan del av konfigurasjonen.
Kva leverandøren faktisk gjev deg
Ein styrt VPN-gateway er ikkje ein ubunden ruter. Leverandøren gjev deg ein gateway med støtta nabo-adresser, ei innstilling for autonomt system, prefiksgrenser og ei definert feilåtferd. Den flata er produktet.
Google Cloud dokumenterer dynamisk BGP-ruting for HA VPN, der Cloud Router lærer naboruter og leverer eigna eigendefinerte dynamiske ruter til VPC-en. AWS Site-to-Site VPN dokumenterer eit val mellom statisk og dynamisk ruting, og skildrar BGP-livssjekkar som nyttige for tunnel-failover, samstundes som det støttar helsesjekkar for einingar utan BGP. Ingenting av åtferda til plattformene bør utleiast frå produktnamnet til den andre.
Den praktiske konsekvensen er at du først vel den styrte modusen og deretter les dei støtta parametrane. Eit design som føreset ein nabotype tenesta ikkje tilbyr, er ikkje eit konfigurasjonsproblem som skal løysast på kundens ruter.
Tunnelvern og nåbarheit er skilde oppgåver
IPsec vernar trafikken som er vald for tunnelen. BGP leverer nåbarheitsinformasjonen som gjer eit prefiks eigna. Ein fungerande tunnel beviser ikkje at det venta prefikset vart annonsert, godteke eller installert.
Sjå føre deg ei filial som annonserer 10.42.0.0/16 gjennom to eigna tunnelbaner. Fjern éi brukande bane, og rutervalet kan endre seg utan at nokon redigerer ruta for kvar arbeidslast. Registrering, ruterval og applikasjonsattreising er ikkje augneblinklege og ikkje identiske mellom utrullingar, så failover-testen må observere heile sekvensen og ikkje den første pakken som slepp gjennom.
Når eit sky-prefiks ikkje er nåbart, sjekk sesjonstilstanden og dei lærde rutene før du rører kryptografien. Ein SA som er oppe utan ei rute bak seg, er den vanlegaste forma for dette symptomet.
Kvar OSPF-føresetnader bryt saman
OSPF, IS-IS eller ein annan protokoll inne i ein IPsec-tunnel er fullt mogleg på ein sjølvstyrt eining, der du eig båe endane og vidaresendingsdesignet. Det faktumet seier ingenting om ei styrt teneste som berre tilbyr BGP som dynamisk rutingsmodus.
Viss eit føreslått design treng ein nabo-tilknyting tenesta ikkje støttar, endre arkitekturen med vilje. Alternativa omfattar ei sjølvstyrt eining i VPC-en, statisk ruting der tenesta støttar det, eller eit anna tilkoplingsprodukt. Å konfigurere protokollen berre på kundens ruter kan ikkje leggje til ein nabo på skysida som ikkje finst, og det vil ikkje få prefikset til å dukke opp.
Ikkje flytt svaret frå éin leverandør over på gatewayen til ein annan. Dei same orda, som dynamisk ruting eller tunnel-failover, kan skildre ulike mekanismar og ulike grenser.
Les tenestekravet, og design deretter
Før den første konfigurasjonslinja, skriv ned nabo-adressene, numra til dei autonome systema, prefiksa du vil annonsere og godta, rutegrensene og venta åtferd når ein tunnel feilar. Dei fem punkta er kontrakten du designar mot.
Stadfest deretter i same rekkjefølgje: sesjon etablert, prefiks motteke, rute til stades i rutetabellen til VPC-en og ein reell flyt til ei tenesteadresse. Gjenta etter ein tvinga failover, fordi ein sesjon som blir gjenoppretta kan kome tilbake med eit anna rutesett. Viss designet er avhengig av konvergens under eitt sekund, mål det i staden for å anta det.
Oppbevar tenestekontrakten saman med endringsloggen. Når nokon seinare spør kvifor tunnelen ikkje kan køyre OSPF, er svaret ei produktgrense, ikkje ei protokollgrense, og loggen bør seie det.