Klient-CIDR:en för AWS Client VPN får inte överlappa VPC-intervallet
AWS låser Client VPN-poolen vid skapandet, och överlapp avgörs av intervall, inte av oanvända adresser. Fem kontroller innan du bygger den.
En AWS Client VPN-slutpunkt delar ut klientadresser från en pool som du väljer, och AWS kontrollerar poolen mot målnätverket innan slutpunkten skapas. Kontrollen gäller inte om ett subnät ser ledigt ut. Den gäller om poolen överlappar VPC-intervallet, och svaret är detsamma oavsett om en EC2-instans använder adresserna i dag eller inte. Överlapp är en fråga om intervall, inte om tilldelningar.
Gå igenom fem kontroller i ordning. Stanna vid den första som fallerar, eftersom inget senare steg kan reparera ett tidigare beslut.
Överlapp är ett intervalltest, inte ett test för lediga adresser
Börja med VPC:ns CIDR, inte med subnätet du planerar att associera. En pool på 172.20.0.0/22 ligger inuti en VPC på 172.20.0.0/16 och avvisas även när inget subnät upptar den, eftersom överlapp är en egenskap hos intervallen och inte hos de aktuella tilldelningarna. Lägg sedan till de destinationer som slutpunkten routar till: peer-VPC:er, en transit gateway och lokala intervall över en site-to-site-anslutning. Varje intervall som en klient kan behöva nå hör hemma på listan.
Samla dem från kontot i stället för från minnet: aws ec2 describe-vpcs --query "Vpcs[].CidrBlock", plus rutttabellposterna för subnätet du vill associera.
Poolens storlek bestäms innan du bygger
AWS accepterar en IPv4-klientpool mellan /22 och /12 på Client VPN. Ett /24 är för litet, ett /8 ligger utanför det dokumenterade intervallet, och båda felen kommer av att dimensionera poolen som ett arbetslastsubnät. Dimensionera den efter förväntade samtidiga klienter plus marginal och avrunda sedan till ett tillåtet prefix.
Kontrollera aritmetiken innan du skriver in den i konsolen, eftersom ett felstavat prefix ändrar poolens storlek utan någon varning:
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 antalet adresser, prefixlängden och om kandidaten kolliderar med VPC-intervallet, vilket är snabbare än att resonera om nätmasker i slutet av ett ändringsfönster.
Resolveraren har en egen adressroll
VPC-resolveraren svarar på basadressen i VPC-intervallet plus två, vilket inte nödvändigtvis ligger inom subnätet du associerade. Att anta att resolveraren måste bo i klientpoolen, eller att bygga ett subnät kring den adressen, lägger till objekt utan att ändra något. Det som spelar roll är att slutpunkten bär en DNS-inställning som klienten kan använda och att resolveraren går att nå från tunneln.
Registrera resolveraren, klientpoolen och det associerade subnätet som tre separata poster i adressplanen. De fallerar oberoende, och att en är rätt säger inget om de andra två.
Fyra fält du binder dig till vid skapandet
Klientens IPv4-CIDR är låst vid skapandet. Att byta DNS-server, lägga till en association, byta säkerhetsgrupp, redigera auktoriseringsregler eller ändra split-tunnel-rutter är alla vanliga ändringar, och ingen av dem byter namn på poolen. Den asymmetrin är skälet till att detta förtjänar en granskning: de billiga inställningarna är de du vill ändra senare, och den dyra är den du binder dig till först. Läs slutpunktsbeskrivningen innan du planerar ett ändringsfönster.
Inspektera den driftsatta slutpunkten innan du antar en ombyggnad. aws ec2 describe-client-vpn-endpoints returnerar poolen, DNS, split-tunnel-flaggan och associationerna i ett enda svar, vilket vanligtvis räcker för att utesluta en ombyggnad.
Byt ut slutpunkten i stället för att lappa den
En ny slutpunkt är en ny slutpunkt, inte en migrering. Befintliga sessioner flyttar inte över, klientprofiler pekar på ett annat namn, och varje inställning du tog för given måste återskapas: servercertifikat, autentisering, associationer, rutter, auktoriseringsgrupper, loggning. Validera med en klient mot en obligatorisk privat tjänst och mot en destination som måste nekas, och utöka sedan åtkomsten. Allt du hoppar över blir en supportbiljett senare.
Håll den gamla slutpunkten igång tills valideringen går igenom, och behåll en administrativ väg som inte beror på den nya.
En gräns som är värd att nämna: detta täcker IPv4-klientpoolen. Inställningar för dual-stack- och IPv6-trafik på Client VPN följer sin egen adresseringsmodell, så kopiera inte den här listan utan att läsa dokumentationen för det läget.