Бір Client VPN endpoint өзінің байланысқан VPC-сімен peering қатынасындағы VPC-ге жете алады, және мұны заңды ету үшін bastion қажет емес. Жасауға тұрарлық таңдау — трафиктің қай жерде қол ауыстыратыны: association қосалқы желісіне қонатын және peering байланысын кесіп өтетін endpoint маршруты, немесе peered VPC ішінде сессияны аяқтайтын host. Екі жол да жұмыс істейді және олар әртүрлі жерде сәтсіздікке ұшырайды, сондықтан шешім AWS рұқсат ететін нәрсе туралы емес, меншік пен аудит туралы. Міне, мен олардың арасында қалай таңдаймын, және маршрутталған жолды іске қосатын төрт жазба.

Екі жол, бір endpoint, әртүрлі иелер

Маршрутталған жолда клиент трафигі endpoint-ке жетеді, association қосалқы желісіндегі Client VPN желілік интерфейсінің мекенжайына аударылады және A-дан B-ге peering байланысы арқылы сол қосалқы желіден шығады. VPC B ешбір VPN сессиясын аяқтамайды; ол VPC A-дан қарапайым трафикті көреді, сондықтан оның қайтару маршруты клиент пулына емес, VPC A-ға бағытталған.

bastion жолында клиент алдымен host-қа жетеді. A-дағы bastion соңғы секірісті әлі де peering байланысы арқылы өткізеді, сондықтан peering жұмысы сақталады және сессия қосылады. B-дегі bastion да клиенттен жол қажет етеді, және бұл жол сол endpoint маршруты болса, маршрутталған дизайнға бір секіріс қосылады. bastion жұмысты тек ол бұрыннан бар болса, бұрыннан мақұлданса және оның артындағы нәрсеге желі шекарасы емес, сессия шекарасы қажет болса ғана азайтады.

Төрт жазба маршрутталған жолды іске қосады

AWS бұл сценарийді Client VPN how-it-works бетінде құжаттайды, және іс жүзінде бәрі екі немесе үш командаға тиесілі төрт жазбаға келіп тіреледі. Ауқымдар иллюстративті; peered ауқым бірегей болуы керек, ал қайтару ауқымы жоспарыңызға сай болуы керек.

ControlWhat it must say
Endpoint route10.70.0.0/16 targets the association subnet
Authorization ruleThe approved group may reach 10.70.0.0/16
VPC A association-subnet table10.70.0.0/16 targets the peering connection
VPC B resource-subnet tableVPC A's range targets the same peering connection

Маршрут пен рұқсат — бөлек бақылаулар. Сәйкес авторизация ережесі жоқ дұрыс endpoint маршруты клиентке ештеңе бермейді; endpoint маршруттай алмайтын межеге арналған авторизация ережесі оған қара құдық береді. Екеуі де бір ауқымды атауы керек.

endpoint маршруты endpoint-тің өз VPC-сіндегі қосалқы желіге бағытталады, ешқашан peering байланысына емес. VPC маршрут кестелері peering байланысына бағытталады, ешқашан instance немесе интерфейске емес. Екеуінің арасында мәнді көшіру шағымсыз сақталады және ештеңені маршруттамайды.

association қосалқы желісі клиент көзін аударатындықтан, B клиент пулына емес, VPC A-ға қайта маршруттауы керек. Клиент ауқымын peering байланысы арқылы жіберу симметриялы көрінеді, шолудан өтеді және үнсіз сәтсіздікке ұшырайды, өйткені B ешқашан клиент көзі бар пакетті көрмейді.

Қауіпсіздік топтары және рұқсаттың соңғы метрі

Маршруттау пакеттерді B-ге жеткізеді; B әлі де шешеді. Сол аймақтағы белсенді peering байланысы үшін B-дегі қауіпсіздік тобы Client VPN association-іне қолданылған топқа сілтеме жасай алады, бұл ережені тар ұстайды және мекенжай өзгерістеріне төзеді. Топ сілтемесі мүмкін болмаған жерде 0.0.0.0/0-ге кеңейтудің орнына association қосалқы желісінің ауқымына анық рұқсат беріңіз, себебі бұл маршруттау қатесін түсініксіз timeout-қа айналдырады.

Содан кейін маршруттау ешқашан тимейтін нәрсені тексеріңіз: екі қосалқы желідегі желілік ACL-дер, қолданбаның рұқсат тізімі немесе token аудиториясы, және DNS. peering жеке хостинг аймақтарын көшірмейді, сондықтан ноутбук шеше алмайтын мекенжайға жұмыс істейтін маршрут ұстауы мүмкін, ал peering байланысы сертификатқа сенім қоспайды. endpoint-ті B үшін жауап беретін resolver-ге бағыттаңыз, содан кейін жеке атау мен сертификаттың сәйкестігін растаңыз.

