Üks Client VPN-i endpoint pääseb VPC-sse, mis on peeritud tema seotud VPC-ga, ja selle legitiimseks tegemiseks ei ole bastioni vaja. Valik, mida tasub teha, on see, kus liiklus käsi vahetab: endpoint-marsruut, mis maandub assotsiatsiooni alamvõrgus ja ületab peering-ühenduse, või host peeritud VPC-s, mis sessiooni lõpetab. Mõlemad teed töötavad ja nad ebaõnnestuvad eri kohtades, seega on otsus omandi ja auditi kohta, mitte selle kohta, mida AWS lubab. Siin on, kuidas ma nende vahel valin, ja neli kirjet, mis teevad marsruuditud tee toimivaks.

Kaks teed, üks endpoint, erinevad omanikud

Marsruuditud teel jõuab kliendi liiklus endpointini, tõlgitakse assotsiatsiooni alamvõrgus oleva Client VPN-i võrguliidese aadressiks ja lahkub sellest alamvõrgust üle A-st B-sse peering-ühenduse. VPC B ei lõpeta ühtegi VPN-sessiooni; see näeb tavalist liiklust VPC-st A, mistõttu selle tagasimarsruut osutab VPC-le A, mitte kliendipõhjale.

Bastioni teel jõuab klient esmalt hostini. Bastion A-s laseb viimasel hüppel ikkagi peering-ühendust ületada, seega säilitate peering-töö ja lisate sessiooni. Bastion B-s vajab samuti teed kliendist ja kui see tee on sama endpoint-marsruut, on teil marsruuditud disain pluss üks hüpe. Bastion eemaldab tööd ainult siis, kui see on juba olemas, juba heakskiidetud ja selle taga olev asi vajab sessioonipiiri, mitte võrgupiiri.

Neli kirjet teevad marsruuditud tee toimivaks

AWS dokumenteerib selle stsenaariumi Client VPN how-it-works lehel ja praktikas taandub see neljale kirjele, mida omavad kaks või kolm meeskonda. Vahemikud on illustratiivsed; peeritud vahemik peab olema unikaalne ja tagasivahemik peab teie plaaniga sobima.

ControlWhat it must say
Endpoint route10.70.0.0/16 targets the association subnet
Authorization ruleThe approved group may reach 10.70.0.0/16
VPC A association-subnet table10.70.0.0/16 targets the peering connection
VPC B resource-subnet tableVPC A's range targets the same peering connection

Marsruut ja luba on eraldi kontrollid. Õige endpoint-marsruut ilma sobiva autoriseerimisreeglita ei anna kliendile midagi; autoriseerimisreegel sihtkohale, mida endpoint marsruutida ei saa, annab talle musta augu. Mõlemad peavad nimetama sama vahemikku.

Endpoint-marsruut osutab endpointi enda VPC alamvõrgule, mitte kunagi peering-ühendusele. VPC marsruutabelid osutavad peering-ühendusele, mitte kunagi instantsile ega liidesele. Väärtuse kopeerimine nende vahel salvestub ilma kaebuseta ega marsruudi midagi.

Kuna assotsiatsiooni alamvõrk tõlgib kliendi allika, peab B marsruudima tagasi VPC-le A, mitte kliendipõhjale. Kliendivahemiku saatmine üle peering-ühenduse näeb sümmeetriline välja, läbib ülevaatuse ja ebaõnnestub vaikselt, sest B ei näe kunagi paketti kliendi allikaga.

Turvagrupid ja viimane meeter luba

Marsruutimine toob paketid B-sse; B otsustab endiselt. Sama piirkonna aktiivse peering-ühenduse jaoks võib B turvagrupp viidata Client VPN-i assotsiatsioonile rakendatud grupile, mis hoiab reegli kitsana ja peab vastu aadressimuutustele. Kui grupiviide ei ole teostatav, lubage assotsiatsiooni alamvõrgu vahemikku selgesõnaliselt, selle asemel et laiendada 0.0.0.0/0-ni, mis muudab marsruutimisvea seletamatuks ajapiiranguks.

Seejärel kontrollige, mida marsruutimine kunagi ei puuduta: võrgu-ACL-id mõlemas alamvõrgus, rakenduse lubatud loend või tokeni sihtrühm, ja DNS. Peering ei kopeeri privaatseid hostitud tsoone, seega sülearvutil võib olla toimiv marsruut aadressile, mida see ei suuda lahendada, ja peering-ühendus ei lisa sertifikaadile usaldust. Suunake endpoint resolverile, mis vastab B eest, ja seejärel kinnitage, et privaatnimi ja sertifikaat ühtivad.

