AWS Client VPN konnessi imma l-ebda internet: verifika tar-rotot
AWS Client VPN konnessi mingħajr aċċess għall-internet? Iċċekkja r-rotot tal-klijent, l-awtorizzazzjoni tal-endpoint, il-ħruġ tas-subnet u d-DNS f'dan l-ordni.
Int konness mal-endpoint ta' AWS Client VPN, is-subnet privat iwieġeb, u minkejja dan kull paġna pubblika tispiċċa b'timeout. Din il-kombinazzjoni tnaqqas il-problema għal wieħed minn tliet oġġetti fuq in-naħa ġestita: ir-rotta li l-klijent jinstalla, ir-rotta tal-endpoint flimkien mar-regola tal-awtorizzazzjoni tagħha, jew il-qabża li jmiss tas-subnet assoċjat. Nivverifika dawn f'dan l-ordni għax kull falliment jidher differenti mill-klijent. Dan il-gwida jkopri l-endpoint ġestit assoċjat ma' VPC, mhux server OpenVPN fuq istanza EC2 u mhux konnessjoni Cloud WAN jew Transit Gateway.
Ibda b'dak li l-klijent tabilħaqq jirrotta
Stat konness jipprova s-sessjoni TLS u l-allokazzjoni tas-CIDR lill-klijent, xejn aktar. Staqsi lis-sistema operattiva fejn tmur indirizz pubbliku waqt li t-tunnel ikun attiv. Fuq Linux, ip route get 1.1.1.1 għandu jsemmi l-interface tat-tunnel; fuq macOS, netstat -rn -f inet | head -5 juri d-dħul default; fuq Windows, Find-NetRoute -RemoteIPAddress 1.1.1.1 jipprintja l-interface magħżul u l-qabża li jmiss.
Imbagħad aqra l-bandiera tas-split-tunnel, għax tiddetermina jekk ir-rotot ippubblikati mill-endpoint humiex l-uniċi destinazzjonijiet li l-klijent jibgħat fit-tunnel:
aws ec2 describe-client-vpn-endpoints \
--client-vpn-endpoint-ids cvpn-endpoint-0123456789abcdef0 \
--query 'ClientVpnEndpoints[0].SplitTunnel'Meta SplitTunnel huwa true, destinazzjoni pubblika tuża t-tunnel biss meta l-endpoint jippubblika rotta li tkopriha, għalhekk 0.0.0.0/0 nieqsa tħalli dak it-traffiku fuq l-interface lokali. Meta huwa false, il-klijent jaqbad it-traffiku, imma l-endpoint xorta jrid jirrotta u jawtorizza, inkella l-pakketti jidħlu fit-tunnel u jieqfu hemm. Erġa' għaqqad il-klijent wara li tbiddel waħda miż-żewġ settings, għax ir-rotot u s-servers DNS jiġu kkonsenjati fil-ħin tal-konnessjoni u klijent li jaħdem jista' jżomm is-sett antik tiegħu.
Jaqra r-rotta tal-endpoint u r-regola tal-awtorizzazzjoni separatament
Dawn huma żewġ oġġetti, u l-ħolqien ta' wieħed ma joħloqx l-ieħor. Elenka r-rotot tal-endpoint u fittex rotta default li l-mira tagħha hija subnet assoċjat:
aws ec2 describe-client-vpn-routes \
--client-vpn-endpoint-id cvpn-endpoint-0123456789abcdef0Kull rotta għandha eżattament subnet mira waħda, għalhekk tliet assoċjazzjonijiet jeħtieġu rotta default li tqabbel għal kull waħda. AWS tiddokumenta dan ir-rekwiżit ta' kopertura, u s-sintomu prattiku ta' lakuna huwa utent li jaħdem minn subnet waħda u jieqaf minn oħra, li jinqara bħala ħsara intermittenti minflok rotta nieqsa. Id-dokumentazzjoni uffiċjali tax-xenarju tal-Client VPN tiddeskrivi l-arranġament tas-subnet pubbliku li dawn ir-rotot jappartjenu għalih.
L-awtorizzazzjoni hija t-tieni oġġett. Meta l-ebda regola ma tkopri d-destinazzjoni pubblika, it-tunnel iġorr il-pakkett u s-servizz jarmih, għalhekk ir-riżorsi privati jibqgħu jaħdmu waqt li l-internet le:
aws ec2 describe-client-vpn-authorization-rules \
--client-vpn-endpoint-id cvpn-endpoint-0123456789abcdef0Regola għas-CIDR tal-VPC ma tgħid xejn dwar 0.0.0.0/0. Iż-żieda tal-biċċiet neqsin għal tunnel sħiħ tfisser rotta waħda għal kull subnet assoċjat flimkien ma' regola tal-awtorizzazzjoni li tista' tawditja aktar tard:
aws ec2 create-client-vpn-route \
--client-vpn-endpoint-id cvpn-endpoint-0123456789abcdef0 \
--destination-cidr-block 0.0.0.0/0 \
--target-vpc-subnet-id subnet-0a1b2c3d4e5f67890
aws ec2 create-client-vpn-authorization-rule \
--client-vpn-endpoint-id cvpn-endpoint-0123456789abcdef0 \
--destination-cidr-block 0.0.0.0/0 \
--access-all \
--description "internet egress for full tunnel"--access-all tagħti d-destinazzjoni lil kull klijent tal-endpoint, għalhekk żommha biss sakemm it-tunnel għandu jkun sħiħ; regola marbuta ma' grupp tad-direttorju hija preferibbli meta għandek gruppi x'torbot.
Ssegwi l-pakkett 'il barra mis-subnet assoċjat
Rotta tal-endpoint tiddetermina li AWS tagħti l-pakkett lil dak is-subnet. Ma tiddeterminax il-qabża li jmiss wara, li tgħix fit-tabella tar-rotot tal-VPC tas-subnet stess:
aws ec2 describe-route-tables \
--filters Name=association.subnet-id,Values=subnet-0a1b2c3d4e5f67890 \
--query 'RouteTables[].Routes[?DestinationCidrBlock==`0.0.0.0/0`]'Rotta default użabbli tipponta lejn internet gateway għal subnet pubbliku, jew lejn NAT gateway għal wieħed privat, u stat blackhole ifisser li l-mira tħassret u t-triq issa tmut bil-kwiet. Dawn huma tabelli differenti mil-lista tar-rotot tal-endpoint, u t-tiswija ta' waħda ma tiswix l-oħra.
Fuq din il-qabża joqogħdu żewġ filtri. Il-grupp tas-sigurtà applikat għall-assoċjazzjoni tan-netwerk tal-mira għandu jippermetti traffiku ħiereġ lejn id-destinazzjoni pubblika, u kull ACL tan-netwerk applikabbli għandu jippermetti t-talba u t-traffiku tar-ritorn fuq ports ephemeral. Grupp tas-sigurtà tal-assoċjazzjoni restrittiv huwa raġuni komuni għalxiex l-aċċess privat jaħdem u dak pubbliku le.
Agħżel l-ewwel saff mis-sintomu minflok ma tbiddel it-tlieta kollha f'daqqa:
| What you observe | Layer to check first |
|---|---|
| No tunnel interface for a public IP | Client route or split-tunnel flag |
| Tunnel interface chosen, request times out | Endpoint route and authorization rule |
| Endpoint route present, still times out | Subnet route table, association security group |
| Named host fails, numeric address works | DNS servers and their own authorization |
IFRED il-falliment tad-DNS minn rotta mejta
Is-soluzzjoni tal-ismijiet tfalli b'mod differenti mill-ġarr 'il quddiem, u t-tunnel sħiħ jagħmel id-differenza importanti għax issa jintlaħaq is-solver imbuttat permezz tat-tunnel. Jekk l-endpoint jispeċifika servers DNS tal-VPC, l-indirizzi tagħhom jeħtieġu kopertura tar-rotta u awtorizzazzjoni bħal kull destinazzjoni oħra. Staqsi lis-solver direttament biex tara liema falliment għandek: dig +short example.com @10.0.0.2, jew nslookup example.com 10.0.0.2 fuq Windows.
Meta URL numeriku jwieġeb u wieħed bl-isem ma jwieġibx, waqqaf milli teditja r-rotta default u aħdem fuq id-DNS. Talba lejn indirizz IP ma tipprovax xejn dwar host virtwali bl-isem u ċ-ċertifikat tiegħu, għalhekk żomm test wieħed bl-isem fil-verifika finali.
Il-ħin jgħin. Konnessjoni TCP li ma tirċevix tweġiba fi ftit sekondi tipponta lejn ir-rototar jew filtru, filwaqt li talba li tiddendel fit-tiftix tal-isem tipponta lejn is-solver. It-tibdil tar-rotta default waqt li s-solver mhux aċċessibbli spiss ibiddel falliment wieħed f'żewġ fallimenti.
Irritorna lura b'mod nadif, imbagħad ivverifika t-triq tal-ħruġ
Iż-żewġ oġġetti kienu addittivi, għalhekk ir-ritorn lura huwa tħassir u mhux tiswija:
aws ec2 delete-client-vpn-route \
--client-vpn-endpoint-id cvpn-endpoint-0123456789abcdef0 \
--destination-cidr-block 0.0.0.0/0 \
--target-vpc-subnet-id subnet-0a1b2c3d4e5f67890
aws ec2 delete-client-vpn-authorization-rule \
--client-vpn-endpoint-id cvpn-endpoint-0123456789abcdef0 \
--destination-cidr-block 0.0.0.0/0 \
--access-allErġa' għaqqad, imbagħad ikkonferma minn liema triq joħroġ it-traffiku. Qabbel l-indirizz pubbliku osservat mal-indirizz IP elastiku tal-NAT gateway, jew mal-internet gateway li kien ħsiebek tuża, u ċċekkja li riżors privat għadu jwieġeb fl-istess sessjoni.
Iffinalizza b'lista qasira, u ttratta l-aħħar punt bħala parti mill-bidla u mhux bħala dokumentazzjoni:
- Waħda
0.0.0.0/0rotta tal-endpoint għal kull subnet assoċjat. - Regola tal-awtorizzazzjoni li tkopri
0.0.0.0/0għall-klijenti li trid taqdi. - Rotta default tal-VPC li mhix fi stat blackhole fuq kull subnet assoċjat.
- Ħruġ tal-grupp tas-sigurtà tal-assoċjazzjoni, flimkien mat-traffiku tar-ritorn tal-ACL.
- Indirizzi tas-solver irrotati u awtorizzati, ivverifikati b'talba bl-isem.
- Ritorn lura rreġistrat għar-rotta u r-regola.
Nota waħda dwar l-ambitu: din hija triq IPv4. Klijent b'doppja stack iżomm il-konnettività IPv6 li diġà għandu, għalhekk rotta default IPv6 hija deċiżjoni separata bl-awtorizzazzjoni tagħha u mhux effett sekondarju ta' din.