PiVPN profilingizdan aslida qaysi OpenVPN nusxasi foydalanmoqda?
PiVPN yordamchisi fayllarni yozadi va chiqadi. Tunnelni qayta qurishdan oldin systemd birligini, yuklangan konfiguratsiya zanjirini va to'g'ri jurnalni kuzatib boring.
PiVPN server konfiguratsiyasi va mijoz profili yozadi, so'ng chiqadi; u hech qachon trafikingizni tashuvchi jarayonga aylanmaydi. Shuning uchun muvaffaqiyatsiz qo'l siqish, noto'g'ri so'nggi nuqtaga qo'ng'iroq qiladigan mijoz yoki qayta yuklashdan keyin noto'g'ri qaytadigan xizmat o'rnatuvchi menyularidan tushuntirib bo'lmaydi. Bu belgilar hozir ishlab turgan OpenVPN demoniga, u haqiqatan yuklagan konfiguratsiyaga va u ko'rsatilgan jurnalga tegishli. To'rtta faqat-o'qish buyrug'i buni odatda hal qiladi va ularning hech biri sertifikatlaringiz yoki kalitlaringizni o'zgartirmaydi.
Yordamchi va demon turli obyektlar
Chalkashlikni tushuntirish oson: bitta katalogda yordamchi yaratgan fayl, demon o'qiydigan fayl va ba'zan ikkalasining eski nusxasi bo'ladi. Yordamchi bu tayyorlash skripti. U paketlarni o'rnatadi, birlik fayllarini yozadi va mijoz profilini chop etadi, so'ng ishi tugaydi. Qolgan narsa xizmat menejeridagi yozuv va buyruq satri.
systemd xostida katalog ro'yxatidan emas, faol birlikdan boshlang. Nomi qadoqlashga bog'liq: Debian va Raspberry Pi OS tasvirlari odatda shablon nusxasini taklif qiladi, masalan openvpn-server@server, eski o'rnatishlar esa openvpn@server dan foydalanadi. Fayl nomidan taxmin qilish o'rniga menejerdan qaysi biri ishlayotganini so'rang.
systemctl list-units --type=service --all | grep -i openvpn
systemctl cat openvpn-server@server
O'qing ExecStart= shu chiqishdan. U bajariladigan faylni va menejer haqiqatan ishga tushiradigan parametrlarni, jumladan har qanday --config yo'lni nomlaydi; yonida yotgan va hech qanday buyruq havola qilmaydigan konfiguratsiya fayli ishlab turgan tunnelning qismi emas.
Demon hal qilgan konfiguratsiya zanjirini kuzatib boring
OpenVPN sozlamalar uchun katalogni skanlamaydi. U --config bilan berilgan faylni o'qiydi, ichidagi har qanday config direktivaga amal qiladi va keyin buyruq satri parametrlarini qo'llaydi. Qo'llanma 2.6 shu tartibni tavsiflaydi va ikki fayl port, qurilma yoki shifr bo'yicha kelishmasa, bu muhim.
Avval haqiqiy chaqiruvni chiqaring, keyin identifikatsiya va yetib borishni belgilaydigan direktivalarga qarang. Ikkala buyruq ham faqat-o'qish va tirik serverda xavfsiz, garchi ikkinchisi ochiq biletda xohlamasligingiz mumkin bo'lgan yo'llarni chop etadi.
systemctl show -p ExecStart --value openvpn-server@server
grep -E '^(config|dev|proto|port|local|log|log-append|status|ca|cert|key|tls-auth|tls-crypt)' /etc/openvpn/server/server.conf
Uy katalogidagi .ovpn fayl mijoz artefakti. Server demoni uni hech qachon o'qimaydi, shuning uchun server tomonidagi qo'l siqish nosozligini tuzatish uchun bu faylni tahrirlash hech narsa bermaydi.
Qo'shishlar boshqa tuzoq. Bitta config satri ikkinchi faylni tortadi, uning parametrlari shu joyda qayta ishlanadi, shuning uchun keyinroq keladigan bitta qiymatli direktiva asosiy fayl aytayotgandek ko'rinadigan narsani bekor qilishi mumkin. Ko'rinadigan fayl to'g'ri ko'rinsa-da demon baribir boshqacha yo'l tutsa, biror narsani o'zgartirishdan oldin qo'shilgan faylni o'qing.
Jurnalni eslab qolgan xatoga emas, jarayonga moslang
Ikki jurnal manzili keng tarqalgan va ulardan faqat bittasi journal. log-append o'rnatilganda demon o'sha faylga yozadi va journal ishga tushish satrlaridan boshqa oz narsa saqlaydi. Usiz journalctl voqealar manbai hisoblanadi.
journalctl -u openvpn-server@server -n 80 --no-pager
Bitta ulanish urinishini bitta vaqt oynasi bilan bog'lang. Mijozning so'nggi nuqtasini yozib oling, keyin o'sha soniyalardagi server voqealarini o'qing. Sertifikat almashinuviga hech qachon yetmaydigan TLS qo'l siqish yetib borish yoki protokol nomuvofiqligiga ishora qiladi, autentifikatsiya rad etilishi esa tunnel parametrlari allaqachon kelishilgandan keyin keladi.
Eski jurnal yozuvi besh daqiqa oldin yuklab olgan profilingiz haqida hech narsani isbotlamaydi. Mijoz faylini qayta yarating, bir marta ulanib, faqat shu urinish davomida paydo bo'lgan satrlarni o'qing.
Oxirgi umumiy xato o'rniga birinchi aniq nosozlikni yozib oling. Bind xatosi, javobsiz tashqi almashinuv, sertifikat rad etilishi va hisob rad etilishi har biri sizni boshqa qatlamga yuboradi va oxiridagi taym-aut ko'pincha yuqoridagi foydali voqeani yashiradi.
Tunnelni qayta qurish diagnostika qadami emas
Vasvasaga soladigan qisqa yo'l ikkinchi, soddaroq tunnel qurishdir: statik kalit, sertifikatlar yo'q, qo'shimcha autentifikatsiya yo'q. U ko'pincha ulanadi va faqat ikki xost o'rtasida UDP yoki TCP o'tkazish mumkinligini isbotlaydi. Sertifikat bilan autentifikatsiya qilingan joylashtirish nima uchun muvaffaqiyatsiz bo'lishi haqida hech narsa demaydi va saqlash so'ralgan xavfsizlik modelini jimgina almashtiradi.
Xuddi shu tls-auth yoki tls-crypt ni o'chirish, verify-x509-name ni yumshatish yoki yashil holat uchun ikkinchi omildan voz kechishga ham tegishli. Tekshiruv olib tashlangani uchun ulanadigan tunnel boshqa tizim, tuzatilgani emas.
Jurnal ko'rsatgan qatlamda bitta cheklangan o'zgartirish kiritib, o'sha birlikni qayta ishga tushiring va bitta ulanish urinishini takrorlang. Bu taqqoslashni halol saqlaydi va qaytarish mumkin bo'lgan o'zgartirish qoldiradi.
Keyingi odamga nima topshirish kerak
To'rtta faktni hali qo'lingizda bo'lganda yozib oling: OpenVPN versiyasi openvpn --version dan, faol birlik, qo'shishlari bilan konfiguratsiya zanjiri va bitta urinishni qamrab oluvchi jurnal oynasi. Shu to'rttasi noaniq shikoyatni takrorlanadigan ishga aylantiradi.
Bo'lishishdan oldin maxfiy ma'lumotlarni yashiring. Shaxsiy kalitlar, auth-user-pass fayllar, statik kalit materiali va to'liq mijoz to'plamlari biletga tegishli emas; parametr nomlari va zanjir shakli odatda ikkinchi ko'z juftligi uchun yetarli.
Agar zanjir butun bo'lsa va jurnal hali ham tarmoqqa ishora qilsa, keyingi qadam mijoz va server o'rtasidagi yo'l, boshqa o'rnatish emas. Bu yordamchi hech qachon egalik qilmagan hikoyaning bir qismi.