Tunelis nokrīt tajā brīdī, kad abi gali nav vienisprātis par iepriekš koplietoto atslēgu, un tas paliek lejā, līdz abas puses nes jauno vērtību. Šī daļa ir gaidāma: AWS uzskata izmaiņas par izvēlētā tuneļa pārtraukumu, un partneris nepabeigs IKE, kamēr atslēgas atšķiras. Tas, kas pārsteidz cilvēkus, ir otrā puse. Otrs tunelis nepārņem trafiku pats, ja vien neesat pārbaudījis, ka tas to spēj nest. Rotējiet šajā secībā, un pārtraukums paliek viena tuneļa iekšienē.

Kas patiesībā notiek, kad atslēga mainās

ModifyVpnTunnelOptions pārraksta viena tuneļa opcijas, ko identificē pēc tā ārējās IP adreses. Tunelis tiek nojaukts un uzbūvēts no jauna, tāpēc IKE un IPsec sarunājas no nulles ar jauno atslēgu. AWS norāda, ka pārtraukums var ilgt vairākas minūtes, un tas ir pietiekami ilgi, lai maršrutēšanas protokols to pamanītu. Otru tuneli tajā pašā savienojumā šis izsaukums neietekmē.

Ir otra ietekme, ko vērts zināt pirms kaut kā sūtīšanas. Maiņas darbība paņem visu tuneļa opciju kopumu, tāpēc izlaists lauks tiek ierakstīts atpakaļ ar noklusējuma vērtību. Ja esat pielāgojis 1. vai 2. fāzes dzīves ilgumu vai mirušā partnera noteikšanas iestatījumus, nododiet pašreizējās vērtības tajā pašā pieprasījumā vai plānojiet tās atjaunot pēc tam.

Vispirms izlasiet pašreizējās vērtības, pēc tam mainiet vienu lauku. Šī secība ir visa šī uzdevuma disciplīna.

Vispirms saskaņojiet AWS tuneli ar pareizo partneri

Konsole marķē tuneļus pēc kārtas, un jūsu ierīce šo marķējumu neizmanto. Identificējiet tuneli pēc tā ārējās IP adreses un saskaņojiet to ar partnera sadaļu klienta vārtejā. 1. tunelis lokālā konfigurācijā nav pierādījums, ka rediģējat tuneli, ko AWS sauc par 1. tuneli.

Sāciet ar pašu savienojumu, kas uzskaita abus tuneļus un atslēgu, kura katram pašlaik ir:

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

Atgrieztā atslēga ir tā, kas tiek izmantota tagad. Salīdziniet to ar partnera konfigurāciju pirms kaut kā maiņas, jo jau pastāvoša neatbilstība izskaidro tuneli, kas nekad nav bijis stabils.

Vispirms ļaujiet otram tunelim nest trafiku

Divi tuneļi vienā savienojumā nepierāda, ka jūsu ierīce ir konfigurējusi abus, ka abi reklamē vajadzīgos prefiksus vai ka trafiks pārvietojas starp tiem. Pārbaudiet alternatīvā tuneļa sarunas, tā maršrutus un reālu lietojumprogrammas plūsmu abos virzienos. Ar BGP dzīva blakusattiecība ir noderīgs pierādījums, bet nav tas pats, kas prefiksu apstiprināšana. Ar statisko maršrutēšanu apstipriniet, kā vārteja izvēlas ceļu un ko tā dara, kad vēlamais ceļš pazūd.

Ja alternatīva nevar nest darba slodzi, ieplānojiet pārtraukumu vai salabojiet alternatīvo tuneli pirms atslēgas aizskaršanas. Statusa gaisma konsoles lapā nav nepārtraukta servisa solījums.

Rotējiet vienu tuneli, pēc tam pārbaudiet ar reālu trafiku

Kad alternatīvais ceļš ir pierādīts, secība ir īsa. Pierakstiet tuneļa adresi, tā partneri un ne slepenos iestatījumus, un uzturiet pārvaldības ceļu uz vārteju, kas nav atkarīgs no tuneļa, kuru grasāties pārtraukt.

  1. Atjauniniet klienta vārtejas partneri izvēlētajai ārējai adresei vai sagatavojiet izmaiņas tā, lai tās stātos spēkā sekundes pēc API izsaukuma.
  2. Nosūtiet maiņas izsaukumu ar jauno atslēgu, kā arī pašreizējiem dzīves ilgumiem un DPD vērtībām.
  3. Pagaidiet, līdz IKE un IPsec atgriežas, pēc tam apstipriniet maršrutus un nepieciešamos prefiksus.
  4. Izlaidiet reprezentatīvu lietojumprogrammas plūsmu caur šo tuneli un vērojiet abus virzienus.

Tunelis nav lietojams, kamēr gali nav vienisprātis un kamēr AWS piemēro izmaiņas, tāpēc partnera atjauninājumam jāseko tūlīt, nevis pēc pusdienām. Tikai tad, kad mainītais tunelis nes reālu trafiku, atkārtojiet procedūru otrā.

Apstājieties, ja pēc pirmā tuneļa atjaunošana vai maršrutēšana joprojām nav skaidra. Divi pusstrādājoši tuneļi ir sliktāki par vienu, par kuru zināt, ka tas strādā.

Kad atjaunošana iestrēgst, lasiet IKE pusi

Tunelis, kas paliek lejā pēc tam, kad abi gali tur jauno atslēgu, parasti ir politikas neatbilstība, ko rotācija atklāja, nevis radīja. Priekšlikumiem, partnera sūtītajai identitātei un trafika selektoriem visiem jāsaskan ar AWS pusi, un vērtība, kas pārdzīvoja izveidotu tuneli, joprojām var tikt noraidīta jaunu sarunu laikā. Izlasiet sarunu statusu un tam pievienoto ziņojumu pirms atslēgas maiņas otro reizi.

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

Ja izmaiņas ir jāatsauc, neatjaunojiet veco atslēgu tikai tāpēc, ka tā agrāk strādāja. Uzskatiet kompromitētu atslēgu par kompromitētu un tā vietā salabojiet sarunas. Pabeidziet ar pārbaudītiem abiem tuneļiem un atjauninātu noslēpumu uzskaiti, lai katrs partneris fiksē, kura vērtība tam ir, un turiet AWS tuneļa opciju dokumentāciju blakus runbook.

Saistītie raksti