Konsollen tilbyr en bryter for delt tunnel, så beslutningen virker som en avkrysningsboks. Den er ikke det. Det som faktisk når klienten, er endepunktets publiserte rutemengde, og den listen bestemmer hvilke private prefikser som bruker tunnelen, om vanlig internettrafikk forblir lokal eller går ut via AWS, og hvilken resolver klienten fortsatt kan kommunisere med. Tre spørsmål avgjør designet, og hvert av dem kan besvares dårlig mens forbindelsen likevel lykkes.

Et flagg for delt tunnel er ikke en liste over destinasjoner

AWS beskriver delt tunnel som å legge endepunktruter til klientens rutetabell når forbindelsen opprettes. En rute til den private VPC-en begrenser tunnelen til den destinasjonen; alt annet følger klientens vanlige vei. En standardrute er en annen instruks med en annen virkning, og derfor advarer dokumentasjonen for delt tunnel mot å publisere 0.0.0.0/0 på et endepunkt som er konfigurert for denne modusen: det bryter forbindelsen snarere enn å utvide den. Endepunktets rutetabell er policyen, og klientens rutetabell er resultatet du kan granske.

Les endepunktets rutetabell og klientens installerte ruter sammen. Etiketten beskriver en hensikt; rutene beskriver hva som faktisk skjer.

Første beslutning: skal vanlig internettrafikk bli lokal?

Hvis surfing skal bruke brukerens egen forbindelse, publiser bare de private destinasjonene jobben trenger og stopp der. Ikke legg til en internett-rute fordi en veiledning for full tunnel inneholdt en, og ikke anta at den ekstra ruten forbedrer sikkerheten. Den endrer veien, den legger ikke til en policy, og den koster vanligvis ventetid du ikke hadde budsjettert med.

Hvis internettrafikk skal gå ut gjennom AWS, bygg den dokumenterte internettilgangsarkitekturen: endepunktrute, autorisasjonsregler, den tilknyttede subnettens vei, sikkerhetspolicy og en fungerende utgående forbindelse oppstrøms. En standardrute alene gir ingenting av dette.

Andre beslutning: hvilke private prefikser, autorisert av hvem?

Publiser det minste settet med destinasjoner som tjener den faktiske arbeidsbelastningen, og kontroller at hvert tilknyttet subnett kan rute til dem. Endepunktets rute-mål og subnettets VPC-ruting er forskjellige lag, og en rute som finnes i det ene er ikke bevis om det andre. Autorisasjon er igjen separat: en destinasjon kan være nåbar og likevel avvist fordi klientens gruppe ikke har en regel som tillater den.

Å teste én vellykket økt beviser én vei. Kontroller hvert tilknyttet subnett, fordi en subnett-tilknytning som ble lagt til senere, nettopp er der den manglende ruten pleier å ligge.

Når en destinasjon må være nåbar ved navn, merk at neste spørsmål er navneoppløsning, ikke rutespørsmålet.

Tredje beslutning: hvilken resolver følger tunnelen?

En klient kan motta en DNS-server som bare er nåbar gjennom VPN, og den resolveren virker bare hvis adressen selv ligger innenfor en autorisert rute. Verifiser begge halvdeler: resolverens adresse følger en publisert rute, og serveren svarer på navnene applikasjonen spør om. En forespørsel som lykkes på adresse mens vertsnavnet feiler, peker på navngiving, ikke på ruting, og feilsøking av tunnelen i det tilfellet kaster bort ettermiddagen.

Offentlige navn bør løses opp slik de gjorde før forbindelsen, som er nok en grunn til å være presis om hva du publiserer.

Endre rutemengden, og verifiser deretter begge verdener

AWS dokumenterer at endring av ruter på et endepunkt med delt tunnel nullstiller klientforbindelser. Planlegg endringen med det i tankene: bruk den, koble til på nytt gjennom den støttede klienten, og les de installerte rutene på nytt i stedet for å stole på tilstanden som ble brukt før redigeringen. Utdatert anvendt tilstand er den vanligste grunnen til at en korrekt endring ser ødelagt ut.

Godta designet bare når én privat ressurs og én offentlig destinasjon begge oppfører seg som tiltenkt, ved navn og ved adresse, på de adressefamiliene du faktisk støtter. En tunnel som autentiserer er ikke det samme som en tunnel som deler riktig.

Skriv rutelisten inn i runbooken ved siden av begrunnelsen, slik at neste person kan skille en bevisst utelatelse fra en glemt.

Relaterte artikler