CIDR klijenta na AWS Client VPN ne smije se preklapati s rasponom VPC
AWS fiksira pool na Client VPN pri kreiranju, a preklapanje se odlučuje rasponima, a ne neiskorištenim adresama. Pet provjera prije izgradnje.
AWS Client VPN endpoint dodjeljuje adrese klijenata iz poola koji vi birate, a AWS provjerava taj pool prema ciljnoj mreži prije nego što kreira endpoint. Provjera nije je li subnet slobodan. Provjera je preklapa li se pool s rasponom VPC, a odgovor je isti bez obzira na to koristi li danas te adrese neka EC2 instanca. Preklapanje je pitanje raspona, a ne alokacija.
Prođite kroz pet provjera po redu. Zaustavite se na prvoj koja padne, jer nijedan kasniji korak ne može popraviti raniju odluku.
Preklapanje je test raspona, a ne test slobodnih adresa
Krenite od VPC CIDR-a, a ne od subneta koji planirate povezati. Pool od 172.20.0.0/22 nalazi se unutar VPC-a od 172.20.0.0/16 i biva odbijen čak i kada ga nijedan subnet ne zauzima, jer je preklapanje svojstvo raspona, a ne trenutnih alokacija. Zatim dodajte odredišta prema kojima endpoint usmjerava: peered VPC-ovi, transit gateway, lokalni rasponi preko site-to-site veze. Svaki raspon do kojeg klijent može trebati doći pripada na listu.
Prikupljajte ih iz računa, a ne iz sjećanja: aws ec2 describe-vpcs --query "Vpcs[].CidrBlock", plus unose tablice ruta za subnet koji namjeravate povezati.
Veličina poola odlučuje se prije izgradnje
AWS prihvaća IPv4 klijentski pool između /22 i /12 na Client VPN-u. /24 je premali, /8 je izvan dokumentovanog raspona, a obje greške dolaze od dimenzioniranja poola kao subneta za radno opterećenje. Dimenzionirajte ga prema očekivanim istovremenim klijentima plus rezervi, a zatim zaokružite na dozvoljeni prefiks.
Provjerite aritmetiku prije nego je upišete u konzolu, jer pogrešno upisan prefiks mijenja veličinu poola bez ikakvog upozorenja:
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')))"To ispisuje broj adresa, dužinu prefiksa i sudara li se kandidat s rasponom VPC, što je brže od razmišljanja o mrežnim maskama na kraju prozora za promjene.
Resolver ima vlastitu adresnu ulogu
VPC resolver odgovara na baznoj adresi raspona VPC plus dva, što nije nužno unutar subneta koji ste povezali. Pretpostavka da resolver mora živjeti u klijentskom poolu, ili gradnja subneta oko te adrese, dodaje objekte bez ikakve promjene. Važno je da endpoint nosi DNS postavku koju klijent može primijeniti i da je resolver dostupan iz tunela.
Zabilježite resolver, klijentski pool i povezani subnet kao tri odvojene stavke u adresnom planu. Oni padaju neovisno, a to što je jedno ispravno ne govori ništa o druga dva.
Četiri polja koja fiksirate pri kreiranju
Klijentski IPv4 CIDR je fiksiran pri kreiranju. Promjena DNS servera, dodavanje asocijacije, zamjena sigurnosne grupe, uređivanje pravila autorizacije ili izmjena split-tunnel ruta sve su obične izmjene i nijedna od njih ne preimenuje pool. Ta asimetrija je razlog zašto ovo zaslužuje pregled: jeftine postavke su one koje ćete kasnije poželjeti mijenjati, a skupa je ona koju fiksirate prvo. Pročitajte opis endpointa prije nego planirate prozor za promjene.
Pregledajte implementirani endpoint prije nego pretpostavite ponovnu izgradnju. aws ec2 describe-client-vpn-endpoints vraća pool, DNS, split-tunnel zastavicu i asocijacije u jednom odgovoru, što je obično dovoljno da isključi ponovnu izgradnju.
Zamijenite endpoint umjesto da ga krpite
Novi endpoint je novi endpoint, a ne migracija. Postojeće sesije ne prelaze na njega, klijentski profili pokazuju na drugo ime, a svaka postavka koju ste uzimali zdravo za gotovo mora se ponovno stvoriti: serverski certifikat, autentifikacija, asocijacije, rute, autorizacijske grupe, logiranje. Provjerite s jednim klijentom prema obaveznoj privatnoj usluzi i prema odredištu koje mora biti odbijeno, pa proširite pristup. Sve što preskočite kasnije postaje ticket za podršku.
Držite stari endpoint u radu dok ta provjera ne prođe i zadržite administrativni put koji ne ovisi o novom.
Jedna granica koju vrijedi navesti: ovo pokriva IPv4 klijentski pool. Postavke dual-stack i IPv6 prometa na Client VPN-u slijede vlastiti model adresiranja, pa nemojte kopirati ovaj popis bez čitanja dokumentacije za taj način rada.