Tunel pade v trenutku, ko se oba konca ne strinjata glede vnaprej deljenega ključa, in ostane spodaj, dokler obe strani ne prineseta nove vrednosti. Ta del je pričakovan: AWS spremembo obravnava kot prekinitev izbranega tunela, partner pa ne bo dokončal IKE, dokler se ključa razlikujeta. Kar ljudi preseneti, je druga polovica. Drugi tunel sam ne prevzame prometa, razen če ste preverili, da ga lahko nosi. Vrtite v tem vrstnem redu in prekinitev ostane znotraj enega tunela.

Kaj se v resnici zgodi, ko se ključ spremeni

ModifyVpnTunnelOptions prepiše možnosti enega tunela, ki ga določa njegov zunanji naslov IP. Tunel se poruši in znova zgradi, zato se IKE in IPsec pogajata od začetka z novim ključem. AWS navaja, da lahko prekinitev traja več minut, kar je dovolj dolgo, da to opazi usmerjevalni protokol. Drugi tunel v isti povezavi s klicem ni prizadet.

Preden karkoli pošljete, velja vedeti še drugi učinek. Operacija spremembe vzame celoten nabor možnosti tunela, zato se polje, ki ga izpustite, zapiše nazaj s privzeto vrednostjo. Če ste prilagodili življenjski dobi faze 1 ali faze 2 ali nastavitve zaznavanja mrtvega partnerja, posredujte trenutne vrednosti v isti zahtevi ali načrtujte njihovo poznejšo obnovitev.

Najprej preberite trenutne vrednosti, nato spremenite eno polje. Ta vrstni red je vsa disciplina te naloge.

Najprej povežite tunel AWS s pravim partnerjem

Konzola označuje tunele po vrstnem redu, vaša naprava pa te oznake ne uporablja. Tunel prepoznajte po njegovem zunanjem naslovu IP in ga povežite z razdelkom partnerja na prehodu stranke. Tunel 1 v lokalni konfiguraciji ni dokaz, da urejate tunel, ki ga AWS imenuje tunel 1.

Začnite pri sami povezavi, ki navaja oba tunela in ključ, ki ga vsak trenutno drži:

aws ec2 describe-vpn-connections --vpn-connection-ids vpn-0123456789abcdef0 \
  --query "VpnConnections[0].Options.TunnelOptions[].[OutsideIpAddress,PreSharedKey]"

Vrnjeni ključ je tisti, ki se uporablja zdaj. Primerjajte ga s konfiguracijo partnerja, preden karkoli spremenite, ker že obstoječe neskladje pojasnjuje tunel, ki nikoli ni bil stabilen.

Najprej pustite drugemu tunelu, da nosi promet

Dva tunela v eni povezavi ne dokazujeta, da je vaša naprava konfigurirala oba, da oba oglašujeta predpone, ki jih potrebujete, ali da promet potuje med njima. Preverite pogajanja nadomestnega tunela, njegove poti in resničen tok aplikacije v obe smeri. Pri BGP je živo sosedstvo koristen dokaz, a ni isto kot potrjevanje predpon. Pri statičnem usmerjanju potrdite, kako prehod izbere pot in kaj naredi, ko prednostna izgine.

Če nadomestni tunel ne more nositi obremenitve, načrtujte prekinitev ali popravite nadomestni tunel, preden se dotaknete ključa. Lučka stanja na strani konzole ni obljuba neprekinjene storitve.

Zavrtite en tunel in nato preverite z resničnim prometom

Ko je nadomestna pot dokazana, je zaporedje kratko. Zapišite naslov tunela, njegovega partnerja in nastavitve, ki niso skrivnost, in vzdržujte upravljalno pot do prehoda, ki ni odvisna od tunela, ki ga boste prekinili.

  1. Posodobite partnerja prehoda stranke za izbrani zunanji naslov ali pripravite spremembo tako, da začne veljati sekunde po klicu API.
  2. Pošljite klic spremembe z novim ključem ter trenutnimi življenjskimi dobami in vrednostmi DPD.
  3. Počakajte, da se IKE in IPsec vrneta, nato potrdite poti in zahtevane predpone.
  4. Spustite reprezentativen tok aplikacije skozi ta tunel in opazujte obe smeri.

Tunel je neuporaben, dokler se konca ne strinjata in dokler AWS uporablja spremembo, zato mora posodobitev partnerja slediti takoj, ne po kosilu. Šele ko spremenjeni tunel nosi resničen promet, ponovite postopek na drugem.

Ustavite se, če sta obnovitev ali usmerjanje po prvem tunelu še vedno negotova. Dva napol delujoča tunela sta slabša od enega, za katerega veste, da deluje.

Ko se obnovitev zatakne, preberite stran IKE

Tunel, ki ostane spodaj potem, ko imata oba konca novi ključ, je običajno neskladje pravilnika, ki ga je vrtenje razkrilo in ne ustvarilo. Predlogi, identiteta, ki jo pošilja partner, in izbirniki prometa se morajo vsi ujemati s stranjo AWS, vrednost, ki je preživela vzpostavljen tunel, pa je lahko med novim pogajanjem vseeno zavrnjena. Preberite stanje pogajanj in sporočilo, priloženo k njim, preden ključ spremenite drugič.

aws ec2 describe-vpn-connections --vpn-connection-ids vpn-0123456789abcdef0 \
  --query "VpnConnections[0].VgwTelemetry[].[OutsideIpAddress,Status,StatusMessage]"

Če je treba spremembo razveljaviti, ne obnovite starega ključa samo zato, ker je prej deloval. Obravnavajte razkriti ključ kot razkrit in raje popravite pogajanja. Končajte s preverjenima obema tuneloma in posodobljenim popisom skrivnosti, da si vsak partner zabeleži, katero vrednost ima, dokumentacijo o možnostih tunela AWS pa hranite ob runbooku.

Sorodni članki