AWS Client VPN endpoint dodjeljuje adrese klijenata iz poola koji vi odaberete, a AWS provjerava taj pool prema ciljnoj mreži prije nego stvori endpoint. Provjera nije je li subnet slobodan. Provjera je preklapa li se pool s rasponom VPC-a, 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 trenutačnih 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 popis.

Prikupljajte ih iz računa, a ne iz sjećanja: aws ec2 describe-vpcs --query "Vpcs[].CidrBlock", plus unosi tablice usmjeravanja 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 premalen, /8 je izvan dokumentiranog raspona, a obje pogreš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 dopušteni prefiks.

Provjerite aritmetiku prije nego je upišete u konzolu, jer pogrešno upisan prefiks mijenja veličinu poola bez ikakve obavijesti:

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, duljinu prefiksa i sudara li se kandidat s rasponom VPC-a, š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-a 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 stvaranju

Klijentski IPv4 CIDR fiksiran je pri stvaranju. Promjena DNS poslužitelja, dodavanje pridruživanja, 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 pridruživanja u jednom odgovoru, što je obično dovoljno da isključi ponovnu izgradnju.

Zamijenite endpoint umjesto da ga krpate

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: poslužiteljski certifikat, autentifikacija, pridruživanja, rute, autorizacijske grupe, bilježenje. Provjerite s jednim klijentom prema obveznoj 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.

Povezani članci