OpenVPN 3 Linux: orqaga qaytarishdan oldin D-Bus xatosini o'qing
Beshta xizmat, bitta old qism. D-Bus xatosini rad etgan komponentga bog'lang, sessiya bor-yo'qligini tekshiring, so'ng o'sha chegarada tuzating.
OpenVPN 3 Linux nosozliklari notanish nom biriktirilgan D-Bus usul xatosi sifatida keladi va vasvasa paket versiyasini pasaytirib umid qilishdir. Mijoz bitta dastur emas: buyruq qatori old qismi profillar, sessiyalar, VPN dvigateli va imtiyozli tarmoq o'zgarishlariga ega xizmatlar bilan avtobus orqali gaplashadi. Bu beshtadan qaysi biri muvaffaqiyatsiz chaqiruvga ega ekanini aniqlash diagnostikaning katta qismidir va orqaga qaytarish o'rniga bitta buyruqqa tushadi. Keyingi - nosozliklar odatda ko'rinadigan tartibda, o'sha qaror.
Bitta buyruq ortidagi beshta egasi
Beshta jarayon muhim va har birining o'z avtobus nomi bor: buyrug'ingizni qabul qiluvchi old qism, profillarni va ularning kirish siyosatini saqlovchi konfiguratsiya menejeri, sessiya umriga ega sessiya menejeri, ulanishni OpenVPN 3 Core Engine orqali bajaruvchi orqa qism va interfeys, marshrutlar hamda DNS sozlamalarini o'rnatuvchi tarmoq konfiguratsiyasi xizmati. Konfiguratsiya obyektini nomlovchi xato shuning uchun orqa qism xatosi emas va boshlanmaydigan orqa qism autentifikatsiya nosozligi emas. Xabarni o'sha satrlardan biriga joylashtirish biror narsa o'zgartirilishidan oldin bo'lishi kerak, chunki har bir keyingi qadam qaysi satr to'g'ri ekaniga bog'liq. Satrni taxmin qilish qisqa tuzatishning paketlar bilan o'tadigan tushlikka aylanish usulidir.
Boshqa narsani so'rashdan oldin tizim avtobusidan qaysi xizmatlar borligini so'rang, so'ng o'rnatilgan qismlar bir versiyada kelishganini tasdiqlang. OpenVPN 3 Linux bu xizmatlarni tizim birliklari sifatida ro'yxatga oladi, ya'ni so'raladigan avtobus tizim avtobusidir, versiya so'rovi ma'muriy vakolat talab qiladi va --user bilan tuzilgan ro'yxat birliklar hech qachon ko'rinmaydigan kirish sessiyangizni o'qiydi. Xizmatlar talab bo'yicha faollashadi va ba'zilari bo'sh turganda chiqadi, ya'ni birinchi so'rovingizdan oldin yo'q xizmat shunchaki hali hech narsa uchun so'ralmagan. Quyidagi uchta buyruq VPN sessiyasini ochmasdan mavjudlik, versiya va birlik holatiga javob beradi.
sudo busctl list | grep -i openvpn
sudo openvpn3-admin version --services
systemctl list-units 'openvpn3*'Har bir ro'yxat aslida nimani isbotlaydi
Mijozning o'z ko'rinishlari mavjud eng arzon dalildir va har biri ko'ringanidan kamroq narsani isbotlaydi. Konfiguratsiya ro'yxatidagi profil profil import qilinganini ko'rsatadi va kimdir u bilan ulanishi mumkinmi degani haqida hech narsa demaydi. Sessiya ro'yxatidagi sessiya sessiya obyekti mavjudligini ko'rsatadi va masofaviy autentifikatsiya tugaganmi degani haqida hech narsa demaydi.
openvpn3 configs-list
openvpn3 sessions-listBu chiqishlardagi obyekt yo'llari avtobusda boshqariladigan obyektlarni ko'rsatadi, fayllarni emas, shuning uchun ularni tahrirlab bo'lmaydi va avval yozib olingan yo'l o'sha sessiya uzilgan paytda eskiradi. Eslatmalaringizdan birini qayta ishlatish VPN bilan hech qanday aloqasi bo'lmagan "no such object" xatolarini keltirib chiqaradi. Quyidagi bosqich jadvali ulanishning har bir qadami nimani qurayotganini nimani ochiq qoldirishidan ajratadi va orqaga qaytarish qarori aynan shu farqqa tayanadi. Dalilingizga mos satrni o'qing, so'ng xato matnini yana o'qing.
| Stage | What exists | What proves it | What it does not prove |
|---|---|---|---|
| Profile imported | A configuration object held by the configuration manager | The profile is listed by the client | That the profile owner permits a connection |
| Session requested | A session object held by the session manager | The session appears in the session list | That the remote side accepted the credentials |
| Connect dispatched | An asynchronous attempt on the VPN backend | Status changes arrive for that session | That an interface was configured |
| Tunnel configured | An interface, routes and DNS settings | The network service reports success and routes appear | That traffic reaches the peer |
Ulanish chaqiruvi tunnel mavjud bo'lishidan oldin qaytadi
Ulanish chaqiruvi sizga kuzatiladigan sessiya beradi va qaytadi, shuning uchun muvaffaqiyatli ko'ringan chaqiruvdan keyin sukunat kelishi qarama-qarshilik emas, oddiy oraliq holatdir. Old qism baribir holat o'zgarishlarini kuzatishi va har qanday o'zaro ta'sir so'roviga javob berishi kerak. Ishonch ma'lumoti talab qiladigan va javob olmaydigan profil xuddi tiqilib qolgan orqa qismga o'xshaydigan holatda kutadi. Bu kutish holati tan olinishga loyiq, chunki u odamlarni noto'g'ri komponentga yuboradi.
Urinish davom etayotganda sessiya ro'yxatini va old qismning o'z jurnalini o'sha profil uchun kuzatib boring. Boshlang'ich holatidan hech chiqmaydigan sessiya to'xtagan komponentni nomlaydi va jurnal uni odatda birinchi bir necha satrda nomlaydi. Profil nomini qo'lingizda tuting, chunki jurnal buyrug'i sessiya yo'lini emas, profilni oladi, bu ham yo'lni qayta ishlatish o'rniga ro'yxatni qayta o'qish uchun bir sababdir.
openvpn3 sessions-list
openvpn3 log --config <profile> --level 6Bitta komponentning jurnalini sessiya ochmasdan o'qish
Old qism foydali hech narsa bildirmasa, yangi ulanish boshlash o'rniga nosozlikni jurnalga yozgan komponentga boring. Sozlangan systemd-journald yozuvchisi bilan ma'muriyatchining cheklangan jurnal ko'rinishi bitta komponent hodisalarini avtobus siyosatiga tegmasdan va sessiya ochmasdan o'qiydi, bu muhim, chunki o'lchayotgan tizimini o'zgartiradigan diagnostika juda kam narsani isbotlaydi. Syslog tegi bo'yicha emas, birlik bo'yicha filtrlang: alohida xizmat birliklari umumiy identifikatorga kafolat bermaydi, shuning uchun teg so'rovi bo'sh sahifa qaytarishi mumkin, holbuki birlikning o'zi nosozlikni yozib olgan.
Kimdandir yordam so'rashdan oldin to'rt maydonni yozib oling: xatoning to'liq nomi, tegishli xizmat va obyekt, vaqt tamg'asi va o'rnatilgan paket versiyalari. Bularga xizmatchi muhtoj va hech biri profil yoki ishonch ma'lumotini chiptaga yopishtirishni talab qilmaydi. Xatoni jim qilish uchun avtobus kirish siyosatini kengaytirish diagnostika emas, u komponentni siz uchun nomlagan chegarani o'chiradi. Profillarning shaxsiy mazmuni ishonch ma'lumotlari bilan bir xil sababga ko'ra umumiy hisobotlardan tashqarida qoladi.
journalctl -u 'openvpn3-service-*' -n 50 --no-pager
openvpn3-admin journal --service <name>Rad etgan chegarani tuzatish
Xaritaning har bir satrining o'z tuzatishi bor va satrlar bir-birini almashtirmaydi. Profilda rad etilgan amal siyosat va egalik masalasidir, holbuki faollashmaydigan orqa qism xizmatlar va paketlash masalasidir. Autentifikatsiyani rad etuvchi server ikkalasi ham emas, shuning uchun takroriy parol o'zgarishlari mahalliy faollashtirish muammosini tuzata olmaydi. Noto'g'ri tuzatishni tanlash siyosat muammosining qayta o'rnatishga aylanish usulidir.
Paket o'zgarishidan keyin eski ikkilik faylni o'z joyiga nusxalash o'rniga izchil va qo'llab-quvvatlanadigan o'rnatishni tekshiring. Nazorat ostidagi orqaga qaytarish, paketlar mos bo'lib qolsa va qo'llab-quvvatlanadigan xizmat ko'rsatishga qaytish yo'li mavjud bo'lsa, tasdiqlangan regressiyaga qonuniy javobdir. Bu yo'lni xizmat ishga tushishni to'xtatmasidan oldin quring, keyin emas.
Boshqa platforma bir xil asosiy VPN kutubxonasini Linux avtobus xizmatlarini baham ko'rmasdan baham ko'rishi mumkin, shuning uchun Windows'da o'xshash ko'ringan nosozlik bu haqda hech narsa demaydi. D-Bus umumiy ko'rinishi konfiguratsiyalar va sessiyalar uchun taqdim etilgan obyekt yo'llarini hujjatlashtiradi va bu diagnostika tayanadigan arxitektura qismi aynan shudir. Uni bir marta o'qing va keyingi xato allaqachon unga bog'langan komponent bilan keladi.