AWS Client VPN med delt tunnel: kva ruter du bør publisere
Delt tunnel er ei ruteliste, ikkje ein avkryssingsboks. Avgjer kvar internettrafikken går, kva private prefiks som blir publiserte og kva resolver som blir brukt.
Konsollen tilbyr ein brytar for delt tunnel, så avgjerda kjennest som ein avkryssingsboks. Det er ho ikkje. Det som faktisk når klienten, er den publiserte rutemengda til endepunktet, og den lista avgjer kva private prefiks som brukar tunnelen, om vanleg internettrafikk blir lokal eller går ut gjennom AWS, og kva resolver klienten framleis kan snakke med. Tre spørsmål avgjer designet, og kvart av dei kan svarast dårleg medan sambandet likevel lykkast.
Eit flagg for delt tunnel er ikkje ei destinasjonsliste
AWS skildrar delt tunnel som å leggje endepunktruter til rutetabellen til klienten når sambandet blir oppretta. Ei rute til den private VPC-en avgrensar tunnelen til den destinasjonen; alt anna følgjer den vanlege vegen til klienten. Ei standardrute er ei anna instruks med ein annan verknad, og difor åtvarar dokumentasjonen for delt tunnel mot å publisere 0.0.0.0/0 på eit endepunkt som er konfigurert for denne modusen: det bryt sambandet snarare enn å utvide det. Rutetabellen til endepunktet er policyen, og rutetabellen til klienten er resultatet du kan undersøkje.
Les rutetabellen til endepunktet og dei installerte rutene til klienten saman. Etiketten skildrar ei hensikt; rutene skildrar kva som skjer.
Fyrste avgjerd: skal vanleg internettrafikk bli lokal?
Viss surfing skal bruke den eigne tilknytinga til brukaren, publiser berre dei private destinasjonane jobben treng og stogg der. Ikkje legg til ei internett-rute fordi ei rettleiing for full tunnel hadde ei, og ikkje gå ut frå at den ekstra ruta betrar tryggleiken. Ho endrar vegen, ho legg ikkje til ein policy, og ho kostar vanlegvis ventetid du ikkje hadde budsjettert med.
Viss internettrafikk skal gå ut gjennom AWS, bygg den dokumenterte internettilgangsarkitekturen: endepunktrute, autorisasjonsreglar, vegen til det tilknytte subnettet, tryggleikspolicy og ein fungerande utgåande veg oppstraums. Ei standardrute åleine gir ingenting av dette.
Andre avgjerd: kva private prefiks, autorisert av kven?
Publiser det minste settet med destinasjonar som tener den faktiske arbeidsmengda, og kontroller at kvart tilknytt subnett kan rute til dei. Rute-målet til endepunktet og VPC-rutinga til subnettet er ulike lag, og ei rute som finst i det eine er ikkje prov om det andre. Autorisasjon er igjen separat: ein destinasjon kan vere nåbar og likevel avvist fordi gruppa til klienten ikkje har ein regel som tillèt han.
Å teste éin vellukka økt provar éin veg. Kontroller kvart tilknytt subnett, fordi ei subnett-tilknyting som blei lagd til seinare, nettopp er der den manglande ruta pleier å liggje.
Når ein destinasjon må vere nåbar ved namn, merk at neste spørsmål er namneoppløysing, ikkje rutespørsmålet.
Tredje avgjerd: kva resolver følgjer tunnelen?
Ein klient kan få ein DNS-tenar som berre er nåbar gjennom VPN, og den resolveren verkar berre viss adressa sjølv ligg innanfor ei autorisert rute. Stadfest båe halvdelar: adressa til resolveren følgjer ei publisert rute, og tenaren svarar på namna applikasjonen spør om. Ein førespurnad som lykkast på adresse medan vertsnamnet feilar, peikar på namngjeving, ikkje på ruting, og feilsøking av tunnelen i det tilfellet kastar bort ein ettermiddag.
Offentlege namn bør løysast opp slik dei gjorde før sambandet, som er nok ein grunn til å vere presis om kva du publiserer.
Endre rutemengda, og stadfest deretter båe verdene
AWS dokumenterer at endring av ruter på eit endepunkt med delt tunnel nullstiller klienttilknytingar. Planlegg endringa med det i tankane: bruk ho, kople til på nytt gjennom den støtta klienten, og les dei installerte rutene på nytt i staden for å stole på tilstanden som blei brukt før redigeringa. Utdatert brukt tilstand er den vanlegaste grunnen til at ei korrekt endring ser øydelagd ut.
Godta designet berre når ein privat ressurs og ein offentleg destinasjon båe oppfører seg som tenkt, ved namn og ved adresse, på dei adressefamiliane du faktisk støttar. Ein tunnel som autentiserer er ikkje det same som ein tunnel som deler rett.
Skriv rutelista inn i runbooken ved sida av grunngjevinga, slik at neste person kan skilje ei medviten utelating frå ei gløymd.