Cloud VPN k Cisco ASA: přestavba po neshodě v návrhu
Cloud VPN zapekne návrh do objektu tunelu, takže neshoda s ASA znamená přestavbu. Zapište selektory, slaďte obě fáze, vymažte staré SA.
NEGOTIATION_FAILURE na tunelu Cloud VPN s Cisco ASA na vzdálené straně je téměř vždy neshoda v návrhu nebo v selektorech a prvním užitečným faktem je, že to žádná úprava nespraví. Cloud VPN zafixuje návrh IKE při vytvoření objektu tunelu. Neexistuje pole pro změnu algoritmu na místě, takže oprava je smazání a nové vytvoření se zaznamenaným výchozím bodem. Berte to jako přestavbu a práce se změní v kontrolní seznam místo odpoledne plného hádání.
Přečtěte selhání dřív, než cokoli smažete
Selhání vyjednávání je problém fáze a log protistrany obvykle fázi pojmenuje. Selhání fáze 1 znamená, že se strany nedohodly na návrhu nebo se nedokázaly vzájemně autentizovat. Selhání fáze 2 znamená, že tunel vstal a chráněné selektory si neodpovídaly. To jsou různé opravy a řádek z logu stojí za to vytáhnout dřív, než někdo sáhne na konfiguraci.
Selhání také řadu věcí vylučuje. Není to trasa ve VPC, není to pravidlo firewallu na rozhraní tunelu a není to porucha překladu jmen uvnitř sítě. Honění těchto věcí přináší sebevědomé změny, které výsledek nemohou změnit, a konečnou opravu pak hůř přiřadíte.
Zachyťte obě konfigurace, dokud ještě existují
Smazání tunelu trvá půl minuty a zničí jediný důkaz, který jste měli. Předtím si zapište místní a vzdálené selektory, adresu protistrany, komu patří sdílené tajemství a crypto map nebo profil IKEv2 na ASA. ASA odpovídá na dvě oddělené otázky: co je nakonfigurováno a co právě běží:
show running-config crypto ikev2
show crypto ikev2 sa
show crypto ipsec sa | include local ident|remote ident|statusNa straně Google čtěte objekt tunelu, ne shrnutí v konzoli, protože adresa protistrany a pole selektorů jsou hodnoty, které musíte přesně zopakovat:
gcloud compute vpn-tunnels describe tunnel-to-asa --region europe-west1 \
--format="yaml(peerIp,localTrafficSelector,remoteTrafficSelector,ikeVersion,sharedSecret)"Zapište ty hodnoty do tiketu před prvním smazáním. Přestavba níže funguje jen proto, že dokážete znovu vytvořit stejný objekt s jedním záměrným rozdílem.
Algoritmy, o kterých jedna strana odmítá vyjednávat
Cloud VPN nevybírá z řady algoritmů IKEv1 jako tradiční protistrana. Nastavení protistrany, která očekává, jsou pevná: aes-cbc-128 pro šifrování, sha1-96 pro integritu i PRF, skupina Diffie-Hellman 2, 36,600 sekundy pro fázi 1 a 10,800 sekundy pro fázi 2. Zásada na ASA musí nabídnout přesně tuto sadu. Druhý návrh na ASA nevadí, pokud je v seznamu i ten odpovídající.
IKEv2 dává oběma stranám víc prostoru, ale pravidla si drží stejný tvar: zapněte PFS, zvolte skupinu DH, kterou tunel podporuje, a držte seznam návrhů dost krátký, aby byla neshoda zjevná. Protistrana ASA na Cloud VPN také znamená statické směrování, takže chráněné prefixy je třeba naplánovat a vypsat, ne nechat na BGP.
Životnost zkopírovaná ze šablony jiného výrobce je tady obvyklá chybná odbočka. Google tyto hodnoty zveřejňuje jako povinná nastavení protistrany, tak je nastavte; kratší hodnota se nevyjedná nahoru na to, co ASA chce.
Smažte, vytvořte znovu a vyčistěte starý stav
Smažte tunel, ne bránu, a poznamenejte si jméno, které Cloud VPN náhradě přidělí, protože jména se přidělují, ne znovu používají. Vytvořte ho znovu se zaznamenanými hodnotami a stejnou adresou protistrany, pak přidejte odpovídající návrh do seznamu zásad ASA.
Vyčistěte bezpečnostní asociace po změně na ASA a před čtením výsledku. ASA může dál nabízet zastaralou zásadu, dokud současná SA nevyprší, takže správná konfigurace vypadá rozbitá celou dobu života té staré a pozorovatel usoudí, že přestavba selhala, když ještě ani nezačala:
clear crypto ikev2 sa
clear crypto ipsec saPotvrďte, že fáze 1 vstane, než se podíváte na fázi 2. Dokud je fáze 1 dole, návrh nebo předsdílený klíč jsou špatné a práce se selektory to nezmění.
Selektory se zrcadlí, pak rozhodují čítače
Fáze 2 funguje jen tehdy, když se obě strany shodnou na chráněných adresách, a shoda je zrcadlová, ne sdílená. Místní selektor Google musí odpovídat selektoru, který ASA nazývá vzdáleným, a vzdálený selektor Google tomu, co ASA nazývá místním. Tunel s 0.0.0.0/0 na jedné straně a jedinou podsítí na druhé projde fázi 1 a pak selže ve fázi 2 se stejnou hlavní chybou. Žádná strana nemůže rozšířit seznam té druhé.
U selektorů založených na zásadách vypište každou dvojici prefixů a seznam udržujte v tiketu. Podsíť přidaná později v místní síti vyžaduje úpravu na obou koncích, protože nová trasa na ASA selektor nerozšíří, a výsledkem je tunel, který běží a propouští provoz jen pro prefixy, které existovaly první den.
Skončete jedním tokem od hostitele k hostiteli a přečtěte čítače bajtů na obou stranách. Čítače rostoucí na ASA a stojící na Google obvykle znamenají, že odpověď odchází jiným rozhraním, nebo že selektor nepokrývá zpáteční prefix. Zapište algoritmy, životnosti, selektory a nové jméno tunelu, protože další změna návrhu tuto přestavbu zopakuje a ty hodnoty z ní udělají krátkou práci.