AWS Client VPN se kliënt-CIDR mag nie die VPC-reeks oorvleuel nie
AWS lê die Client VPN-poel by skepping vas, en oorvleueling word deur reekse bepaal, nie deur ongebruikte adresse nie. Vyf kontroles voordat jy dit bou.
'n AWS Client VPN-eindpunt deel kliëntadresse uit uit 'n poel wat jy kies, en AWS kontroleer daardie poel teen die teikenetwerk voordat dit die eindpunt skep. Die kontrole is nie of 'n subnet vry lyk nie. Dit is of die poel met die VPC-reeks oorvleuel, en die antwoord is dieselfde of 'n EC2-instansie vandag daardie adresse gebruik al dan nie. Oorvleueling is 'n vraag oor reekse, nie oor toekennings nie.
Werk deur vyf kontroles in volgorde. Stop by die eerste een wat faal, want nie een van die latere stappe kan 'n vroeëre besluit herstel nie.
Oorvleueling is 'n reekstoets, nie 'n toets vir vry adresse nie
Begin by die VPC-CIDR, nie by die subnet wat jy beplan om te assosieer nie. 'n Poel van 172.20.0.0/22 lê binne 'n VPC van 172.20.0.0/16 en word verwerp selfs wanneer geen subnet dit gebruik nie, want oorvleueling is 'n eienskap van die reekse, nie van huidige toekennings nie. Voeg dan die bestemmings by waarnatoe die eindpunt roeteer: peered VPC's, 'n transit gateway, on-premises reekse oor 'n site-to-site-verbinding. Enige reeks wat 'n kliënt moontlik moet bereik, hoort in die lys.
Versamel hulle uit die rekening eerder as uit jou geheue: aws ec2 describe-vpcs --query "Vpcs[].CidrBlock", plus die roetetabelinskrywings vir die subnet wat jy van plan is om te assosieer.
Die poelgrootte word voor die bou besluit
AWS aanvaar 'n IPv4-kliëntpoel tussen /22 en /12 op Client VPN. 'n /24 is te klein, 'n /8 val buite die gedokumenteerde reeks, en albei foute kom daarvan om die poel soos 'n werklas-subnet te grootte. Grootte dit volgens verwagte gelyktydige kliënte plus speling, en rond dit dan af na 'n toegelate voorvoegsel.
Kontroleer die rekenkunde voordat jy dit in die konsole intik, want 'n verkeerd getikte voorvoegsel verander die poelgrootte sonder enige waarskuwing:
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')))"Dit druk die adresstelling, die voorvoegsellengte en of die kandidaat met die VPC-reeks bots, wat vinniger is as om aan die einde van 'n veranderingsvenster oor netmaskers te redeneer.
Die resolver het sy eie adresrol
Die VPC-resolver antwoord op die basisadres van die VPC-reeks plus twee, wat nie noodwendig binne die subnet val wat jy geassosieer het nie. Om aan te neem die resolver moet in die kliëntpoel woon, of om 'n subnet rondom daardie adres te bou, voeg objekte by sonder om iets te verander. Wat saak maak, is dat die eindpunt 'n DNS-instelling dra wat die kliënt kan toepas en dat die resolver van die tonnel af bereikbaar is.
Teken die resolver, die kliëntpoel en die geassosieerde subnet as drie afsonderlike items in die adresplan aan. Hulle faal onafhanklik, en as een reg is, sê dit niks oor die ander twee nie.
Vier velde wat jy by skepping vaslê
Die kliënt-IPv4-CIDR is by skepping vas. Om die DNS-bediener te verander, 'n assosiasie by te voeg, die sekuriteitsgroep te ruil, magtigingsreëls te wysig of split-tonnelroetes te verander, is almal gewone wysigings, en nie een daarvan hernoem die poel nie. Daardie asimmetrie is die rede waarom dit 'n hersiening verdien: die goedkoop instellings is die wat jy later sal wil verander, en die duur een is die een wat jy eerste vaslê. Lees die eindpuntbeskrywing voordat jy 'n veranderingsvenster beplan.
Ondersoek die ontplooide eindpunt voordat jy 'n herbou aanneem. aws ec2 describe-client-vpn-endpoints gee die poel, DNS, die split-tonnelvlag en assosiasies in een antwoord terug, wat gewoonlik genoeg is om 'n herbou uit te sluit.
Vervang die eindpunt eerder as om dit te pleister
'n Nuwe eindpunt is 'n nuwe eindpunt, nie 'n migrasie nie. Bestaande sessies skuif nie daarheen nie, kliëntprofiele wys na 'n ander naam, en elke instelling wat jy as vanselfsprekend aanvaar het, moet herskep word: bediener-sertifikaat, verifikasie, assosiasies, roetes, magtigingsgroepe, logs. Valideer met een kliënt teen 'n vereiste private diens en teen 'n bestemming wat geweier moet word, en verbreed dan toegang. Enigiets wat jy oorslaan, word later 'n ondersteuningskaartjie.
Hou die ou eindpunt aan die gang totdat daardie validering slaag, en hou 'n administratiewe pad wat nie van die nuwe een afhang nie.
Een grens wat die moeite werd is om te noem: dit dek die IPv4-kliëntpoel. Dual-stack- en IPv6-verkeersinstellings op Client VPN volg hul eie adresseringsmodel, so moenie hierdie kontrolelys oorneem sonder om die dokumentasie vir daardie modus te lees nie.