AWS Client VPN эмне үчүн дал келген маршрутсуз трафикти таштайт
Акыркы чекит пакетти маршрут таблицасы бараанды камтыганда гана өткөрөт. Маршруттарды окугула, префикстерди for_each менен жарыялагыла, кайтуу жолун текшериңиз.
Client VPN кардарга дарек берет, кол алышуу бүтөт, бирок байланыш эч жакка барбайт. Сертификаттарга же кардардын версияларына тийүүдөн мурун акыркы чекиттин өзүнүн маршрут таблицасын караңыз. AWS Client VPN акыркы чекити пакетти өзүнүн маршруттарынын бири бараандын префиксин камтыганда гана өткөрөт; эч нерсе дал келбесе, пакет акыркы чекитте ташталат жана максаттуу хост SYNди эч качан көрбөйт.
Бул өткөрүү чечими, аутентификация чечими эмес. Ал туннель көтөрүлгөндөн жана авторизация эрежелери баалангандан кийин кабыл алынат, ошондуктан жарактуу сертификат жана жарактуу топ да өлүк байланыш бере алат.
Акыркы чекит маршрут таблицасы камтыганды гана өткөрөт
Ар бир маршрут — бараандын CIDRи жана трафикти кабыл алуучу ички тармак. Акыркы чекит кардардын бараанын ошол тизме менен салыштырат, дал келген жазууну тандайт жана пакетти байланышкан ички тармакка жөнөтөт. Жазуу жок болсо, кийинки секирик да жок.
Маршрут эмне эмес экенине көңүл буруңуз. Ал VPC маршрут таблицасынын жазуусу эмес жана эч нерсеге укук бербейт. Авторизация эрежелери топтун бараанга жете аларын чечет; маршруттар акыркы чекиттин пакетти жөнөтө турган жери бар-жогун чечет. Экөө тең дал келиши керек жана алар түрдүү белгилер менен иштебей калат, ошондуктан кайсынысы бузулганын болжолдоо түштөн кийинки убакытты текке кетирет.
Классикалык дал келбөө — пирдик VPC. Бирөө 10.20.0.0/24 үчүн маршрут кошот, ал эми хост 10.20.4.0/24 ичинде турат, ошондуктан дарек ар бир жазуудан тышкары калат. Кардар тараптагы жазуу жоопсуз кайталанган SYNдерди көрсөтөт, ал эми максаттын журналдары такыр эч нерсе көрсөтпөйт.
Сертификаттан мурун маршруттар тизмесин окуңуз
Акыркы чекиттин маршруттары өзүнчө объект, ошондуктан VPC таблицасын окуунун ордуна аларды түз сураңыз:
aws ec2 describe-client-vpn-routes --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdef0 --query 'Routes[].{Dest:DestinationCidr,Target:TargetSubnet,Origin:Origin}'Ийгиликсиз кардардан так даректи жана префикс узундугун алыңыз, анан камтууну тамга-тамга текшериңиз. Эң узун префикс дал келүүсү колдонулат, ошондуктан кууш маршрут башка жерди көрсөтсө, кенен маршрут сизди куткарбайт.
for_each менен ар бир бараанга бир ресурс
Кол менен жазылган маршрут блоктору бирөө консолго префикс кошкон учурда эле жылып кетет. Бараандарды картада кармап, ар бир ачкычка бир ресурс түзүңүз, ошондо ар бир кошуу же өчүрүү обочолонуп калат.
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]
}Тармактык бириктирүүгө көз карандылыкты сактаңыз. Маршрутка байланышкан ички тармак керек, ошондуктан экөөнү тең түзгөн apply адегенде бириктирүүнү иретке келтириши керек, жана бул шилтеме жок Terraform маршрутту биринчи сынап көрүүгө эркин. Анан планды окуңуз: маршрут кошуулардын саны сиз кошкон префикстерге дал келиши керек. Эгер план акыркы чекитти да алмаштырса, акыркы чекиттин ресурсу туура эмес жазылган, жана аны колдонуу бардык туташкан кардарды ажыратат.
Өзүңүз түзбөгөн акыркы чекитти кабыл алуу
Көпчүлүк командалар консолдо курулган акыркы чекитти мураска алышат, ошондуктан маршрут код жок. Маршруттарды Terraformга киргизүү үчүн гана экинчи акыркы чекитти тургузбаңыз.
Анын ордуна импорттоңуз, же idлерди өзгөрмө катары берип, мураска калган объектилерди башкаруусуз калтырыңыз. Импорт ар бир ресурс түрү үчүн провайдер документтеген идентификатор форматын талап кылат; ал акыркы чекитти, бараандын префиксин жана максаттуу ички тармакты коддойт. Бул сапты эстен кураштыруунун ордуна ресурстун документтеринен көчүрүңүз, планды иштетиңиз жана жаңы нерсе кошконго чейин эч кандай өзгөрүү күтпөңүз.
Пакетти жүргөн тартиби менен көзөмөлдөңүз
Маршрут бар болуп, байланыш дагы эле ийгиликсиз болсо, жогорку катмарда болжолдобой, жолду тартиби менен басып өтүңүз.
- Маршрут: префикс бараанды камтыйт жана акыркы чекитке байланышкан ички тармакты көрсөтөт.
- Авторизация: авторизация эрежеси ошол бараанды колдонуучунун тобуна уруксат берет. Жалгыз маршрут эч качан кирүү бербейт.
- Кайтуу жолу: максаттуу ички тармактын маршрут таблицасы жоопторду акыркы чекитке карай кайтарат, ал эми коопсуздук тобу кардардын дарек пулунан портко уруксат берет.
- Колдонмо: кардардан чыныгы TCP байланышын ачыңыз, анан максаттын журналдары пулдан күтүлгөн булак дарегин көрсөтөрүн ырастаңыз.
Ар бир apply үчүн бир префиксти өзгөртүңүз, анан маршруттар тизмесин кайра окуңуз жана бараанды, уруксат берүүчү эрежени жана кайтуу жолун чогуу жазып алыңыз. Кийинки адам четке кагылган байланышты оңдоону ушул тизмеден башташы керек, сертификат теориясынан эмес.