Klient-CIDR-en til AWS Client VPN kan ikke overlappe VPC-området
AWS låser Client VPN-poolen ved opprettelsen, og overlapping avgjøres av områder, ikke av ubrukte adresser. Fem kontroller før du bygger den.
Et AWS Client VPN-endepunkt deler ut klientadresser fra en pool du velger, og AWS kontrollerer den poolen mot målnettverket før det oppretter endepunktet. Kontrollen gjelder ikke om et subnett ser ledig ut. Den gjelder om poolen overlapper VPC-området, og svaret er det samme enten en EC2-instans tilfeldigvis bruker adressene i dag eller ikke. Overlapping er et spørsmål om områder, ikke om tildelinger.
Gå gjennom fem kontroller i rekkefølge. Stopp ved den første som feiler, fordi ingen senere trinn kan reparere en tidligere beslutning.
Overlapping er en områdetest, ikke en test for ledige adresser
Start fra VPC-CIDR-en, ikke fra subnettet du planlegger å knytte til. En pool på 172.20.0.0/22 ligger inne i en VPC på 172.20.0.0/16 og avvises selv når ingen subnett opptar den, fordi overlapping er en egenskap ved områdene og ikke ved de gjeldende tildelingene. Legg deretter til destinasjonene endepunktet ruter til: peer-VPC-er, en transit gateway og lokale områder over en site-to-site-forbindelse. Ethvert område en klient kan trenge å nå, hører hjemme på listen.
Samle dem fra kontoen i stedet for fra hukommelsen: aws ec2 describe-vpcs --query "Vpcs[].CidrBlock", pluss rutetabelloppføringene for subnettet du vil knytte til.
Poolstørrelsen avgjøres før du bygger
AWS godtar en IPv4-klientpool mellom /22 og /12 på Client VPN. En /24 er for liten, en /8 ligger utenfor det dokumenterte området, og begge feilene kommer av å dimensjonere poolen som et arbeidslast-subnett. Dimensjoner den etter forventede samtidige klienter pluss margin, og rund deretter av til et tillatt prefiks.
Kontroller aritmetikken før du skriver den inn i konsollen, fordi et feilskrevet prefiks endrer poolstørrelsen uten noen advarsel:
python3 -c "import ipaddress; p=ipaddress.ip_network('172.16.0.0/22'); print(p.num_addresses, p.prefixlen, p.overlaps(ipaddress.ip_network('172.20.0.0/16')))"Det skriver ut antall adresser, prefikslengden og om kandidaten kolliderer med VPC-området, noe som er raskere enn å resonnere om nettmasker på slutten av et endringsvindu.
Resolveren har sin egen adresserolle
VPC-resolveren svarer på basisadressen i VPC-området pluss to, som ikke nødvendigvis ligger inne i subnettet du knyttet til. Å anta at resolveren må bo i klientpoolen, eller å bygge et subnett rundt den adressen, legger til objekter uten å endre noe. Det som betyr noe, er at endepunktet bærer en DNS-innstilling klienten kan bruke, og at resolveren er nåbar fra tunnelen.
Før resolveren, klientpoolen og det tilknyttede subnettet som tre separate poster i adresseplanen. De feiler uavhengig, og at én er riktig sier ingenting om de to andre.
Fire felt du binder deg til ved opprettelsen
Klientens IPv4-CIDR er låst ved opprettelsen. Å bytte DNS-server, legge til en tilknytning, bytte sikkerhetsgruppe, redigere autorisasjonsregler eller endre split-tunnel-ruter er alle vanlige endringer, og ingen av dem gir poolen nytt navn. Den asymmetrien er grunnen til at dette fortjener en gjennomgang: de billige innstillingene er dem du vil endre senere, og den dyre er den du binder deg til først. Les endepunktbeskrivelsen før du planlegger et endringsvindu.
Undersøk det utrullede endepunktet før du antar en gjenoppbygging. aws ec2 describe-client-vpn-endpoints returnerer poolen, DNS, split-tunnel-flagget og tilknytningene i ett svar, noe som vanligvis er nok til å utelukke en gjenoppbygging.
Bytt ut endepunktet i stedet for å lappe det
Et nytt endepunkt er et nytt endepunkt, ikke en migrering. Eksisterende økter flytter ikke over, klientprofiler peker på et annet navn, og hver innstilling du tok for gitt, må gjenskapes: servertsertifikatet, autentisering, tilknytninger, ruter, autorisasjonsgrupper, logging. Valider med én klient mot en påkrevd privat tjeneste og mot en destinasjon som må avvises, og utvid deretter tilgangen. Alt du hopper over, blir en støttebillett senere.
Hold det gamle endepunktet i drift til den valideringen går gjennom, og behold en administrativ vei som ikke avhenger av det nye.
Én grense som er verdt å nevne: dette dekker IPv4-klientpoolen. Innstillinger for dual-stack og IPv6-trafikk på Client VPN følger sin egen adresseringsmodell, så ikke kopier denne sjekklisten uten å lese dokumentasjonen for den modusen.