Millal on bastion aus vastus

Hoian kolme päästikut bastioni teadlikuks valimiseks. Peeritud VPC kuulub meeskonnale, kes ei lisa teie vahemikule tagasimarsruuti ega võta vastu grupiviidet. Juurdepääs peab olema sessiooni kaupa heaks kiidetud või salvestatud ja rakendus ei saa seda ise kanda. Või peab viimane hüpe jääma B sisse, sest teenus lahendatakse ainult seal ja selle TLS-identiteet on kinnitatud sisemise nime külge.

Miski sellest ei ole möödaminek tõsiasjast, et peering ei ole transitiivne. Mittetransitiivsus piirab, mida B ressursid tohivad teha: nad ei saa kasutada A-d transiidina kolmandasse VPC-sse, millega A on peeritud. See ei tähendanud kunagi, et VPN-kasutaja ei saa jõuda otse peeritud VPC-sse, ja selle vale lugemise ümber ehitatud bastion on host, mida parandatakse ilma põhjuseta.

Vastupidine viga maksab aja jooksul rohkem: suruge iga meeskond läbi ainsa bastioni, mis juba olemas on, ja avastage siis, et selle turvagrupp, marsruutabel ja paigaldusaken on tootmissõltuvus. Kirjutage üles, millist päästikut host teenib, ja võtke see kasutusest välja, kui päästik kaob.

Transit Gateway ja mitu assotsiatsiooni muudavad aritmeetikat

Kui endpoint on kinnitatud otse Transit Gateway külge, mitte alamvõrgu külge, muutub mudel: kliente ei tõlgita enam assotsiatsiooni alamvõrgus olevaks liidese aadressiks ja lüüsi marsruutabelid peavad kandma kliendivahemikku pluss kinnitust, mis viib peeritud VPC-sse. See on mastaabis puhtam, kuid töö liigub neljalt kirjelt lüüsi marsruutabelitesse.

Mitu assotsiatsiooni korrutavad kontrolle. Endpoint-marsruut kuulub endpointile, kuid iga assotsiatsiooni alamvõrk vajab marsruutabelit, millel on tõeline peering-järgmine hüpe. Sessioon võib õnnestuda ühe assotsiatsiooni kaudu, samal ajal kui teisel pole tagasiteed, seega testige igaüht.

Kontrollijärjekord, mis leiab katkestuse kiiresti

Käivitage need järjekorras; iga samm võib õnnestuda, samal ajal kui järgmine ebaõnnestub, ja kliendi ajapiirang ei ütle peaaegu kunagi, milline katkes.

  1. Lahendage rakenduse nimi kliendist ja kontrollige, et aadress on peeritud vahemikus.
  2. Ühenduge, seejärel lugege endpointi ühenduste logi assotsiatsiooni kohta, mis sessiooni lõpetas.
  3. Selles assotsiatsiooni alamvõrgus kinnitage, et marsruutabel osutab peeritud vahemiku aktiivsele peering-ühendusele.
  4. B ressursi alamvõrgus kinnitage liidese vahemiku tagasikirje ja sobivad grupireeglid.
  5. Testige üht lubatud toimingut ja üht ressurssi, mis peab jääma kättesaamatuks; teine püüab silumisjäägid.
  6. Ühenduge uuesti pärast iga split-tunnel marsruudi muudatust, sest töötav tunnel ei võta uut marsruudikomplekti.

Kaht sümptomit tasub meeles pidada. SYN, mis jõuab B-sse ilma vastuseta, on peaaegu alati puuduv tagasimarsruut. Ühendus, mis lõpeb ja seejärel lähtestatakse, on tavaliselt grupp, ACL või rakendus. Kumbki ei ilmu endpointi logis põhjusena, seega hoidke neli kirjet, igaühe kõrval omanik.

Kui ükski kolmest päästikust ei kehti, lõpetage marsruuditud tee ja registreerige need neli kirjet. Kui üks kehtib, hoidke bastioni ainult selle piiri jaoks ja jätke endpoint-marsruut teenustele, mis ei vaja enda ette sessiooni.

Seotud artiklid