Karamihan ng mga pagkakamali sa AWS Site-to-Site VPN ay mga pagkakamali sa address, at nagagawa ang mga ito bago pa gumalaw ang anumang packet. Ang mga panlabas na address ng tunnel ay umaabot sa mga peer ng IPsec, ang mga panloob na address ay bumubuo ng routing link sa pagitan nila, at ang mga protektadong prefix ang siyang dahilan ng link na iyon. Kopyahin ang isang papel sa isa pa at aangat ang tunnel habang walang niruruta. Ito ang pagkakasunod-sunod na basahin-beripikahin-i-configure na ginagamit ko sa isang BGP customer gateway, na ang mga halaga ay mula sa na-download na configuration ng device, hindi sa memorya.

Tatlong papel ng address, isang tunnel

Ang mga panlabas na address ay pampubliko at pag-aari ng mga peer ng IPsec: isa bawat tunnel sa panig ng AWS, at ang naaabot na pagkakakilanlan ng customer gateway sa panig mo, iniayon sa NAT na setup na talagang mayroon ka. Ang mga panloob na address ay pribado at pag-aari ng lohikal na link, na idinodokumento ng AWS bilang /30 na kinuha mula sa 169.254.0.0/16. Ang mga protektadong prefix ang mga network na VPC, lokal, o transit na niruruta at ipinapahayag mo sa link na iyon.

Ang pagtatalaga ng prefix na LAN bilang address ng interface ng tunnel ang klasikong anyo ng pagkakamaling ito. Mukhang naka-configure ang interface, hindi ipinapahayag ang LAN, at walang ruta ang kabilang panig para dito. Maaaring makapasa pa ang tunnel sa sarili nitong panloob na ping habang bawat pangalan ng application ay nag-time out. Inililista ng reference ng mga opsyon ng tunnel ang mga limitasyon ng panloob na CIDR, kasama ang hanay ng address na dapat pinagmulan nito.

Basahin ang mga halaga mula sa na-download na configuration

I-download ang configuration para sa iyong partikular na modelo ng device mula sa koneksyon, pagkatapos ay ituring ang talahanayan ng address nito bilang pinagmulan ng katotohanan. Ipinapakita ng console ang parehong mga halaga bawat tunnel: panlabas na IP, panloob na CIDR, at address ng BGP peer sa panig ng AWS. Ang dalawang tunnel ay magkahiwalay na bagay na may magkahiwalay na panlabas na endpoint at magkahiwalay na panloob na /30, kahit pareho silang nagdadala ng parehong mga protektadong network.

aws ec2 describe-vpn-connections --vpn-connection-ids vpn-0123456789abcdef0 \
  --query 'VpnConnections[0].Options.TunnelOptions[].[OutsideIpAddress,TunnelInsideCidr]'
aws ec2 describe-customer-gateways --customer-gateway-ids cgw-0123456789abcdef0 \
  --query 'CustomerGateways[0].[IpAddress,BgpAsn]'

Kung hindi tugma ang na-download na file at ang live na console, luma na ang file. I-download muli sa halip na i-edit ang mga address nang manu-mano, dahil ang hindi pagtutugma ng panloob na pares at ng naka-configure na kapitbahay ng peer ay tahimik na pagkabigo ng BGP.

Buuin ang link na may tamang address

Sa gateway na Linux ang tunnel ay interface na VTI o XFRM, at ang panloob na /30 ay inilalagay sa interface na iyon. Ang dalawang tunnel ay nangangahulugan ng dalawang interface at dalawang kapitbahay ng BGP, isa bawat endpoint ng AWS. Ang kombensiyon na inilalathala ng AWS sa na-download na configuration ng device ay naglalagay ng virtual private gateway sa unang address ng bawat panloob na /30 at ng iyong customer gateway sa pangalawa, kaya kinukuha mo ang mas mataas na address at nakikipag-peer sa mas mababa. Wala ritong nangangailangan ng address na LAN.

ip tunnel add tun0 mode vti local 203.0.113.10 remote 18.230.1.1 key 42
ip addr add 169.254.10.2/30 dev tun0
ip link set tun0 up mtu 1400
ip tunnel add tun1 mode vti local 203.0.113.10 remote 18.230.2.1 key 43
ip addr add 169.254.10.6/30 dev tun1
ip link set tun1 up mtu 1400

Kung ang file para sa iyong modelo ng device ay naglalathala ng kabaligtarang pares, gamitin ang mga numero nito at panatilihin ang tuntunin: ang address sa interface ay sa iyo, ang address ng peer ay pag-aari ng AWS. Ang paggawa nito nang baligtad ay gumagawa ng tunnel na hindi kailanman umaabot sa Established, dahil ang kapitbahay na na-configure mo ay ang address na hawak na ng sarili mong interface.

Panatilihing nakahanay ang mark at ang VTI key sa ginagamit ng IKE daemon para iugnay ang child SA sa interface, kung hindi ay dumarating ang trapiko sa tunnel na walang interface na madaraanan. Suriin ang MTU laban sa landas at laban sa sariling mga setting ng IKE daemon sa halip na kopyahin ang isang numero mula sa ibang site.

Beripikahin ang BGP bago beripikahin ang mga ruta

Ang pag-angat ng IPsec ay nagpapatunay na nagkasundo ang mga peer sa isang security association at wala nang iba. Ang session ng BGP ay hiwalay na negosasyon sa panloob na link, kaya basahin ang estado ng kapitbahay at ang mga counter ng prefix, pagkatapos ay ihambing sa plano mong ipahayag.

ip -s addr show dev tun0
vtysh -c 'show bgp summary'
vtysh -c 'show bgp neighbors 169.254.10.1'
vtysh -c 'show ip bgp neighbors 169.254.10.1 advertised-routes'

Ang estadong Established na walang natanggap na prefix ay problema sa patakaran o pagpapahayag, hindi problema ng tunnel. Ulitin ang buong pagsusuri sa pangalawang tunnel; ang gumaganang unang tunnel ay nagsasabi na makatwiran ang mga address, hindi na ang pangalawang tunnel ay na-configure.

Sundan ang isang nirurutang packet, pagkatapos ay huminto

Kapag dinadala na ng session ang mga prefix, subukan ang ruta sa dalawang direksyon mula sa gateway: address ng pinagmulan, susunod na hop, at ang patakarang panseguridad na pumapayag sa trapiko. Maaaring nakataas ang session ng BGP habang ang partikular na prefix na kailangan ng iyong application ay sinasala, ginagawang buod, o itinuturo sa maling interface.

Ang Reachability Analyzer ay ang tool sa panig ng AWS na kumukuha ng pinagmulan, destinasyon, at landas, at nag-uulat kung aling bahagi sa isang sinusuportahang configuration ang humadlang dito. Gamitin ito para subukan ang landas mula sa VPC hanggang sa address ng iyong customer gateway, hindi mula sa isang host ng application. Sinusuri nito ang configuration at hindi nagpapadala ng packet sa pamamagitan ng lokal na firewall, kaya panatilihing hiwalay ang hatol nito sa sarili mong counter ng interface at pagkuha ng packet.

Itala ang panlabas na pares, ang panloob na /30, at ang mga ipinahayag na prefix para sa bawat tunnel sa isang talahanayan. Ang talahanayang iyon ang gumagawa sa susunod na pagbabago na masusuri.

Kaugnay na mga artikulo