bastion шынайы жауап болғанда

Мен bastion-ды әдейі таңдау үшін үш триггер ұстаймын. peered VPC сіздің ауқымыңызға қайтару маршрутын қоспайтын немесе топ сілтемесін қабылдамайтын командаға тиесілі. Қатынас әр сессия үшін мақұлдануы немесе жазылуы керек, ал қолданба мұны өзі көтере алмайды. Немесе соңғы секіріс B ішінде қалуы керек, өйткені қызмет тек сонда шешіледі және оның TLS сәйкестігі ішкі атауға бекітілген.

Бұлардың ешқайсысы peering транзитті емес деген фактіні айналып өту емес. Транзитті еместік B-дегі ресурстардың не істей алатынын шектейді: олар A-ны A peering қатынасындағы үшінші VPC-ге транзит ретінде пайдалана алмайды. Бұл VPN пайдаланушысы тікелей peered VPC-ге жете алмайды дегенді ешқашан білдірген емес, және осы қате оқуды айналып өту үшін салынған bastion — себепсіз патчталатын host.

Кері қате уақыт өте қымбат: әр команданы бұрыннан бар жалғыз bastion арқылы өткізіңіз, содан кейін оның қауіпсіздік тобы, маршрут кестесі және патч терезесі өндірістік тәуелділік екенін анықтаңыз. host қандай триггерге қызмет ететінін жазыңыз және триггер жойылғанда оны қызметтен шығарыңыз.

Transit Gateway және бірнеше association арифметиканы өзгертеді

Егер endpoint қосалқы желіге емес, тікелей Transit Gateway-ге қосылған болса, модель өзгереді: клиенттер енді association қосалқы желісіндегі интерфейс мекенжайына аударылмайды, және gateway маршрут кестелері клиент ауқымын қоса peered VPC-ге апаратын қосылымды көтеруі керек. Бұл ауқымда тазарақ, бірақ жұмыс төрт жазбадан gateway маршрут кестелеріне көшеді.

Бірнеше association тексерулерді көбейтеді. endpoint маршруты endpoint-ке тиесілі, бірақ әр association қосалқы желісіне нақты peering келесі секірісі бар маршрут кестесі қажет. Сессия бір association арқылы сәтті болуы мүмкін, ал екіншісінде қайтару жолы болмауы мүмкін, сондықтан әрқайсысын сынаңыз.

Сынуды тез табатын тексеру тәртібі

Бұларды ретімен орындаңыз; әр қадам келесісі сәтсіз болғанда да өтуі мүмкін, ал клиент timeout-ы қайсысы сынғанын дерлік айтпайды.

  1. Клиенттен қолданба атауын шешіңіз және мекенжай peered ауқымының ішінде екенін тексеріңіз.
  2. Қосылыңыз, содан кейін сессияны аяқтаған association үшін endpoint қосылым журналын оқыңыз.
  3. Сол association қосалқы желісінде маршрут кестесінің peered ауқымды белсенді peering байланысына бағыттайтынын растаңыз.
  4. B-дегі ресурс қосалқы желісінде интерфейс ауқымының қайтару жазбасын және сәйкес топ ережелерін растаңыз.
  5. Бір рұқсат етілген операцияны және қолжетімсіз болуы тиіс бір ресурсты сынаңыз; екіншісі жөндеу қалдықтарын ұстайды.
  6. Кез келген split-tunnel маршрут өзгерісінен кейін қайта қосылыңыз, өйткені жұмыс істеп тұрған туннель жаңа маршрут жиынтығын қабылдамайды.

Есте сақтауға тұрарлық екі симптом бар. B-ге жауапсыз жететін SYN — дерлік әрқашан жетіспейтін қайтару маршруты. Аяқталып, содан кейін қайта орнатылатын қосылым әдетте топ, ACL немесе қолданба. Екеуі де endpoint журналында себеп ретінде көрінбейді, сондықтан төрт жазбаны әрқайсысының қасында иесімен ұстаңыз.

Үш триггердің ешқайсысы орындалмаса, маршрутталған жолды аяқтаңыз және сол төрт жазбаны жазыңыз. Біреуі орындалса, bastion-ды тек сол шекара үшін ұстаңыз және endpoint маршрутын алдында сессия қажет етпейтін қызметтерге қалдырыңыз.

Қатысты мақалалар