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|status

Na 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 sa

Potvrď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.

Související články