AWS Client VPN kliento CIDR negali persidengti su VPC diapazonu
AWS nustato Client VPN baseiną kūrimo metu, o persidengimą lemia diapazonai, ne nepanaudoti adresai. Penki patikrinimai prieš statant.
AWS Client VPN galinis taškas išskirsto kliento adresus iš baseino, kurį pasirenkate jūs, ir AWS patikrina tą baseiną prieš tikslinį tinklą prieš kurdama galinį tašką. Patikrinimas ne apie tai, ar potinklis atrodo laisvas. Jis apie tai, ar baseinas persidengia su VPC diapazonu, ir atsakymas toks pat, nesvarbu, ar EC2 egzempliorius šiandien naudoja tuos adresus, ar ne. Persidengimas yra diapazonų, o ne priskyrimų klausimas.
Atlikite penkis patikrinimus iš eilės. Sustokite ties pirmuoju, kuris nepavyksta, nes joks vėlesnis žingsnis negali pataisyti ankstesnio sprendimo.
Persidengimas yra diapazonų testas, o ne laisvų adresų testas
Pradėkite nuo VPC CIDR, o ne nuo potinklio, kurį planuojate prijungti. 172.20.0.0/22 baseinas yra 172.20.0.0/16 VPC viduje ir atmetamas net tada, kai joks potinklis jo neužima, nes persidengimas yra diapazonų savybė, o ne dabartinių priskyrimų. Tada pridėkite paskirties vietas, į kurias galinis taškas maršrutizuoja: peer VPC, transit gateway ir vietiniai diapazonai per site-to-site ryšį. Bet kuris diapazonas, į kurį klientui gali prireikti patekti, priklauso sąrašui.
Rinkite juos iš paskyros, o ne iš atminties: aws ec2 describe-vpcs --query "Vpcs[].CidrBlock", plius maršrutų lentelės įrašai potinkliui, kurį ketinate prijungti.
Baseino dydis nustatomas prieš statant
AWS priima IPv4 kliento baseiną nuo /22 iki /12 Client VPN. /24 yra per mažas, /8 yra už dokumentuoto diapazono, ir abi klaidos kyla iš baseino matavimo kaip darbo krūvio potinklio. Matuokite pagal numatomus vienalaikius klientus ir atsargą, tada apvalinkite iki leidžiamo prefikso.
Patikrinkite aritmetiką prieš įvesdami ją į konsolę, nes neteisingai įvestas prefiksas pakeičia baseino dydį be jokio įspėjimo:
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')))"Tai išspausdina adresų skaičių, prefikso ilgį ir ar kandidatas susiduria su VPC diapazonu, o tai greičiau nei mąstyti apie tinklo kaukes pakeitimų lango pabaigoje.
Resolveris turi savo adreso vaidmenį
VPC resolveris atsako baziniu VPC diapazono adresu plius du, kuris nebūtinai yra jūsų prijungto potinklio viduje. Prielaida, kad resolveris turi gyventi kliento baseine, arba potinklio statymas aplink tą adresą prideda objektų nieko nekeičiant. Svarbu tai, kad galinis taškas turėtų DNS nustatymą, kurį klientas gali pritaikyti, ir kad resolveris būtų pasiekiamas iš tunelio.
Užrašykite resolverį, kliento baseiną ir prijungtą potinklį kaip tris atskirus punktus adresų plane. Jie nepavyksta nepriklausomai, o tai, kad vienas teisingas, nieko nesako apie kitus du.
Keturi laukai, kuriuos įsipareigojate kurdami
Kliento IPv4 CIDR yra fiksuotas kūrimo metu. DNS serverio keitimas, asociacijos pridėjimas, saugos grupės keitimas, autorizacijos taisyklių redagavimas ar split-tunnel maršrutų keitimas yra įprasti pakeitimai, ir nė vienas jų nepervardija baseino. Ši asimetrija yra priežastis, kodėl tai verta peržiūros: pigūs nustatymai yra tie, kuriuos norėsite pakeisti vėliau, o brangusis yra tas, kurį įsipareigojate pirmiau. Perskaitykite galinio taško aprašymą prieš planuodami pakeitimų langą.
Patikrinkite įdiegtą galinį tašką prieš manydami, kad reikia perstatymo. aws ec2 describe-client-vpn-endpoints grąžina baseiną, DNS, split-tunnel vėliavėlę ir asociacijas viename atsakyme, ko paprastai pakanka perstatymui atmesti.
Pakeiskite galinį tašką, o ne lopkite jį
Naujas galinis taškas yra naujas galinis taškas, o ne migracija. Esamos sesijos į jį nepersikelia, klientų profiliai nurodo kitą pavadinimą, ir kiekvienas nustatymas, kurį laikėte savaime suprantamu, turi būti sukurtas iš naujo: serverio sertifikatas, autentifikavimas, asociacijos, maršrutai, autorizacijos grupės, žurnalavimas. Patikrinkite su vienu klientu prieš privalomą privačią paslaugą ir prieš paskirties vietą, kuri turi būti atmesta, tada išplėskite prieigą. Viskas, ką praleisite, vėliau taps palaikymo bilietu.
Laikykite seną galinį tašką veikiantį, kol šis patikrinimas praeis, ir išsaugokite administracinį kelią, nepriklausantį nuo naujojo.
Viena riba, kurią verta paminėti: tai apima IPv4 kliento baseiną. Client VPN dual-stack ir IPv6 srauto nustatymai vadovaujasi savo adresavimo modeliu, todėl nenukopijuokite šio sąrašo neskaitę to režimo dokumentacijos.