Өнгөрсөн долоо хоногт dig +short таны AWS Client VPN профайл дахь төгсгөлийн цэгийн нэрэнд нэг хаяг өгсөн бөгөөд туннель холбогдсон. Энэ долоо хоногт мөн профайл таны зөөврийн компьютер дээр 'Connecting' төлөвт зогсож байхад хамт олны хүрээгүй хуулбар хэвээр ажиллаж байна. Юу ч блоклогдоогүй, сертификат ч дуусаагүй. Хэн нэгэн төгсгөлийн цэгийн хост нэрийг тэр шийдэгдсэн хаягаар сольсон бөгөөд үйлчилгээ тэнд хариу өгөхөө больсон. Экспортолсон нэр бол тэр өөрчлөлтийг даван туулахаар бүтээгдсэн хэсэг юм.

Профайл дахь нэр нь асуудаг нэр биш байж болно

Client VPN-ээс экспортолсон профайлууд ихэвчлэн remote-random-hostname агуулдаг. Энэ сонголт асаалттай үед клиент нэг удаагийн шошго үүсгэж, цэгээр төгсгөлийн цэгийн нэртэй холбож, нэгдсэн нэрийг шийддэг. Төгсгөлийн цэгийн бүс дэх wildcard бичлэг дурын шошгонд хариулдаг тул зохиомол угтвар ч шийдэгдэж, асуулгыг гараар давтах гэсэн үед энэ заль мэх харагдахгүй байдаг.

Тиймээс төгсгөлийн цэгийн нэрийг терминалд буулгаж хариу авсан бол та клиент холбогдох үед ашигладаг нэрээс өөр нэрийг шийдсэн байна. Энэ зөрүү нь профайлд засах алдаа биш. Шошго зориуд дахин үүсдэг: сонголт нь кэшүүд хуучирсан хариуг хадгалахаас сэргийлдэг бөгөөд энэ нь таны машиныг эсвэл сессийг хэзээ ч танихгүй.

Клиент сонголтыг бүрэн үл тоомсорлодог нийцлийн тохиолдол надад тохиолдсон. AWS шийдлийг баримтжуулдаг: жинхэнэ төгсгөлийн цэгийн нэрийг үлдээж, өмнө нь санамсаргүй мөр, цэг нэмээрэй, үүнийг буулгах утга биш, нэрлэх загвар гэж үзээрэй. Үүнийг хуучин клиентэд хэрэглэх нь үндэслэлтэй; угтвартай мөрийг төгсгөлийн цэг гэж хатуу кодлох нь тийм биш.

Хадгалсан хариу яагаад зөв хэвээр үлдэж чадахгүй вэ

Client VPN төгсгөлийн цэгийн хаягуудыг AWS удирддаг бөгөөд цаг хугацааны явцад өөрчлөгддөг, үүнийг шилдэг туршлагын баримт бичиг шууд хэлдэг. Барьсан хариу нь нэг шийдлийн агшин зураг юм. Үүнийг хатуу кодлосон профайл үйлчилгээ нүүхэд ашиглалтаас гарсан хост руу чиглэсэн профайл болж, бүтэлгүйтэл нь DNS шиг харагдах нь ховор: холболтын хугацаа дуусах эсвэл гацсан handshake гарч, хүмүүс маршрут болон сертификатын араас гүйдэг.

/etc/hosts дахь ижил хариу ижил хугацааг нэмэлт асуудалтайгаар өвлөнө. hosts бичлэг дахин ачаалах, дахин экспортлох, 'клиентийг дахин суулгах' засваруудыг даван туулдаг тул хаяг нүүх бүрт бүтэлгүйтэл буцаж ирдэг. Нэгийг долоо хоногоор хор хөнөөлгүй хэвтэж байгаад, дараа нь түүнийг зөөж явсан бүх машиныг идэвхгүй болгож, шинэ суулгацууд хэвийн холбогдож байсныг би харсан. Нэг бүлэг бүтэлгүйтэж, нөгөө нь ижил бүртгэл дээр хэвийн байх энэ хуваагдал нь хамгийн хямд сэжүүр юм.

Санамсаргүй болгох хүрээг зөв тодорхойл. Энэ нь холболтын оролдлого бүрт тохиолддог. Тогтсон туннель өөрийн төгсгөлийн цэгийг дахин шийддэггүй, сессийн дунд сервер сольдоггүй, бие даасан програмын хүсэлтүүд тус бүр шинэ VPN хост сонгодоггүй. Зөвхөн дараагийн оролдлого дахин шийддэг тул үдээс хойш бүтэн ажилласан сесс маргааш өглөөний талаар юу ч хэлэхгүй.

Туннель босох үед үйлчилгээ юуг шалгадаг

Client VPN нь таны холбогдсон хаяг төгсгөлийн цэгийн DNS нэрэнд шийдэгдсэн хаягтай таарахыг шаарддаг. Энэ нэг шаардлага холбоогүй мэт санагдах хэд хэдэн бүтэлгүйтлийг тайлбарладаг: өөр газар заасан өөрийн DNS бичлэг, бодит төгсгөлийн цэгийн хаяг руу дамжуулдаг өөрийн frontend, түүхий хаяг руу дахин бичигдсэн профайл. AWS өөрийн бичлэг ба дамжуулалтын хослолыг шинэ AWS клиентүүдтэй бүтэлгүйтэл гэж баримтжуулдаг. Шалгалт нь нарийн; энэ нь бүх нэрийг хориглосон шийдвэр биш.

Энэ нь VPN протоколын тухай ерөнхий дүрэм ч биш. Тоон remote нь ердийн OpenVPN байрлуулалтад бүрэн хүчинтэй бөгөөд олон нь ингэж ажилладаг. Хязгаарлалт нь удирдлагатай зохион байгуулалтаас ирдэг, доорх протоколоос биш.

