Jurnalda P_CONTROL_HARD_RESET_CLIENT_V2: bu xatomi?
hard-reset opkodi sessiya ochadi; bu nosozlik emas. Sizni haqiqatan to‘xtatgan sertifikat, hisob ma’lumotlari yoki marshrutlash xatosini topish uchun o‘qishda davom eting.
Bu satr har bir necha soniyada takrorlanadi va hamma narsaning sababi kabi ko‘rinadi: control hard reset nomli paket hech qayerga yetmaydigan mijozdan keladi. Bu xato emas. Bu yangi sessiyaning birinchi xabari, takrorlanish esa keyinchalik boshqa narsa muvaffaqiyatsizlikka uchrayotganining alomatidir. Yorliq aytgan narsani ulanish keyin nima qilganidan ajratish — butun tashxis.
Opkod protokoldagi o‘rinni nomlaydi
OpenVPN bir necha turdagi paketni bitta soket ustida multiplekslaydi va opkod qabul qiluvchiga qaysi turni ushlab turganini aytadi. hard-reset paketlari sessiya ochadi, boshqaruv paketlari qo‘l berish materialini olib yuradi, tasdiqlar qabulni tasdiqlaydi, ma’lumot paketlari esa tunnel yukini olib yuradi. Birinchi baytni o‘qish paketning bu almashinuvdagi o‘rnini ko‘rsatadi va manba kodidagi paket ta’riflari har bir oilani aniq nomlaydi.
Bu faqat shuni aytadi. Mijozning boshlang‘ich qayta sozlashi deb belgilangan paket, paket kuzatuv nuqtangizga yetganini va hamkor sessiya boshlamoqchi ekanini isbotlaydi. Mijoz sertifikatingizga ishonganini, uning hisob ma’lumotlari qabul qilinganini yoki ma’lumot kanali qachonlardir yaroqli bo‘lganini isbotlamaydi.
V2 qo‘shimchasi o‘sha paketlar oilasi uchun protokol avlodi belgisi, mahsulot versiyasi ham emas va siz o‘rnatadigan sozlama ham emas. Nomda tunnelni qayta sozlash, xizmatni qayta ishga tushirish yoki keshni tozalashga aloqador hech narsa yo‘q.
O‘sha paytda mijoz aslida nima qilyapti
Mijoz sessiya identifikatorini ochadi, unga ikkala tomon keyingi boshqaruv trafigini bog‘laydi. Boshqaruv kanali himoyasi sozlangan bo‘lsa, o‘sha birinchi paket allaqachon HMACni olib keladi, bu qabul qiluvchiga almashinuvning qolgan qismiga kuch sarflash arziydimi-yo‘qmi hal qilish imkonini beradi. Uni tekshira olmaydigan qabul qiluvchi paketni jimgina tashlaydi, shuning uchun noto‘g‘ri umumiy kalit bo‘shliqqa gapirgan mijozga o‘xshaydi.
Foydalanuvchiga ko‘rinadigan hech narsa hali bo‘lmadi. Hech bir sertifikat tekshirilmadi, hech qanday foydalanuvchi nomi taklif qilinmadi va hech qanday tunnel manzili berilmadi. Qayta sozlash qo‘l berishning kirish qismi, shuning uchun bu paytda ulanish haqidagi har qanday hukm erta.
Bo‘sh qayta ulanish siklida qiziqarli tafsilot — interval. Qat’iy davrda taraqqiyotsiz qayta urinayotgan mijoz odatda ilgarilashdan oldin rad etiladi va sabab paket nomida emas, hamkorning jurnalida.
Qayta sozlashdan keyin haqiqiy nosozlik qayerda yashiringan
Ikkala jurnalni yonma-yon o‘qing va qayta sozlash bo‘lmagan birinchi voqeani toping. Mijozda sertifikat tekshiruvi muvaffaqiyatsizligi aniq sabab bilan xabar qilinadi: muddati o‘tgan sertifikat, nom mos kelmasligi yoki noma’lum beruvchi. Serverda hisob ma’lumotlarini rad etish o‘z sababi bilan autentifikatsiya xatosi sifatida xabar qilinadi. Ikkisi ham serverning yangi urinishlarga takroriy nazaridan ancha aniqroq.
Har bir jurnalni alohida o‘qish o‘rniga bitta urinishni vaqt belgisi bilan moslashtiring, chunki o‘sha xato ikkala joyda ham boshqa so‘zlar va boshqa og‘irlik bilan ko‘rinadi. Taslim bo‘lgan hamkor odatda sababini aytadi.
Agar hech bir tomon rad etishni xabar qilmasa va almashinuv baribir tiqilib qolsa, chegara — yetib borish, ishonch emas. Qaytish yo‘nalishini tashlaydigan xavfsizlik devori, xaritalashi tugaydigan tarmoq manzillarini tarjima qiluvchi qurilma yoki kattaroq qo‘l berish paketlarini o‘ldiradigan MTU muammosi — barchasi hech qanday autentifikatsiya xatosisiz tiqilib qolgan almashinuv yaratadi.
grep -nE 'VERIFY|AUTH_FAILED|TLS Error|SIGUSR1' /var/log/openvpn*.log
Bu izlanish o‘z-o‘zidan tashxis emas, lekin bir qadamda sizni protokol lug‘atidan haqiqiy nosozlik sinfiga o‘tkazadi.
Tekshiruvni o‘chirish nega noto‘g‘ri reaksiya
Qayta sozlash ko‘rina bersa, eng tez ko‘ringan yechim sertifikat tekshiruvini o‘chirish yoki nima bo‘lsa ham ulanishi uchun boshqaruv kanali himoyasidan voz kechishdir. Bu tashxis qilish mumkin bo‘lgan nosozlikni qilib bo‘lmaydiganiga almashtiradi va joylashtirishni rad etish uchun qurilgan hamkorlarni qabul qiladigan holatda qoldiradi.
Buning o‘rniga haqiqatan muvaffaqiyatsiz bo‘lgan chegarani o‘zgartiring. Ishonch muammosi sertifikat organi va unga havola qiladigan profilga tegishli. Vaqt muammosi soatga tegishli. Hisob ma’lumotlari muammosi ularni rad etgan autentifikatsiya orqa qismiga tegishli, yetib bo‘lmaydigan hamkor esa ikki xost orasidagi yo‘lga tegishli.
Opkod qo‘llab-quvvatlash suhbatida bitta narsa uchun foydali: hamkor urinib ko‘rish darajasida ilgarilaganini aytadi. Shundan keyin nima bo‘lgani — bilishingiz kerak bo‘lgan narsa va u birinchi aniq rad etishni qayd etadigan jurnalda yozilgan. O‘sha yerdan boshlang, shunda qayta sozlash satri sababga o‘xshashni to‘xtatib, vaqt belgisiga o‘xshay boshlaydi.