Mae Client VPN yn rhoi cyfeiriad i'r cleient, mae'r ysgwyd llaw yn gorffen, ac eto nid yw'r cysylltiad yn mynd i unman. Cyn i chi gyffwrdd â thystysgrifau neu fersiynau cleient, edrychwch ar dabl llwybrau'r diweddbwynt ei hun. Dim ond pan fydd un o'i lwybrau'n cynnwys rhagosodiad y gyrchfan y bydd diweddbwynt AWS Client VPN yn anfon pecyn ymlaen; os nad oes dim yn cyfateb, caiff y pecyn ei daflu yn y diweddbwynt ac ni fydd y gwesteiwr targed byth yn gweld SYN.

Penderfyniad anfon ymlaen yw hwn, nid penderfyniad dilysu. Mae'n digwydd ar ôl i'r twnnel godi ac ar ôl gwerthuso'r rheolau awdurdodi, a dyna pam y gall tystysgrif ddilys a grŵp dilys gynhyrchu cysylltiad marw o hyd.

Dim ond yr hyn y mae ei dabl llwybrau'n ei gynnwys y mae'r diweddbwynt yn ei anfon ymlaen

Mae pob llwybr yn CIDR cyrchfan ynghyd â'r is-rwydwaith a ddylai dderbyn y traffig. Mae'r diweddbwynt yn cymharu cyrchfan y cleient â'r rhestr honno, yn dewis y cofnod cyfatebol ac yn anfon y pecyn i'r is-rwydwaith cysylltiedig. Dim cofnod yw dim naid nesaf.

Sylwch beth nad yw'r llwybr. Nid yw'n gofnod yn nhabl llwybrau'r VPC, ac nid yw'n awdurdodi dim. Mae rheolau awdurdodi'n penderfynu a all grŵp gyrraedd cyrchfan; mae llwybrau'n penderfynu a oes gan y diweddbwynt le i anfon y pecyn. Rhaid i'r ddau gytuno, ac maent yn methu â symptomau gwahanol, felly mae dyfalu pa un sydd wedi torri'n gwastraffu prynhawn.

Y camgymhariad clasurol yw VPC cymar. Mae rhywun yn ychwanegu llwybr ar gyfer 10.20.0.0/24 tra bod y gwesteiwr yn byw yn 10.20.4.0/24, felly mae'r cyfeiriad y tu allan i bob cofnod. Mae cipiad ar ochr y cleient yn dangos SYN ailadroddus heb ateb, ac nid yw logiau'r targed yn dangos dim o gwbl.

Darllenwch y rhestr llwybrau cyn y dystysgrif

Mae llwybrau'r diweddbwynt yn wrthrych ar wahân, felly holwch nhw'n uniongyrchol yn lle darllen tabl y VPC:

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

Cymerwch yr union gyfeiriad a hyd y rhagosodiad o'r cleient sy'n methu, yna gwiriwch y sylw fesul cymeriad. Mae cyfatebiaeth y rhagosodiad hiraf yn berthnasol, felly nid yw llwybr ehangach yn eich achub pan fydd un culach yn pwyntio i rywle arall.

Un adnodd fesul cyrchfan gyda for_each

Mae blociau llwybrau a ysgrifennwyd â llaw yn ymsymud yr union eiliad y bydd rhywun yn ychwanegu rhagosodiad yn y consol. Cadwch y cyrchfannau mewn map a chreu un adnodd fesul allwedd, fel bod pob ychwanegiad neu ddilead yn aros ar wahân.

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

Cadwch y dibyniaeth ar y gymdeithas rwydwaith. Mae llwybr angen is-rwydwaith gysylltiedig, felly rhaid i apply sy'n creu'r ddau drefnu'r gymdeithas yn gyntaf, a heb y cyfeiriad hwnnw mae Terraform yn rhydd i roi cynnig ar y llwybr yn gyntaf. Yna darllenwch y cynllun: dylai nifer yr ychwanegiadau llwybr gyd-fynd â'r rhagosodiadau a ychwanegwyd gennych. Os yw'r cynllun hefyd yn disodli'r diweddbwynt, mae adnodd y diweddbwynt wedi'i ysgrifennu'n anghywir, ac mae ei gymhwyso'n datgysylltu pob cleient cysylltiedig.

Mabwysiadu diweddbwynt na chreuoch chi

Mae'r rhan fwyaf o dimau'n etifeddu diweddbwynt a adeiladwyd yn y consol, a dyna pam nad oes cod llwybrau. Peidiwch â chodi ail ddiweddbwynt dim ond i gael llwybrau i mewn i Terraform.

Mewnforiwch yn lle hynny, neu trosglwyddwch yr ids fel newidynnau a gadewch y gwrthrychau etifeddol heb eu rheoli. Mae mewnforio angen y fformat adnabyddiaeth y mae'r darparwr yn ei ddogfennu ar gyfer pob math o adnodd, sy'n amgodio'r diweddbwynt, rhagosodiad y gyrchfan a'r is-rwydwaith targed. Copïwch y llinyn hwnnw o ddogfennaeth yr adnodd yn lle ei gyfansoddi o'ch cof, rhedeg cynllun, a disgwyl dim newidiadau cyn i chi ychwanegu unrhyw beth newydd.

Olrheiniwch y pecyn yn y drefn y mae'n teithio

Pan fydd y llwybr yn bodoli a'r cysylltiad yn methu o hyd, cerddedwch y llwybr yn drefnus yn lle dyfalu ar y haen uchaf.

  1. Llwybr: mae rhagosodiad yn cynnwys y gyrchfan ac yn pwyntio at is-rwydwaith sydd gysylltiedig â'r diweddbwynt.
  2. Awdurdodi: mae rheol awdurdodi'n caniatáu'r gyrchfan honno ar gyfer grŵp y defnyddiwr. Nid yw llwybr ar ei ben ei hun byth yn rhoi mynediad.
  3. Llwybr dychwelyd: mae tabl llwybrau'r is-rwydwaith targed yn anfon atebion yn ôl tuag at y diweddbwynt, ac mae'r grŵp diogelwch yn caniatáu'r porth o bwll cyfeiriadau'r cleient.
  4. Cymhwysiad: agorwch gysylltiad TCP go iawn o'r cleient, yna cadarnhewch fod logiau'r targed yn dangos y cyfeiriad ffynhonnell disgwyliedig o'r pwll.

Newidiwch un rhagosodiad fesul apply, ail-ddarllenwch y rhestr llwybrau wedyn, a chofnodwch y gyrchfan, y rheol sy'n awdurdodi a'r llwybr dychwelyd gyda'i gilydd. Dylai'r person nesaf sy'n dadfygio cysylltiad a wrthodwyd ddechrau o'r rhestr honno, nid o theori am dystysgrifau.

Erthyglau cysylltiedig