Энэ нь сертификатын шалгалтыг сулруулахыг буруу хариу үйлдэл болгодог. Хаяг солигдсоны дараа профайл бүтэлгүйтвэл серверийн шалгалтыг унтраах нь шийдэл эсвэл хаягийн тохирлын шаардлагыг засахын оронд алдааг зөөдөг бөгөөд бүх зүйлд итгэх клиентийг үлдээдэг. Экспортолсон CA, серверийн шалгалт, харилцан баталгаажуулалтын тохиргоог ирсэн хэвээр нь хадгал.

Зөвшөөрлийн жагсаалт, гарах урсгал, хувийн DNS нь гурван тусдаа асуудал

Зөөврийн компьютер холбогдохын өмнө очих газрыг зөвшөөрөх ёстой галт ханын дүрэм нь гадаад сонсогчид хамаарна. Сүлжээний эзэмшигчид төгсгөлийн цэгийн нэр, тээвэр, тохируулсан портыг өгөөд, тэдний хяналт үйлчилгээний DNS зан төлөвийг дагаж чадах эсэхийг асуу. Нэг барьсан хаягийг хадгалдаг дүрэм нь бичигдээгүй хугацаатай агшин зураг юм. Хэрэв хяналт зөвхөн өөрчлөгдөхгүй очих газрыг хүлээж авдаг бол нэвтрүүлэхээс өмнө тэр зөрүүг шийд, хариуг чимээгүй хатуу кодлохын оронд.

Туннель боссны дараах хүсэлтүүдэд тогтмол эх хаяг хэрэгтэй түншийн шаардлага өөр: гарах урсгал. Вэб сайтын хардаг зүйл нь програмын маршрут болон хуваагдсан туннелийн бодлогоос хамаардаг, клиентийн холбогдсон хаягаас биш. Хуваагдсан туннелийн урсгал AWS-д огт хүрэхгүй байж болно.

Туннель доторх хувийн DNS нь гурав дахь давхарга. Клиентүүдэд өгсөн шийдэгч холболтын дараа дотоод нэрсэд хариулдаг; туннель бий болохоос өмнө олон нийтийн төгсгөлийн цэгийг шийдэж чадахгүй. Төгсгөлийн цэгийн шийдлийн бүтэлгүйтэл ба дотоод програмын шийдлийн бүтэлгүйтэл өөр үе шатанд тохиолддог бөгөөд тэдгээрийг хольсон нь таныг буруу лог руу хөтөлдөг.

Хаягийн гэр бүл мөн ижил жагсаалтад багтана. IPv4 хариу нь IPv6 эсвэл хос стек төгсгөлийн цэгийн зөвшөөрөгдсөн замын талаар юу ч хэлэхгүй тул нэг гэр бүлд авсан агшин зураг нөгөөгийн нотолгоо болохгүй.

Юуг ч бэхлэхгүйгээр холболтыг шалга

Профайлаас экспортолсон хэвээр нь эхэлж, түүнийг үнэхээр юу шаардаж байгааг унш:

grep -nE '^remote|remote-random-hostname' profile.ovpn
dig +short cvpn-endpoint-ID.prod.clientvpn.REGION.amazonaws.com
ss -tnp | grep -E ':(443|1194)'

Дараа нь гурван зүйлийг харьцуул: профайл дахь төгсгөлийн цэгийн нэр, шинэ оролдлогын тулд клиентийн мэдээлсэн хаяг, нэр яг одоо юу руу шийдэгдэж байгаа. Шийдэгдэх нэр нь бичлэг хариулж байгааг л нотолно; тээвэр ба баталгаажуулалт тусдаа бөгөөд төгсгөлийн цэг ping-д хариулах шаардлагагүй. Дунд зүйлийн цорын ганц эх сурвалж нь клиентийн өөрийн лог тул оролдлогын үеэр бичиж ав, дараа нь биш.

What you seeUsual causeNext check
One machine fails, others connectPinned address or stale hosts entry on that machineDiff its profile and hosts file against a working copy
Everyone fails at once, no config changeThe endpoint address rotatedConfirm the current endpoint configuration with the account owner
Tunnel up, internal names failClient DNS policy, not endpoint resolutionInspect the resolver pushed after connection

Өнөөдөр хариулж буй хаяг өнөөдрийн тухай нотолгоо; нэр бол үйлчилгээ хүчинтэй байлгадаг зүйл. Ажиглалтаа тэмдэглэж, төгсгөлийн цэгийн эзэнд илгээж, профайлыг нэр рүү чиглүүлсэн хэвээр үлдээ.

Орхих хоёр зуршил: гацсан handshake-аас гарахын тулд сертификатын шалгалтыг унтраах, нэг нь наалдана гэж найдаж төгсгөлийн цэгийн нэрийн өмнө шошго овоолох. Шошго wildcard бичлэгээр шийдэгдэнэ, эсвэл асуудал өөр газар байна. Зөв тохируулсан профайл үл хамааран бүтэлгүйтвэл урт хост нэр биш, яг асуулга болон холболтын үйл явдлыг илгээ.

Хаахаас өмнө: профайл экспортолсон төгсгөлийн цэгийн нэрийг хэвээр агуулж, ямар ч hosts файл хаягийг бэхлэхгүй, клиентийн логийн remote нь одоогийн шийдэлтэй таарч, галт ханын дүрэм хаяг биш төгсгөлийн цэгийг нэрлэнэ. Энэ нь дараагийн хүнд хүлээлгэн өгөх төлөв юм.

Холбоотой нийтлэлүүд