AWS Site-to-Site VPN: jashtë, brenda dhe prefiksi LAN
Tre role adresash ngatërrohen në një AWS VPN: partnerët e jashtëm, lidhja e brendshme /30 dhe prefikset LAN të mbrojtura. Lexojini në konfigurimin e shkarkuar.
Shumica e gabimeve në AWS Site-to-Site VPN janë gabime adresash, dhe bëhen para se të lëvizë edhe një paketë. Adresat e jashtme të tunelit arrijnë tek partnerët IPsec, adresat e brendshme formojnë lidhjen e rrugëtimit mes tyre, dhe prefikset e mbrojtura janë ajo për të cilën shërben ajo lidhje. Kopjoni një rol në tjetrin dhe tuneli ngrihet ndërsa asgjë nuk rrugëtohet. Kjo është sekuenca lexo-kontrollo-konfiguro që përdor në një portë klienti BGP, me vlerat e marra nga konfigurimi i shkarkuar i pajisjes dhe jo nga kujtesa.
Tre role adresash, një tunel
Adresat e jashtme janë publike dhe i përkasin partnerëve IPsec: një për tunel në anën AWS, dhe identiteti i arritshëm i portës së klientit në anën tuaj, i përshtatur me atë rregullim NAT që keni në të vërtetë. Adresat e brendshme janë private dhe i përkasin lidhjes logjike, të cilën AWS e dokumenton si /30 të marrë nga 169.254.0.0/16. Prefikset e mbrojtura janë rrjetet VPC, lokale ose transit që i rrugëtoni dhe i shpallni përmes asaj lidhjeje.
Caktimi i një prefiksi LAN si adresë e ndërfaqes së tunelit është forma klasike e këtij gabimi. Ndërfaqja duket e konfiguruar, LAN-i nuk shpallet, dhe pala tjetër nuk ka rrugë për të. Tuneli mund të kalojë edhe pingun e vet të brendshëm, ndërsa çdo emër aplikacioni skadon. Referenca e opsioneve të tunelit rendit kufizimet e CIDR-it të brendshëm, duke përfshirë intervalin e adresave nga i cili duhet të vijë.
Lexoni vlerat nga konfigurimi i shkarkuar
Shkarkoni konfigurimin për modelin tuaj konkret të pajisjes nga lidhja, pastaj trajtojeni tabelën e adresave si burim të së vërtetës. Konsola shfaq të njëjtat vlera për tunel: IP e jashtme, CIDR i brendshëm dhe adresa e partnerit BGP në anën AWS. Dy tunelët janë objekte të veçanta me pika fundore të jashtme të veçanta dhe /30 të brendshme të veçanta, edhe pse të dy mbajnë të njëjtat rrjete të mbrojtura.
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]'Nëse skedari i shkarkuar dhe konsola live nuk përputhen, skedari është i vjetruar. Shkarkojeni përsëri në vend që të redaktoni adresat me dorë, sepse mospërputhja mes çiftit të brendshëm dhe fqinjit të konfiguruar të partnerit është një dështim i qetë i BGP.
Ndërtoni lidhjen me adresën e duhur
Në një portë Linux tuneli është ndërfaqe VTI ose XFRM, dhe /30 i brendshëm vendoset në atë ndërfaqe. Dy tunelë nënkuptojnë dy ndërfaqe dhe dy fqinjë BGP, një për çdo pikë fundore AWS. Konvencioni që AWS shtyp në konfigurimin e shkarkuar të pajisjes e vendos portën private virtuale në adresën e parë të çdo /30 të brendshme dhe portën tuaj të klientit në të dytën, kështu që ju merrni adresën më të lartë dhe bëni peering me atë më të ulët. Asgjë këtu nuk ka nevojë për një adresë 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 1400Nëse skedari për modelin e pajisjes suaj shtyp çiftin e kundërt, përdorni numrat e tij dhe mbani rregullin: adresa në ndërfaqe është e jotja, adresa e partnerit i përket AWS. Ta bësh të kundërt prodhon një tunel që nuk arrin kurrë Established, sepse fqinji që konfiguruat është adresa që ndërfaqja juaj tashmë mban.
Mbani shenjën dhe çelësin VTI në linjë me atë që daemoni IKE përdor për të lidhur një SA fëmijë me ndërfaqen, përndryshe trafiku arrin në tunel pa një ndërfaqe ku të ulet. Kontrolloni MTU-në kundrejt rrugës dhe kundrejt cilësimeve të vetë daemonit IKE në vend që të kopjoni një numër nga një sajt tjetër.
Verifikoni BGP para se të verifikoni rrugët
Ngritja e IPsec provon që partnerët bien dakord për një asociacion sigurie dhe asgjë tjetër. Sesioni BGP është një negocim i veçantë mbi lidhjen e brendshme, prandaj lexoni gjendjen e fqinjit dhe numëruesit e prefikseve, pastaj krahasojini me atë që kishit ndërmend të shpallni.
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'Gjendja Established me zero prefikse të marra është problem politike ose shpalljeje, jo problem tuneli. Përsëritni të gjithë kontrollin në tunelin e dytë; një tunel i parë që funksionon ju thotë se adresat janë të besueshme, jo se tuneli i dytë është konfiguruar fare.
Ndiqni një paketë të rrugëtuar dhe pastaj ndaloni
Pasi sesioni mbart prefikset, provoni rrugën në të dy drejtimet nga porta: adresa burimore, hopi tjetër dhe politika e sigurisë që lejon trafikun. Një sesion BGP mund të jetë lart ndërsa prefiksi konkret që i duhet aplikacionit tuaj është filtruar, përmbledhur ose drejtuar nga ndërfaqja e gabuar.
Reachability Analyzer është mjeti i anës AWS që merr një burim, një destinacion dhe një shteg, dhe raporton cili komponent në një konfigurim të mbështetur e bllokoi. Përdoreni për të testuar shtegun nga VPC në adresën e portës suaj të klientit, jo nga një host aplikacioni. Ai analizon konfigurimin dhe nuk dërgon një paketë përmes një firewall lokal, prandaj mbani verdiktin e tij veç nga numëruesit tuaj të ndërfaqes dhe kapjet e paketave.
Regjistroni çiftin e jashtëm, /30 e brendshme dhe prefikset e shpallura për çdo tunel në një tabelë të vetme. Ajo tabelë është ajo që e bën ndryshimin tjetër të rishikueshëm.