Tunnelen kommer op, IKE ser sundt ud, og intet går igennem. Det er den sædvanlige form for et ASA-til-Azure-vælgerproblem, og derfor skriver jeg kontrakten, før jeg rører nogen af de to konsoller. Kontrakten er fire ting: objekterne, der identificerer hver peer, forbindelsesmodellen, de præcise præfikspar og den verifikation, der beviser hvert par. Tager du fejl af dem, fejlfinder hver senere kommando en konfiguration, du ikke burde have bygget. Denne runbook er den rækkefølge, jeg bruger, sammen med de kommandoer, der viser, hvilket objekt der faktisk er forkert.

Skriv de fire objekter ned, før du konfigurerer

Begynd med ASA-udgivelsen og platformen, det offentlige endpoint, Azure VPN-gatewayens type og SKU og den lokale netværksgateway, der repræsenterer din side. De fire navne er ordforrådet for alt det følgende, og hver af dem har en anden ejer, når noget går i stykker.

Hvis to af dem stadig er gæt, så stop. En forkert præfiksliste på den lokale netværksgateway er ikke et tuningproblem.

Vælg én forbindelsesmodel, og hold op med at blande skabeloner

Et crypto map-design og et tunnel interface-design er forskellige konfigurationer, og en skabelon til den ene bliver ikke gyldig for den anden ved at redigere peer-adressen. Noter, hvilken du bygger, før du indsætter noget, fordi uoverensstemmelsen senere viser sig som et vælgerproblem snarere end som en konfigurationsfejl. Microsofts interoperabilitetsguide for ASA dækker begge mønstre og angiver, hvilken Azure-gatewaymodel hver af dem forudsætter. Hvis dine noter ikke navngiver modellen, har du endnu ikke et design.

En rutebaseret Azure-gateway med politikbaserede trafikvælgere er en specifik dokumenteret mulighed, ikke standarden. Hvis dit design afhænger af den, skal designet sige det, fordi den rutebaserede standardvælgermodel opfører sig anderledes på Azure-siden.

Versionsgrænser hører også med i kontrakten. En gammel felterfaring om et loft over krypteringsdomæner er et datapunkt om bestemte udgivelser, ikke en permanent egenskab ved enhver ASA.

List præfiksparrene op, ikke aggregaterne

Skriv matricen. Lokale A og B til Azure X og Y er fire par, og hvert af dem kræver enten dækning eller en udtrykkelig udelukkelse. At slå A og B sammen til ét aggregat inkluderer også alt, hvad der ligger imellem dem, og det er sådan et design stille får et hul.

Kontroller, hvad peerne forhandlede, ikke hvad du gemte. En liste over lokale og fjerne netværk på ASA'en er hensigt; CHILD SA er resultatet.

Når et par mangler, er rettelsen normalt en access-list-linje eller en vælgerpost, ikke en ny tunnel.

Verificer med kommandoer, der navngiver objektet

På ASA'en bekræft IKE-sessionen, derefter IPsec SA'erne, derefter vælgerparrene. Hver kommando besvarer et andet spørgsmål, og at køre kun den første er måden, hvorpå udsagnet om, at tunnelen er oppe, bliver en forkert konklusion. Læs outputtet for den peer, du faktisk konfigurerede, ikke for den SA, der tilfældigvis er først på listen. Azure-siden besvarer de samme tre spørgsmål fra sit eget synspunkt.

show crypto ikev2 sa detailed
show crypto ipsec sa peer 203.0.113.10
show run access-list AZURE-SELECTORS
packet-tracer input inside icmp 10.1.10.10 8 0 10.2.20.20 detailed

Spørg derefter Azure om forbindelsestilstanden med az network vpn-connection show --name <connection> --query connectionStatus. Connected med nul byte i datastien er et vælgerproblem, ikke et routingproblem.

Test én tilladt strøm pr. par, undersøg kildeadressen, der ses på den anden side, og prøv én ressource, der burde være afvist. Den sidste test er den eneste, der beviser, at grænsen stadig findes.

Hold krypteringsomfanget adskilt fra adgangstilladelse

En bred vælger er ikke tilladelse. Hvis det understøttede layout er bredere end applikationspolitikken, så behold de smalle tjenester i firewallreglerne og lad krypteringsomfanget være, hvor det skal være.

Azure-workload-ruter og lokale returruter gennemgås separat. BGP-meddelelser, statisk netværksomfang og brugerdefinerede ruter skal alle beskrive den samme sti, og ingen af dem må rekursivt fange peer-transporten.

Tilbagerulning og beviset for, at det virkede

Gem den forrige kørende konfiguration, før du ændrer vælgerne, og vid, hvilken enkelt kommando der lægger den tilbage. På ASA'en betyder det en gemt kopi og den matchende gendannelsessti, ikke en erindring om, hvad du redigerede. Skriv gendannelseskommandoen i ændringsbilletten, mens ændringen stadig er hypotetisk. Kør derefter de samme tre kontroller igen: IKE-tilstand, IPsec SA-par, én tilladt strøm pr. par.

Hvis et par stadig fejler efter gendannelsen, var ændringen ikke årsagen, og du har netop sparet dig selv for et andet udfald.

Relaterede artikler