strongSwan na EC2: nech VPC smeruje pracovnú záťaž
Funkčný tunel z brány dokazuje len bránu. Nasmerujte podsiev pracovnej záťaže, zapnite preposielanie na hosťovi, rozšírte selektory a potom to otestujte z nej.
Tunel beží, inštancia brány dokáže pingnúť vzdialenú sieť a inštancia aplikácie vedľa nej sa nikam nedostane. Nič nie je pokazené. Test, ktorý prešiel, vznikol na VPN hoste a nikdy sa nepýtal, či tento host dokáže preniesť inú zdrojovú adresu cez ten istý vzťah IPsec. Tento runbook uzatvára túto medzeru v štyroch krokoch, v poradí, ktoré udržiava každé zlyhanie viditeľné.
Najprv si zapíšte štyri adresy
Každý nižšie uvedený krok sa na ne odvoláva, preto ich vyplňte pre svoj účet, kým sa dotknete smerovacej tabuľky.
VPC: 10.60.0.0/16
Gateway subnet: 10.60.1.0/24, gateway ENI address 10.60.1.10
Workload subnet: 10.60.2.0/24, application address 10.60.2.20
Remote network: 10.90.0.0/24
Príklad predpokladá schválené, funkčné pripojenie IPsec založené na pravidlách a tok zachovávajúci zdroj. Nejde o NATovaného klienta vzdialeného prístupu, ktorý si požičiava jednu pridelenú adresu, a tento rozdiel rozhoduje o tom, či sa selektory musia zmeniť.
Krok 1: dajte podsieve pracovnej záťaže trasu
Smerovacia tabuľka, ktorá je skutočne pridružená k podsieve pracovnej záťaže, potrebuje cestu pre vzdialený prefix ukazujúcu na sieťové rozhranie brány. Trasa hosťa nainštalovaná vnútri inštancie nie je záznamom v tejto smerovacej tabuľke AWS a žiadne množstvo konfigurácie strongSwan ju nevytvorí.
AWS pokyny na smerovanie cez zariadenie opisujú ciele sieťového rozhrania a požiadavku na kontrolu zdroja/cieľa inštancie, ktorá preposiela. Obmedzte túto zmenu kontroly na rolu brány a bežné inštancie aplikácií nechajte na pokoji.
Nenahrádzajte lokálnu trasu VPC ani každý existujúci záznam, aby ste uvoľnili miesto pre jednu schválenú sieť. Skontrolujte, čo je pridružené a aktívne, nie to, čo zobrazuje stránka konzoly pre smerovaciu tabuľku, ktorú nikto nepoužíva. Dve tabuľky, ktoré vyzerajú rovnako, môžu mať rôzne pridruženia. Dôležitá je tá, ku ktorej je pripojená podsiev pracovnej záťaže.
Krok 2: zapnite preposielanie na hosťovi
sysctl -w net.ipv4.ip_forward=1
# persist in /etc/sysctl.d/ and re-apply after reboot
Jadro musí preposielať a firewall hosta musí tranzit povoliť. Pridajte zamýšľané pravidlá preposielania pre prefixy pracovnej záťaže a vzdialenej siete namiesto prijatia všetkého a potvrďte, že podsiev brány si zachováva použiteľnú transportnú trasu pre svoju vlastnú prevádzku.
Bezpečnostné skupiny sú miesto, kde tento krok zvyčajne uviazne. Sprostredkujúce zariadenie nededia správanie odkazov na bezpečnostné skupiny priamej komunikácie inštancií, takže pravidlo skopírované z príkladu spravovaného Client VPN nemusí nikdy sedieť. Skontrolujte bezpečnostnú skupinu a ACL podsiete na skutočnej ceste, v oboch smeroch.
Krok 3: rozšírte selektory na skutočné zdroje
Pravidlo pokrývajúce na strane AWS iba 10.60.1.10/32 vysvetľuje úspech vzniknutý v bráne bez pokrytia 10.60.2.20. Trasa k vzdialenému cieľu nerozširuje selektor prevádzky, a to je druhá polovica toho istého prekvapenia.
swanctl --list-sas
# read the installed CHILD-SA local and remote traffic selectors
Ak dohodnutý návrh chráni celé VPC, obaja partneri musia prijať 10.60.0.0/16 a 10.90.0.0/24. Ak chráni jednu pracovnú záťaž, použite tento užší prefix zámerne. V oboch prípadoch skontrolujte nainštalované pravidlo CHILD-SA, pretože konfigurácia, ktorú ste upravili, a partner, ktorý ju zúžil inak, nie sú tá istá dohoda.
Vzdialené pracovisko musí tiež smerovať odpovede pre zachované zdroje VPC späť cez zamýšľanú bránu IPsec. Zachovajte podporovanú výnimku z NAT pre chránenú prevádzku tam, kde existujú iné pravidlá zdrojového NAT; preklad neschválenej pracovnej záťaže na povolenú adresu hosta je iná zmluva o identite, nie skratka k prístupu, ktorý ste chceli.
Krok 4: overte a v prípade potreby vráťte späť
Testujte z pracovnej záťaže samotnej novou povolenou operáciou aplikácie, potom to zopakujte s cieľom, ktorý má byť vylúčený. Zaznamenajte zdrojovú adresu, ktorú vzdialená služba vidí, a spiatočnú cestu, ktorú používa. Ping na bránu alebo zelený stav IKE nie je ten test.
Ak pracovná záťaž stále zlyháva, kým brána funguje, vracajte sa po krokoch v poradí: selektor, potom preposielanie a bezpečnostné skupiny, potom pridružená smerovacia tabuľka. Každý má iný príznak a hádanie preskočí ten, ktorý je skutočne nesprávny.
Vrátenie späť obracia rovnaké poradie. Trasu podsiete pracovnej záťaže odstráňte ako poslednú, po obnovení predchádzajúcich selektorov, aby ste nezanechali podsiev ukazujúcu na bránu, ktorá už nechráni jej zdroje. Vlastný hosting môže slúžiť viac ako hostiteľ brány, keď tieto zmluvy platia, a AWS spravovaná Site-to-Site VPN je iný prevádzkový model, v ktorom strongSwan môže sedieť na strane zákazníckej brány.