Повремен приступ преко AWS Client VPN-а: проверите сваку повезану подмрежу
Неке сесије AWS Client VPN-а стижу до VPC-а апликације, а друге истичу. Прво упоредите руте крајње тачке са табелом рута VPC-а сваке асоцијације.
Корисник се повеже, отвори интерну апликацију и добије одговор; колега на истој крајњој тачки добије истек времена са идентичног лаптопа на истој Wi-Fi мрежи. Тај образац је потпис крајње тачке client VPN-а са више од једне повезане подмреже, где путање нису еквивалентне. Пролазим кроз ово од конзоле ка споља, јер два таба одлучују да ли остатак истраге вреди. Ништа у конфигурацији клијента то не објашњава.
Почните од крајње тачке и наведите асоцијације
У конзоли VPC отворите Client VPN endpoints, изаберите крајњу тачку и прочитајте таб Associations. Свака асоцијација је подмрежа у зони доступности, а клијент слеће на ону коју сервис изабере када се веза успостави. Забележите ID-ове подмрежа и табелу рута коју свака заиста користи, јер су те две листе поређење које ћете управо направити.
Ако крајња тачка показује само једну асоцијацију, ова теорија је погрешна и клијент је бољи осумњичени.
Упоредите табелу рута крајње тачке са сваком асоцијацијом
Отворите таб Route table на истој крајњој тачки. Сваки одредишни CIDR тамо има циљ, а код client VPN-а циљ је асоцијација, а не пролаз. AWS захтева унос одредишта за сваку повезану подмрежу, па рута која циља само једну од њих чини приступ зависним од тога где је сесија слетела. Проверите одредиште које вам је заиста важно, затим његово правило ауторизације, јер рута даје путању, а правило одлучује коме је дозвољено да је користи.
Када оба слоја унесете у табелу, квар је тешко превидети.
| Associated subnet | Endpoint route to 10.200.0.0/16 | VPC route in that subnet |
|---|---|---|
| subnet-aaa | Targets the association | 10.200.0.0/16 to pcx-example |
| subnet-bbb | Targets the association | No matching entry |
Други ред је цео баг у већини тикета. Рута крајње тачке постоји, па нико не гледа даље, и пакет умире један скок касније унутар VPC-а.
Пратите сваку подмрежу у њену ефективну табелу рута
Подмрежа без изричитог придруживања табели рута наслеђује главну табелу VPC-а. Читајте табелу која је заиста на снази, а не ону чије име изгледа исправно, и упоредите одредиште и циљ уместо ознаке у реду.
AWS водич за повремени приступ описује то као покривеност рутама кроз асоцијације, што је исправан модел. Крајња тачка доводи пакет до подмреже, а табела те подмреже још увек мора да зна где се налази мрежа апликације.
Исправите ред који недостаје у табели која га поседује. Копирање целе табеле рута са радне подмреже копира и одлуке о интернету, уређајима и изолацији које никада нису биле намењене овој, а та размена је обично гора од прекида са којим сте почели.
Проверите правила ауторизације, затим путању назад
Правила ауторизације важе по одредишту и по групи и оцењују се одвојено од рута. Одредиште са рутама свуда али без правила за корисникову групу понаша се као црна рупа са табелом рута која изгледа здраво.
Повратна путања заслужује једнаку пажњу. Peering веза треба руту у VPC-у апликације која показује назад на CIDR клијента, правила безбедносних група која дозвољавају саобраћај на оба краја и мрежне ACL-ове који га не одбацују. Једносмерна доступност, где ping ради а TCP руковање не, обично указује на ACL или безбедносну групу, а не на VPN.
Сопствене безбедносне групе крајње тачке налазе се на еластичним мрежним интерфејсима асоцијације, па правило које дозвољава порт апликације са CIDR-а клијента мора бити придружено асоцијацији, а не само инстанци.
Проверите поновним повезивањем, а не једним срећним захтевом
Уз split tunnel, руте крајње тачке шаљу се када се веза успостави, па измењени скуп рута никада не стиже до клијента који остане повезан. Прекините везу и поново се повежите кроз подржани клијент, затим потврдите да су нове руте присутне на машини.
На крају, повежите записник веза са адресом коју је клијент добио и поновите тест довољно пута да погодите више од једне асоцијације. Један успешан захтев након поправке доказује да једна путања ради, а тикет је био о другој.