O‘tgan hafta dig +short sizga AWS Client VPN profilingizdagi yakuniy nuqta nomi uchun bitta manzil berdi va tunnel ulandi. Bu hafta o‘sha profil noutbukuingizda 'Connecting' holatida turibdi, hamkasbingizning tegilmagan nusxasi esa hali ishlayapti. Hech narsa bloklanmadi va sertifikat muddati tugamadi. Kimdir yakuniy nuqtaning xost nomini o‘sha hal qilingan manzil bilan almashtirdi va xizmat endi u yerda javob bermaydi. Eksport qilingan nom — bu o‘zgarishga bardosh berish uchun qurilgan qism.

Profilingizdagi nom so‘raladigan nom bo‘lmasligi mumkin

Client VPN’dan eksport qilingan profillarda odatda remote-random-hostname bo‘ladi. Bu parametr yoqilganda klient bir martalik yorliq yaratadi, uni nuqta bilan yakuniy nuqta nomiga qo‘shadi va birlashgan nomni hal qiladi. Yakuniy nuqta zonasidagi wildcard yozuvi har qanday yorliqqa javob beradi, shuning uchun o‘ylab topilgan prefiks ham hal qilinadi va so‘rovni qo‘lda takrorlashga uringanda bu hiyla ko‘rinmay qoladi.

Shuning uchun yakuniy nuqta nomini terminalga qo‘yib javob olganingizda, klient ulanish paytida ishlatadigan nomdan boshqa nomni hal qildingiz. Bu nomuvofiqlik profilda tuzatiladigan nuqson emas. Yorliq ataylab qayta yaratiladi: parametr keshlarga eski javobni saqlashga yo‘l qo‘ymaydi va u hech qachon mashinangiz yoki sessiyangizni aniqlamaydi.

Klient parametrni butunlay e’tiborsiz qoldiradigan muvofiqlik holatiga duch keldim. AWS yechimni hujjatlashtiradi: haqiqiy yakuniy nuqta nomini saqlang va oldiga tasodifiy satr hamda nuqta qo‘shing, uni yopishtiriladigan qiymat emas, nomlash namunasi deb biling. Buni eski klientga qo‘llash o‘rinli; prefiksli satrni yakuniy nuqta sifatida qattiq kodlash unday emas.

Nega saqlangan javob to‘g‘ri qola olmaydi

Client VPN yakuniy nuqta manzillari AWS tomonidan boshqariladi va vaqt o‘tishi bilan o‘zgaradi, buni eng yaxshi amaliyotlar hujjati ochiq aytadi. Qo‘lga olingan javob bitta hal qilishning suratidir. Uni qattiq kodlaydigan profil xizmat ko‘chishi bilan foydalanishdan chiqarilgan xostga qaratilgan profilga aylanadi, va nosozlik kamdan-kam DNS kabi ko‘rinadi: ulanish vaqti tugashi yoki qotib qolgan handshake olasiz, shuning uchun odamlar marshrutlash va sertifikatlar ortidan quvadi.

/etc/hosts dagi xuddi shu javob xuddi shu muddatni qo‘shimcha muammo bilan meros oladi. hosts yozuvi qayta yuklash, qayta eksport va 'klientni qayta o‘rnatish' tuzatishlaridan omon qoladi, shuning uchun manzil har ko‘chganida nosozlik qaytadi. Men bittasi haftalab zararsiz yotganini, keyin uni ko‘tarib yurgan har bir mashinani ishdan chiqarganini ko‘rdim, yangi o‘rnatishlar esa normal ulanayotgan edi. Bir xil hisobda bir guruh muvaffaqiyatsiz, boshqasi yaxshi bo‘lishi — bu bo‘linish siz oladigan eng arzon ishoradir.

Tasodifiylik doirasini to‘g‘ri belgilang. U har bir ulanish urinishida sodir bo‘ladi. O‘rnatilgan tunnel o‘z yakuniy nuqtasini qayta hal qilmaydi, sessiya o‘rtasida serverni almashtirmaydi va alohida ilova so‘rovlari har biri yangi VPN xost tanlamaydi. Faqat keyingi urinish qayta hal qiladi, shuning uchun butun tushdan keyin ishlagan sessiya ertangi tong haqida hech narsa demaydi.

Tunnel ko‘tarilganda xizmat nimani tekshiradi

Client VPN ulangan manzilingiz yakuniy nuqtaning DNS nomi uchun hal qilingan manzilga mos kelishini talab qiladi. Shu bitta talab bog‘liq bo‘lmagandek ko‘rinadigan bir necha nosozlikni tushuntiradi: boshqa joyga ishora qiluvchi maxsus DNS yozuvi, haqiqiy yakuniy nuqta manziliga yo‘naltiruvchi maxsus frontend va xom manzilga qayta yozilgan profil. AWS maxsus yozuv va yo‘naltirish kombinatsiyasini yangi AWS klientlari bilan nosozlik sifatida hujjatlashtiradi. Tekshiruv tor; bu har bir taxallus taqiqlangan degan hukm emas.

