AWS Client VPN ali bastion za dostop do VPC s peeringom
Obe poti delujeta, a se zlomita na različnih mestih. Primerjajte poti endpointa, povratno usmerjanje in tri primere, ko je bastion poštena meja.
En endpoint Client VPN lahko doseže VPC, ki je v peeringu z njegovim povezanim VPC, in za to, da bi bilo to legitimno, ne potrebujete bastiona. Izbira, ki se je vredno lotiti, je, kje promet zamenja roke: pot endpointa, ki pristane v podmreži povezave in prečka peering povezavo, ali gostitelj v VPC s peeringom, ki konča sejo. Obe poti delujeta in odpovedujeta na različnih mestih, zato je odločitev o lastništvu in reviziji, ne o tem, kaj dovoljuje AWS. Tu je, kako izbiram med njima, in štirje vnosi, ki naredijo usmerjeno pot delujočo.
Dve poti, en endpoint, različni lastniki
Na usmerjeni poti promet odjemalca doseže endpoint, se prevede v naslov omrežnega vmesnika Client VPN v podmreži povezave in zapusti to podmrežo prek peering povezave od A do B. VPC B ne konča nobene seje VPN; vidi običajen promet iz VPC A, zato njegova povratna pot kaže na VPC A, ne na sklad odjemalcev.
Na poti prek bastiona odjemalec najprej doseže gostitelja. Bastion v A še vedno pusti zadnji skok čez peering povezavo, zato obdržite peering delo in dodate sejo. Bastion v B prav tako potrebuje pot od odjemalca, in ko je ta pot ista pot endpointa, imate usmerjeno zasnovo plus en skok. Bastion odvzame delo le, ko že obstaja, je že odobren, in stvar za njim potrebuje mejo seje, ne omrežno mejo.
Štirje vnosi naredijo usmerjeno pot delujočo
AWS dokumentira ta scenarij na strani Client VPN how-it-works, in v praksi se vse skrči na štiri vnose, ki jih imajo dve ali tri ekipe. Razponi so ilustrativni; peering razpon mora biti edinstven, povratni razpon pa mora ustrezati vašemu načrtu.
| Control | What it must say |
|---|---|
| Endpoint route | 10.70.0.0/16 targets the association subnet |
| Authorization rule | The approved group may reach 10.70.0.0/16 |
| VPC A association-subnet table | 10.70.0.0/16 targets the peering connection |
| VPC B resource-subnet table | VPC A's range targets the same peering connection |
Pot in dovoljenje sta ločeni kontroli. Pravilna pot endpointa brez ustreznega pravila za avtorizacijo odjemalcu nič ne da; pravilo za avtorizacijo za cilj, ki ga endpoint ne more usmerjati, mu da črno luknjo. Oba morata navesti isti razpon.
Pot endpointa kaže na podmrežo v lastnem VPC endpointa, nikoli na peering povezavo. Tabele poti VPC kažejo na peering povezavo, nikoli na instanco ali vmesnik. Kopiranje vrednosti med njima se shrani brez pritožbe in nič ne usmerja.
Ker podmreža povezave prevede vir odjemalca, mora B usmerjati nazaj v VPC A, ne v sklad odjemalcev. Pošiljanje razpona odjemalcev čez peering povezavo je videti simetrično, prestane pregled in tiho odpove, ker B nikoli ne vidi paketa z virom odjemalca.
Varnostne skupine in zadnji meter dovoljenja
Usmerjanje prinese pakete v B; B še vedno odloča. Za aktivno peering povezavo v isti regiji lahko varnostna skupina v B sklicuje skupino, uporabljeno za povezavo Client VPN, kar drži pravilo ozko in preživi spremembe naslovov. Kjer sklic na skupino ni izvedljiv, izrecno dovolite razpon podmreže povezave, namesto da ga razširite na 0.0.0.0/0, kar spremeni napako usmerjanja v nerazložen časovni limit.
Nato preverite, česar se usmerjanje nikoli ne dotakne: omrežne ACL na obeh podmrežah, seznam dovoljenih ali občinstvo žetona aplikacije, in DNS. Peering ne kopira zasebnih gostovanih con, zato lahko prenosnik drži delujočo pot do naslova, ki ga ne more razrešiti, in peering povezava ne doda zaupanja certifikatu. Usmerite endpoint na resolver, ki odgovarja za B, in nato potrdite, da se zasebno ime in certifikat ujemata.
Kdaj je bastion pošten odgovor
Držim tri sprožilce za namerno izbiro bastiona. VPC s peeringom pripada ekipi, ki ne bo dodala povratne poti za vaš razpon ali ne bo sprejela sklica na skupino. Dostop mora biti odobren ali zabeležen za vsako sejo, aplikacija pa tega ne more nositi sama. Ali pa mora zadnji skok ostati v B, ker se storitev razreši le tam in je njena identiteta TLS pripeta na notranje ime.
Nič od tega ni obvoz okoli dejstva, da peering ni tranzitiven. Netranzitivnost omejuje, kaj smejo početi viri v B: ne morejo uporabiti A kot tranzit do tretjega VPC, s katerim je A v peeringu. To ni nikoli pomenilo, da uporabnik VPN ne more doseči neposredno peering VPC, in bastion, zgrajen za obvoz tega napačnega branja, je gostitelj, ki ga je treba popravljati brez razloga.
Obratna napaka sčasoma stane več: speljite vsako ekipo skozi edini že obstoječi bastion in nato odkrijte, da so njegova varnostna skupina, tabela poti in okno popravkov produkcijska odvisnost. Zapišite, kateremu sprožilcu služi gostitelj, in ga umaknite, ko sprožilec izgine.
Transit Gateway in več povezav spremeni aritmetiko
Če je endpoint povezan neposredno na Transit Gateway namesto na podmrežo, se model spremeni: odjemalci se ne prevajajo več v naslov vmesnika v podmreži povezave, tabele poti prehoda pa morajo nositi razpon odjemalcev plus priključek, ki vodi v VPC s peeringom. To je v obsegu čistejše, a delo se preseli s štirih vnosov v tabele poti prehoda.
Več povezav pomnoži preverjanja. Pot endpointa pripada endpointu, a vsaka podmreža povezave potrebuje tabelo poti z resničnim peering naslednjim skokom. Seja lahko uspe prek ene povezave, medtem ko druga nima povratne poti, zato preizkusite vsako.
Vrstni red preverjanja, ki hitro najde zlom
Izvajajte jih po vrstnem redu; vsak korak lahko uspe, medtem ko naslednji odpove, in časovni limit odjemalca skoraj nikoli ne pove, kateri se je zlomil.
- Razrešite ime aplikacije z odjemalca in preverite, da je naslov v peering razponu.
- Povežite se in nato preberite dnevnik povezav endpointa za povezavo, ki je končala sejo.
- Na tej podmreži povezave potrdite, da tabela poti usmerja peering razpon na aktivno peering povezavo.
- Na podmreži virov v B potrdite povratni vnos za razpon vmesnika in ustrezna pravila skupine.
- Preizkusite eno dovoljeno operacijo in en vir, ki mora ostati nedosegljiv; drugi ujame ostanke razhroščevanja.
- Po vsaki spremembi poti split-tunnel se znova povežite, ker delujoč tunel ne bo prevzel novega niza poti.
Dva simptoma sta vredna zapomniti. SYN, ki doseže B brez odgovora, je skoraj vedno manjkajoča povratna pot. Povezava, ki se zaključi in nato ponastavi, je običajno skupina, ACL ali aplikacija. Nobeno se v dnevniku endpointa ne pojavi kot vzrok, zato imejte štiri vnose z lastnikom ob vsakem.
Če ne velja noben od treh sprožilcev, dokončajte usmerjeno pot in zabeležite te štiri vnose. Če velja eden, obdržite bastion le za to mejo in pustite pot endpointa storitvam, ki pred seboj ne potrebujejo seje.