strongSwan op EC2: lit de VPC de wurklêst rûtearje
In wurkjende tunnel fan 'e poarte bewiist allinne de poarte. Rûtearje it subnet fan 'e wurklêst, set trochstjoeren oan op 'e gast, ferspredzje de selektors en test dan fan dêrút.
De tunnel is oan, de poarte-ynstânsje kin it fiere netwurk pingje, en de applikaasje-ynstânsje derneist berikt neat. Der is neat stikken. De test dy't slagge begûn op 'e VPN-host, en frege nea oft dy host in oar boarne-adres troch deselde IPsec-relaasje drage koe. Dizze runbook slút dat gat yn fjouwer stappen, yn 'e folchoarder dy't elke flater sichtber hâldt.
Skriuw earst de fjouwer adressen op
Elke stap hjirûnder ferwiist dêrnei, dus folje se yn foar jo eigen akkount foardat jo in rûtearringstabel oanreitsje.
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
It foarbyld giet út fan in goedkarde, wurkjende beliedsbasearre IPsec-ferbining en in boarne-behâldende stream. Dit is gjin NAT-e klant foar fiere tagong dy't ien tawiisd adres liend, en dat ferskil beslút oft de selektors feroarje moatte.
Stap 1: jou it subnet fan 'e wurklêst in rûte
De rûtearringstabel dy't eins oan it subnet fan 'e wurklêst keppele is, hat in paad nedich foar it fiere foarheaksel dat nei de netwurkynterface fan 'e poarte wiist. In gastrûte dy't yn 'e ynstânsje ynstalleare is, is gjin yngong yn dy AWS-rûtearringstabel, en gjin hoemannichte strongSwan-konfiguraasje sil der ien meitsje.
De rjochtlinen fan AWS foar rûtearjen fia apparatuer beskriuwe doelen fan netwurkynterfaces en de eask foar boarne/bestimming-kontrôle fan 'e trochstjoerende ynstânsje. Behein dy kontrôleferoaring ta de poarterol, en lit gewoane applikaasje-ynstânsjes gewurde.
Ferfang de lokale rûte fan 'e VPC of elke besteande yngong net om romte te meitsjen foar ien goedkard netwurk. Ynspektearje wat keppele en aktyf is, yn stee fan wat in konsolf-side toant foar in rûtearringstabel dy't nimmen brûkt. Twa tabellen dy't itselde lykje, kinne ferskillende keppelings hawwe. De iene dy't fan belang is, is dy't it subnet fan 'e wurklêst oan ferbûn is.
Stap 2: set trochstjoeren oan op 'e gast
sysctl -w net.ipv4.ip_forward=1
# persist in /etc/sysctl.d/ and re-apply after reboot
De kernel moat trochstjoere, en de host-firewall moat de trochgong tastean. Foegje de bedoelde trochstjoerregels ta foar de foarheaksls fan 'e wurklêst en fan fier, yn stee fan alles te akseptearjen, en befêstigje dat it poarte-subnet in brûkbere transportrûte foar syn eigen ferkear hâldt.
Feiligensgroepen binne it plak dêr't dizze stap meast fêstrint. In middenapparaat ervet it referinsjegedrach fan feiligensgroepen by direkte ynstânsjekommunikaasje net, dus in regel dy't fan in foarbyld fan beheard Client VPN kopiearre is, kin nea oerienkomme. Kontrolearje de feiligensgroep en de subnet-ACL op it werklike paad, yn beide rjochtingen.
Stap 3: ferspredzje de selektors nei de echte boarnen
In belied dat oan 'e AWS-kant allinne 10.60.1.10/32 beslacht, ferklearret in sukses dat fan 'e poarte út gie sûnder 10.60.2.20 te beslaan. In rûte nei de fiere bestimming ferspreddet gjin ferkearsselektor, en dat is de twadde helte fan deselde ferrassing.
swanctl --list-sas
# read the installed CHILD-SA local and remote traffic selectors
As it ôfsprutsen ûntwerp it hiele VPC beskermet, moatte beide pearen 10.60.0.0/16 en 10.90.0.0/24 akseptearje. As it ien wurklêst beskermet, brûk dan bewust dat smeller foarheaksel. Hoe dan ek, ynspektearje it ynstallearre CHILD-SA-belied, want in konfiguraasje dy't jo bewurke hawwe en in pear dat it oars ferneare hat, binne net deselde ôfspraak.
It fiere plak moat ek antwurden foar de bewarre VPC-boarnen weromrûtearje fia de bedoelde IPsec-poarte. Hâld de stipe NAT-útsûndering foar beskerme ferkear oan wêr't oare boarne-NAT-regels besteane; in net-goedkarde wurklêst omsette yn in tastien hostadres is in oar identiteitskontrakt, gjin koarte wei nei de tagong dy't jo woene.
Stap 4: ferifiearje, en rol dan werom as it nedich is
Test fan 'e wurklêst sels mei in nije tastiene applikaasje-operaasje, en werhelje dan mei in bestimming dy't útsletten wêze moat. Skriuw it boarne-adres op dat de fiere tsjinst sjocht en it werompaad dat it brûkt. In poarte-ping of in griene IKE-status is dy test net.
As de wurklêst noch altyd mislearret wylst de poarte wurket, rin dan de stappen yn folchoarder werom: selektor, dan trochstjoeren en feiligensgroepen, dan de keppele rûtearringstabel. Elk hat in eigen symptoom, en rieden slacht dy oer dy't echt ferkeard is.
Weromrollen keart deselde folchoarder om. Ferwiderje de rûte fan it subnet fan 'e wurklêst as lêste, nei't jo de eardere selektors werombrocht hawwe, sadat jo gjin subnet efterlitte dat wiist nei in poarte dy't syn boarnen net mear beskermet. Sels hosten kin mear as de poarte-host tsjinje as dizze kontrakten hâlde, en troch AWS beheard Site-to-Site VPN is in oar operasjoneel model wêrby't strongSwan ynstee oan 'e klantpoarte-ein sitte kin.