strongSwan na EC2: neka VPC usmjerava radni teret
Tunel koji radi s pristupnika dokazuje samo pristupnik. Usmjerite podmrežu radnog tereta, omogućite prosljeđivanje na gostu, proširite selektore i zatim testirajte s nje.
Tunel je aktivan, instanca pristupnika može pingati udaljenu mrežu, a instanca aplikacije pokraj nje ne može doći ni do čega. Ništa nije pokvareno. Test koji je uspio krenuo je s VPN hosta i nikada nije pitao može li taj host nositi drugu izvornu adresu kroz isti IPsec odnos. Ovaj priručnik zatvara taj jaz u četiri koraka, redoslijedom koji svaki neuspjeh drži vidljivim.
Najprije zapišite četiri adrese
Svaki korak u nastavku odnosi se na njih, pa ih ispunite za svoj račun prije nego što dotaknete tablicu usmjeravanja.
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
Primjer pretpostavlja odobrenu, ispravnu IPsec vezu utemeljenu na pravilima i tok koji čuva izvor. Ovo nije NAT-ani klijent za daljinski pristup koji posuđuje jednu dodijeljenu adresu, i ta razlika odlučuje moraju li se selektori promijeniti.
Korak 1: dajte podmreži radnog tereta rutu
Tablica usmjeravanja koja je stvarno povezana s podmrežom radnog tereta treba put za udaljeni prefiks koji pokazuje na mrežno sučelje pristupnika. Ruta gosta instalirana unutar instance nije zapis u toj AWS tablici usmjeravanja i nikakva količina strongSwan konfiguracije je neće stvoriti.
AWS-ove smjernice za usmjeravanje preko uređaja opisuju ciljeve mrežnog sučelja i zahtjev za provjerom izvora/odredišta instance koja prosljeđuje. Ograničite tu promjenu provjere na ulogu pristupnika i ostavite obične instance aplikacija na miru.
Ne zamjenjujte lokalnu rutu VPC-a ni svaki postojeći zapis da biste napravili mjesta za jednu odobrenu mrežu. Provjerite što je povezano i aktivno, a ne što konzolna stranica prikazuje za tablicu usmjeravanja koju nitko ne koristi. Dvije tablice koje izgledaju jednako mogu imati različite veze. Bitna je ona na koju je priključena podmreža radnog tereta.
Korak 2: omogućite prosljeđivanje na gostu
sysctl -w net.ipv4.ip_forward=1
# persist in /etc/sysctl.d/ and re-apply after reboot
Jezgra mora prosljeđivati, a vatrozid hosta mora dopustiti prolaz. Dodajte predviđena pravila prosljeđivanja za prefikse radnog tereta i udaljene mreže umjesto da prihvatite sve i potvrdite da podmreža pristupnika zadržava upotrebljivu transportnu rutu za vlastiti promet.
Sigurnosne skupine su mjesto na kojem se ovaj korak obično zaglavi. Posrednički uređaj ne nasljeđuje ponašanje referenciranja sigurnosnih skupina izravne komunikacije instanci, pa pravilo kopirano iz primjera upravljanog Client VPN-a možda nikada neće odgovarati. Provjerite sigurnosnu skupinu i ACL podmreže na stvarnoj putanji, u oba smjera.
Korak 3: proširite selektore na stvarne izvore
Pravilo koje na AWS strani pokriva samo 10.60.1.10/32 objašnjava uspjeh koji potječe s pristupnika bez pokrivanja 10.60.2.20. Ruta prema udaljenom odredištu ne proširuje prometni selektor, i to je druga polovica istog iznenađenja.
swanctl --list-sas
# read the installed CHILD-SA local and remote traffic selectors
Ako dogovoreni dizajn štiti cijeli VPC, oba partnera moraju prihvatiti 10.60.0.0/16 i 10.90.0.0/24. Ako štiti jedan radni teret, namjerno rabite taj uži prefiks. U svakom slučaju, pregledajte instalirano CHILD-SA pravilo, jer konfiguracija koju ste uredili i partner koji ju je drugačije suzio nisu isti dogovor.
Udaljena lokacija također mora usmjeravati odgovore za sačuvane VPC izvore natrag kroz predviđeni IPsec pristupnik. Zadržite podržano NAT izuzeće za zaštićeni promet ondje gdje postoje druga pravila izvornog NAT-a; prevođenje neodobrenog radnog tereta u dopuštenu adresu hosta drugačiji je ugovor o identitetu, a ne prečac do pristupa koji ste željeli.
Korak 4: provjerite, pa po potrebi vratite
Testirajte s radnog tereta novom dopuštenom operacijom aplikacije, zatim ponovite s odredištem koje treba biti isključeno. Zabilježite izvornu adresu koju udaljena usluga vidi i povratnu putanju koju rabi. Ping pristupnika ili zeleni IKE status nije taj test.
Ako radni teret i dalje ne uspijeva dok pristupnik radi, vratite se kroz korake redom: selektor, zatim prosljeđivanje i sigurnosne skupine, zatim povezana tablica usmjeravanja. Svaki ima različit simptom, a nagađanje preskače onaj koji je stvarno pogrešan.
Vraćanje obrće isti redoslijed. Uklonite rutu podmreže radnog tereta posljednju, nakon što obnovite prethodne selektore, da ne ostavite podmrežu koja pokazuje na pristupnik koji više ne štiti njezine izvore. Samostalno hostanje može služiti više od hosta pristupnika kada ovi ugovori vrijede, a AWS-om upravljani Site-to-Site VPN drugačiji je operativni model u kojem strongSwan može sjediti na strani korisničkog pristupnika.