Bu VPN protokollari haqidagi umumiy qoida ham emas. Raqamli remote oddiy OpenVPN joylashtirishida to‘liq amal qiladi va ko‘pchiligi shunday ishlaydi. Cheklov boshqariladigan tuzilmadan keladi, uning ostidagi protokoldan emas.

Bu sertifikat tekshiruvini yumshatishni noto‘g‘ri refleksga aylantiradi. Agar manzil almashgandan keyin profil ishlamasa, serverni tekshirishni o‘chirish yechimni yoki manzil mosligi talabini tuzatish o‘rniga xatoni ko‘chiradi va hamma narsaga ishonadigan klient qoldiradi. Eksport qilingan CA, serverni tekshirish va o‘zaro autentifikatsiya sozlamalarini kelgan holatida saqlang.

Ruxsat ro‘yxatlari, chiqish va shaxsiy DNS — uch alohida muammo

Noutbuk ulanishidan oldin manzilga ruxsat berishi kerak bo‘lgan firewall qoidasi tashqi tinglovchiga tegishli. Tarmoq egasiga yakuniy nuqta nomi, transport va sozlangan portni bering, so‘ngra ularning nazorati xizmatning DNS xatti-harakatini kuzata oladimi, deb so‘rang. Bitta qo‘lga olingan manzilni saqlaydigan qoida yozilmagan muddatga ega suratdir. Agar nazorat faqat o‘zgarmas manzillarni qabul qilsa, javobni jimgina qattiq kodlash o‘rniga joriy etishdan oldin shu bo‘shliqni yoping.

Tunnel ko‘tarilgandan keyin qilinadigan so‘rovlar uchun barqaror manba manzili kerak bo‘lgan hamkorning boshqa talabi bor: chiqish. Veb-sayt ko‘radigan narsa ilova marshruti va bo‘lingan tunnel siyosatiga bog‘liq, klient ulangan manzilga emas. Bo‘lingan tunnel trafigi AWSga umuman tegmasligi mumkin.

Tunnel ichidagi shaxsiy DNS uchinchi qatlam. Klientlarga beriladigan hal qiluvchi ulanishdan keyin ichki nomlarga javob beradi; tunnel paydo bo‘lmaguncha ommaviy yakuniy nuqtani hal qila olmaydi. Yakuniy nuqtani hal qilish nosozligi va ichki ilovani hal qilish nosozligi turli bosqichlarda sodir bo‘ladi, ularni aralashtirish sizni noto‘g‘ri jurnalga yuboradi.

Manzil oilasi ham xuddi shu ro‘yxatga kiradi. IPv4 javobi IPv6 yoki ikki qatlamli yakuniy nuqtaning ruxsat etilgan yo‘li haqida hech narsa demaydi, shuning uchun bir oilada olingan surat boshqasi uchun dalil emas.

Hech narsani qotirmasdan ulanishni tekshiring

Profilni eksport qilingan holatida boshlang va u aslida nima talab qilishini o‘qing:

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

So‘ngra uchta narsani solishtiring: profildagi yakuniy nuqta nomi, klient yangi urinish uchun bildirgan manzil va nom hozir nimaga hal qilinadi. Hal qilinadigan nom faqat yozuv javob berishini isbotlaydi; transport va autentifikatsiya alohida, yakuniy nuqta pingga javob berishi shart emas. O‘rta band uchun yagona manba — klientning o‘z jurnali, shuning uchun uni urinish paytida yozib oling, keyin emas.

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

Bugun javob beradigan manzil bugun haqidagi dalil; nom — xizmat haqiqiy saqlaydigan narsa. Kuzatuvni yozing, uni yakuniy nuqta egasiga yuboring va profilni nomga qaratilgan holda qoldiring.

Ikki odatdan voz keching: qotib qolgan handshake’dan o‘tish uchun sertifikat tekshiruvlarini o‘chirish va bittasi yopishadi deb yakuniy nuqta nomi oldiga yorliqlar uyish. Yorliq wildcard yozuvi orqali hal qilinadi yoki muammo boshqa joyda. To‘g‘ri sozlangan profil baribir ishlamasa, uzunroq xost nomini emas, aniq so‘rov va ulanish hodisasini yuboring.

Yopishdan oldin: profilda hali eksport qilingan yakuniy nuqta nomi bor, hech qanday hosts fayli manzilni qotirmaydi, klient jurnalidagi remote joriy hal qilishga mos keladi va firewall qoidasi manzilni emas, yakuniy nuqtani nomlaydi. Bu ham keyingi odamga topshiriladigan holat.

O'xshash maqolalar