Konsollen tilbyder en kontakt til delt tunnel, så beslutningen føles som en afkrydsningsboks. Det er den ikke. Det, der faktisk når klienten, er slutpunktets offentliggjorte rutemængde, og den liste afgør, hvilke private præfikser der bruger tunnelen, om almindelig internettrafik bliver lokal eller går ud gennem AWS, og hvilken resolver klienten stadig kan tale med. Tre spørgsmål afgør designet, og hvert af dem kan besvares dårligt, mens forbindelsen stadig lykkes.

Et flag for delt tunnel er ikke en destinationsliste

AWS beskriver delt tunnel som at tilføje slutpunktsruter til klientens rutetabel ved forbindelsesoprettelse. En rute til den private VPC begrænser tunnelen til den destination; alt andet følger klientens sædvanlige vej. En standardrute er en anden instruktion med en anden virkning, og derfor advarer dokumentationen for delt tunnel mod at offentliggøre 0.0.0.0/0 på et slutpunkt, der er konfigureret til denne tilstand: det bryder snarere forbindelsen end at udvide den. Slutpunktets rutetabel er politikken, og klientens rutetabel er resultatet, du kan inspicere.

Læs slutpunktets rutetabel og klientens installerede ruter sammen. Etiketten beskriver en hensigt; ruterne beskriver, hvad der sker.

Første beslutning: skal almindelig internettrafik blive lokal?

Hvis browsing skal bruge brugerens egen forbindelse, så offentliggør kun de private destinationer, som opgaven har brug for, og stop der. Tilføj ikke en internetrute, fordi en vejledning i fuld tunnel indeholdt en, og antag ikke, at den ekstra rute forbedrer sikkerheden. Den ændrer vejen, tilføjer ikke en politik og koster normalt latenstid, du ikke havde budgetteret med.

Hvis internettrafik skal gå ud gennem AWS, så byg den dokumenterede internetadgangsarkitektur: slutpunktsrute, autorisationsregler, den tilknyttede undernets vej, sikkerhedspolitik og en fungerende udgang opad. En standardrute alene leverer intet af det.

Anden beslutning: hvilke private præfikser, autoriseret af hvem?

Offentliggør det mindste sæt destinationer, der tjener den faktiske arbejdsbyrde, og kontroller, at hvert tilknyttet undernet kan route til dem. Slutpunktets rutemål og undernettets VPC-routing er forskellige lag, og en rute, der findes i det ene, er ikke bevis om det andet. Autorisation er igen separat: en destination kan være nåelig og alligevel afvist, fordi klientens gruppe ikke har en regel, der tillader den.

At teste en enkelt vellykket session beviser én vej. Kontroller hvert tilknyttet undernet, fordi en undernets-tilknytning, der blev tilføjet senere, netop er der, hvor den manglende rute plejer at ligge.

Når en destination skal være nåelig ved navn, så bemærk, at navneopløsningsspørgsmålet er det næste, ikke rutespørgsmålet.

Tredje beslutning: hvilken resolver følger tunnelen?

En klient kan modtage en DNS-server, der kun er nåelig gennem VPN, og den resolver virker kun, hvis dens adresse selv ligger inden for en autoriseret rute. Verificer begge halvdele: resolverens adresse følger en offentliggjort rute, og serveren svarer på de navne, applikationen spørger om. En anmodning, der lykkes på adresse, mens værtsnavnet fejler, peger på navngivning, ikke på routing, og fejlfinding af tunnelen i det tilfælde spilder eftermiddagen.

Offentlige navne bør opløses som før forbindelsen, hvilket er endnu en grund til at være præcis om, hvad du offentliggør.

Ændr rutemængden, og verificer derefter begge verdener

AWS dokumenterer, at ændring af ruter på et slutpunkt med delt tunnel nulstiller klientforbindelser. Planlæg ændringen med det i tankerne: anvend den, genopret forbindelsen gennem den understøttede klient, og læs de installerede ruter igen i stedet for at stole på tilstand, der blev anvendt før redigeringen. Forældet anvendt tilstand er den mest almindelige grund til, at en korrekt ændring ser brudt ud.

Acceptér kun designet, når én privat ressource og én offentlig destination begge opfører sig som tilsigtet, ved navn og ved adresse, på de adressefamilier, du faktisk understøtter. En tunnel, der godkender, er ikke det samme som en tunnel, der deler korrekt.

Skriv rutelisten ind i runbooken ved siden af begrundelsen, så den næste person kan skelne en bevidst udeladelse fra en glemt.

Relaterede artikler