Client VPN jagħti indirizz lill-klijent, il-handshake jitlesta, u l-konnessjoni xorta ma tmur imkien. Qabel ma tmiss ċertifikati jew verżjonijiet tal-klijent, ħares lejn it-tabella tar-rotot tal-punt tat-tmiem stess. Punt tat-tmiem AWS Client VPN jgħaddi pakkett biss meta waħda mir-rotot tiegħu tkopri l-prefiss tad-destinazzjoni; jekk xejn ma jaqbel, il-pakkett jintrema fil-punt tat-tmiem u l-host fil-mira qatt ma jara SYN.

Dik hija deċiżjoni ta' trażmissjoni, mhux ta' awtentikazzjoni. Isseħħ wara li l-mina tkun qiegħda u wara li jiġu evalwati r-regoli tal-awtorizzazzjoni, għalhekk ċertifikat validu u grupp validu xorta jistgħu jagħtu konnessjoni mejta.

Il-punt tat-tmiem jgħaddi biss dak li tkopri t-tabella tar-rotot tiegħu

Kull rotta hija CIDR tad-destinazzjoni flimkien mas-subnet li għandu jirċievi t-traffiku. Il-punt tat-tmiem iqabbel id-destinazzjoni tal-klijent ma' dik il-lista, jagħżel l-entrata li taqbel u jibgħat il-pakkett fis-subnet assoċjat. Bla entrata ma jkunx hemm qabża oħra.

Innota x'inhi mhux ir-rotta. Mhijiex entrata fit-tabella tar-rotot tal-VPC, u ma tawtorizza xejn. Ir-regoli tal-awtorizzazzjoni jiddeċiedu jekk grupp jistax jilħaq destinazzjoni; ir-rotot jiddeċiedu jekk il-punt tat-tmiem għandux fejn jibgħat il-pakkett. It-tnejn iridu jaqblu, u jonqsu b'sintomi differenti, għalhekk li taqta' x'inqered iħawwad wara nofsinhar.

Il-qbila klassika hija VPC peered. Xi ħadd iżid rotta għal 10.20.0.0/24 waqt li l-host jgħix f'10.20.4.0/24, għalhekk l-indirizz jaqa' barra minn kull entrata. Qbid fuq in-naħa tal-klijent juri SYN ripetuti mingħajr tweġiba, u l-logs tal-mira ma juru xejn.

Aqra l-lista tar-rotot qabel iċ-ċertifikat

Ir-rotot tal-punt tat-tmiem huma oġġett għalihom, għalhekk staqsi għalihom direttament minflok taqra t-tabella tal-VPC:

aws ec2 describe-client-vpn-routes --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdef0 --query 'Routes[].{Dest:DestinationCidr,Target:TargetSubnet,Origin:Origin}'

Ħu l-indirizz eżatt u t-tul tal-prefiss mill-klijent li qed jonqos, imbagħad iċċekkja l-kopertura karattru b'karattru. Tapplika l-qbil tal-itwal prefiss, għalhekk rotta usa' ma ssalvakx meta waħda idjaq tindika x'imkien ieħor.

Riżors wieħed għal kull destinazzjoni b'for_each

Blokki tar-rotot miktuba bl-idejn iċedu fil-mument li xi ħadd iżid prefiss fil-console. Żomm id-destinazzjonijiet f'mappa u oħloq riżors wieħed għal kull kjavi, sabiex kull żieda jew tneħħija tibqa' iżolata.

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]
}

Żomm id-dipendenza fuq l-assoċjazzjoni tan-netwerk. Rotta teħtieġ subnet assoċjat, għalhekk apply li joħloq it-tnejn irid iqiegħed l-assoċjazzjoni l-ewwel, u mingħajr dik ir-referenza Terraform huwa ħieles li jipprova r-rotta l-ewwel. Imbagħad aqra l-pjan: l-għadd ta' żidiet tar-rotot għandu jaqbel mal-prefissi li żidt. Jekk il-pjan jissostitwixxi wkoll il-punt tat-tmiem, ir-riżors tal-punt tat-tmiem huwa miktub ħażin, u l-applikazzjoni tiegħu tiskonnettja kull klijent konness.

Nadottaw punt tat-tmiem li ma ħloqtx

Il-biċċa l-kbira tat-timijiet jirtu punt tat-tmiem mibni fil-console, għalhekk ma jeżistix kodiċi tar-rotot. Twaqqafx it-tieni punt tat-tmiem biss biex iddaħħal rotot f'Terraform.

Minflok importa, jew għaddi l-ids bħala varjabbli u ħalli l-oġġetti li wiret mingħajr ġestjoni. L-import jeħtieġ il-format tal-identifikatur li l-fornitur jiddokumenta għal kull tip ta' riżors; dan jikodifika l-punt tat-tmiem, il-prefiss tad-destinazzjoni u s-subnet fil-mira. Ikkopja dak is-sekwenza mid-dokumentazzjoni tar-riżors minflok ma tikkomponiha mill-memorja, ħaddem pjan, u stenna l-ebda bidla qabel ma żżid xi ħaġa ġdida.

Segwi l-pakkett fl-ordni li jivvjaġġa

Meta r-rotta teżisti u l-konnessjoni xorta tonqos, imxi t-triq fl-ordni minflok taqta' fuq is-saff ta' fuq.

  1. Rotta: prefiss ikopri d-destinazzjoni u jindika subnet assoċjat mal-punt tat-tmiem.
  2. Awtorizzazzjoni: regola ta' awtorizzazzjoni tippermetti dik id-destinazzjoni għall-grupp tal-utent. Rotta waħedha qatt ma tagħti aċċess.
  3. Triq lura: it-tabella tar-rotot tas-subnet fil-mira tibgħat it-tweġibiet lura lejn il-punt tat-tmiem, u l-grupp tas-sigurtà jippermetti l-port mill-pool tal-indirizzi tal-klijent.
  4. Applikazzjoni: iftaħ konnessjoni TCP vera mill-klijent, imbagħad ikkonferma li l-logs tal-mira juru l-indirizz tas-sors mistenni mill-pool.

Ibdel prefiss wieħed għal kull apply, imbagħad erġa' aqra l-lista tar-rotot, u nnota d-destinazzjoni, ir-regola li tawtorizza u t-triq lura flimkien. Il-persuna li jmiss li tiddenbukja konnessjoni miċħuda għandha tibda minn dak l-inventarju, mhux minn teorija dwar iċ-ċertifikati.

Artikli relatati