Па змаўчанні AWS Site-to-Site VPN чакае, пакуль customer gateway пачне перамовы. Гэтае значэнне па змаўчанні — налада, а не закон, і называецца яна Startup action. Перш чым брацца за яе, раздзяліце два пытанні, якія пастаянна блытаюць: хто ўзводзіць тунель і ці ёсць у пакетаў, якія вас цікавяць, маршрут праз яго. Толькі першае жыве ў параметрах тунеля.

Аддзяліце дзеянне запуску ад дзеяння па таймауце DPD

Два параметры для кожнага тунеля кіруюць дзвюма рознымі падзеямі, і ўстаноўка аднаго нічога не кажа пра другі.

EventOptionUseful values
A new or modified VPN connection needs a tunnelStartup actionadd waits for the peer; start asks AWS to initiate
Dead peer detection times outDPD timeout actionclear ends the session, restart reinitiates, none does nothing

Калі AWS павінна ўзвесці новы або зменены тунель, выберыце start. Калі AWS павінна таксама перазапусціць перамовы пасля таймаута DPD, наладзьце restart для гэтай падзеі асобна. Ні адзін з параметраў не з'яўляецца палітыкай паўторных спроб для праграм, і ні адзін не з'яўляецца інтэрвалам перазамены ключоў: DPD правярае, ці жывы суразмоўца, а перазамена ключоў замяняе security associations на жывым тунелі.

Праграма, якая атрымлівае таймаут, пакуль тунель усё яшчэ паказвае стан up, мае праблему шляху даных. Скарачэнне таймера DPD гэтага не выправіць і можа дадаць мітусню, якую давядзецца тлумачыць пазней.

Праверце, што AWS ёсць куды адправіць перамовы

Ініцыяцыя з боку AWS магчымая толькі праз IKEv2, і AWS патрэбны публічны адрас customer gateway, каб ведаць, куды адпраўляць прапанову. Выпадак, які балюча б'е, — гэта рэсурс customer gateway з аўтэнтыфікацыяй па сертыфікаце, створаны без адраса: дакументацыя AWS апісвае стварэнне новага рэсурсу customer gateway з адрасам і потым змяненне VPN-злучэння, каб яно паказвала на яго.

Сертыфікат даказвае, хто суразмоўца. Ён не паведамляе AWS, дзе суразмоўца знаходзіцца, і гэта два розныя патрабаванні. Таму рашэнне — новы рэсурс customer gateway, а не новы сертыфікат. Замена сертыфіката пакідае AWS з той жа адсутнай прыладай прызначэння.

Калі customer gateway стаіць за NAT, AWS таксама патрэбны наладжаны responder identity, IDr, каб ідэнтычнасць суразмоўцы адпавядала таму, што чакае прылада. Пацвердзіце гэтае значэнне і шлях праз фаервол, які прапускае трафік IKE, перш чым вінаваціць параметр, які вы толькі што змянілі. Выбар start не можа прымусіць недасяжнага або няправільна ідэнтыфікаванага суразмоўцу прыняць прапанову.

Ужывіце змяненне да аднаго тунеля і чакайце перапынку

У VPN-злучэння два тунелі з незалежнымі параметрамі, таму пацвердзіце, які менавіта вы рэдагуеце, па яго знешнім адрасе. AWS дазваляе змяняць па адным тунелі за раз, і злучанасць праз выбраны тунель можа перапыняцца на некалькі хвілін.

  1. Выберыце злучэнне Site-to-Site VPN і адкрыйце Modify VPN tunnel options.
  2. Выберыце тунель па знешнім IP-адрасе і пацвердзіце яго версію IKE і рэсурс customer gateway.
  3. Усталюйце тыя дзеянні запуску і DPD, якія вам сапраўды патрэбны, і захавайце ў акне, якое вы кантралюеце.
  4. Пацвердзіце, што зменены тунель усталёўваецца, і праверце другі тунель і маршрутызацыю перад наступным змяненнем.

Адна паводзіна заслугоўвае ўвагі перад абслугоўваннем. Калі ініцыяцыя AWS уключана, таймаута няма: AWS працягвае спрабаваць, пакуль тунель не ўзнімецца, і пачынае зноў, калі customer gateway адпраўляе паведамленне delete-SA. Калі вы наўмысна адключыце суразмоўцу, AWS будзе працягваць стукаць, і гэта будзе відаць у яго журналах.

Правярайце шлях праграмы, а не толькі стан тунеля

Тунель са станам up — гэта не тое самае, што працоўны запыт. Функцыя Lambda, падключаная да VPC, усё яшчэ мае патрэбу ў маршруце subnet да прэфікса кліента, у правілах security group і network ACL, якія дазваляюць трафік, у развярэнні імёнаў, якое вяртае правільны адрас, і ў зваротным шляху на баку кліента.

Праверце адзін раз рэальным запытам з кантэксту праграмы, а затым чытайце flow logs, калі гэта не ўдалося. Трафік keepalive — законны варыянт, калі ініцыяцыя AWS выключана і прастойнаму тунелю патрэбны пакеты, каб трымацца; але гэта павінна быць рашэнне маніторынгу, якое вы можаце назваць, а не невытлумачаны цыкл ping, прымацаваны да функцыі.

Спачатку выберыце, хто ўзводзіць тунель, а затым дыягнастуйце астатнюю няспраўнасць на яе ўласным узроўні. Дакументацыя AWS пра ініцыяцыю апісвае патрабаванні да адраса, ідэнтычнасці і паўторных спроб падрабязней, чым падсказкі ў кансолі.

Падобныя артыкулы