Hvers vegna AWS Client VPN sleppir umferð án samsvarandi leiðar
Endapunkturinn sendir aðeins pakka þegar leiðatöflun hans nær yfir áfangastaðinn. Lestu leiðirnar, lýstu forskeytum með for_each, staðfestu bakleiðina.
Client VPN gefur biðlarans vistfang, handabandið klárast, og tengingin fer samt hvergi. Áður en þú snertir vottorð eða biðlaraútgáfur skaltu skoða eigin leiðatöflu endapunktsins. AWS Client VPN endapunktur sendir aðeins pakka þegar ein af leiðum hans nær yfir forskeyti áfangastaðarins; ef ekkert passar er pakkanum hent á endapunktinum og marktölvan sér aldrei SYN.
Þetta er ákvörðun um framsendingu, ekki auðkenningu. Hún er tekin eftir að göngin eru komin upp og eftir að heimildarreglurnar hafa verið metnar, þess vegna geta gilt vottorð og gildur hópur samt gefið dauða tengingu.
Endapunkturinn sendir aðeins það sem leiðataflan nær yfir
Hver leið er CIDR áfangastaðar auk undirnetsins sem á að taka við umferðinni. Endapunkturinn ber saman áfangastað biðlarans við þann lista, velur samsvarandi færslu og sendir pakkann í tengda undirnetið. Engin færsla þýðir engin næsta stökk.
Taktu eftir því sem leiðin er ekki. Hún er ekki færsla í leiðatöflu VPC og heimilar ekkert. Heimildarreglur ákvarða hvort hópur megi ná áfangastað; leiðir ákvarða hvort endapunkturinn hafi eitthvert að senda pakkann. Bæði verða að stemma og þau mistakast með ólíkum einkennum, svo að giska á hvor er bilaður eyðir síðdegi.
Klassískt misræmið er peer-tengt VPC. Einhver bætir við leið fyrir 10.20.0.0/24 á meðan tölvan er í 10.20.4.0/24, svo vistfangið fellur utan hverrar færslu. Upptaka á biðlarahlið sýnir endurtekin SYN án svars, og annála marktölvunnar sýna alls ekkert.
Lestu leiðalistann fyrir vottorðið
Leiðir endapunktsins eru sérstakur hlutur, svo spurðu beint í stað þess að lesa töflu VPC:
aws ec2 describe-client-vpn-routes --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdef0 --query 'Routes[].{Dest:DestinationCidr,Target:TargetSubnet,Origin:Origin}'Taktu nákvæmt vistfang og forskeytislengd frá biðlaranum sem bregst, og athugaðu svo þekjuna staf fyrir staf. Lengsta forskeytið gildir, svo breiðari leið bjargar þér ekki þegar mjórri leið bendir annað.
Ein auðlind á hvern áfangastað með for_each
Handskrifuð leiðablokkir rekast á um leið og einhver bætir forskeyti við í stjórnborðinu. Haltu áfangastöðunum í korti og búðu til eina auðlind á hvern lykil, svo hver viðbót eða eyðing haldist einangruð.
variable "client_vpn_routes" {
type = map(string)
default = {
"10.20.0.0/16" = "subnet-0aa11bb22cc33dd44"
"172.31.0.0/20" = "subnet-0aa11bb22cc33dd44"
}
}
resource "aws_ec2_client_vpn_route" "this" {
for_each = var.client_vpn_routes
client_vpn_endpoint_id = var.client_vpn_endpoint_id
destination_cidr_block = each.key
target_vpc_subnet_id = each.value
depends_on = [aws_ec2_client_vpn_network_association.this]
}Haltu háðinu á netssamtengingu. Leið þarf tengt undirnet, svo apply sem býr til bæði verður að raða samtengingunni fyrst, og án þeirrar tilvísunar er Terraform frjálst að prófa leiðina fyrst. Lestu svo áætlunina: fjöldi leiðaviðbóta á að passa við forskeytin sem þú bættir við. Ef áætlunin skiptir líka um endapunkt er auðlind endapunktsins ranglega skrifuð, og að beita henni aftengir hvern tengdan biðlara.
Að taka yfir endapunkt sem þú bjóst ekki til
Flest lið erfa endapunkt byggðan í stjórnborðinu, þess vegna er enginn leiðakóði til. Ekki reisa annan endapunkt bara til að koma leiðum inn í Terraform.
Flyttu inn í staðinn, eða sendu id-in inn sem breytur og láttu arfhlutina vera óstýrða. Innflutningur krefst auðkennisformsins sem þjónustuveitan skráir fyrir hverja auðlindategund; það kóðar endapunktinn, forskeyti áfangastaðarins og markundirnetið. Afritaðu þá strenginn úr skjölum auðlindarinnar í stað þess að setja hann saman eftir minni, keyrðu áætlun og búðu þig ekki við breytingum áður en þú bætir einhverju nýju við.
Rekjaðu pakkann í þeirri röð sem hann fer
Þegar leiðin er til og tengingin bregst samt, gakktu leiðina í réttri röð í stað þess að giska á efsta laginu.
- Leið: forskeyti nær yfir áfangastaðinn og bendir á undirnet sem er tengt endapunktinum.
- Heimild: heimildarregla leyfir þann áfangastað fyrir hóp notandans. Leið ein sér veitir aldrei aðgang.
- Bakleið: leiðatafla markundirnetsins sendir svör til baka í átt að endapunktinum, og öryggishópurinn leyfir gáttina úr vistfangasafni biðlarans.
- Forrit: opnaðu raunverulega TCP-tengingu frá biðlaranum og staðfestu svo að annálar marktölvunnar sýni væntanlega upprunavistfangið úr safninu.
Breyttu einu forskeyti á hverri apply, lestu leiðalistann aftur eftir það og skráðu áfangastaðinn, heimildarregluna og bakleiðina saman. Næsta manneskja sem kembir hafnaða tengingu ætti að byrja á þeirri skrá, ekki á kenningu um vottorð.