OpenVPN xatosiz ishga tushmayaptimi? journal’ni ko‘ring
Ubuntu’da jim chiqish odatda xabar boshqa joyga ketganini yoki unit umuman ishlamaganini bildiradi. Avval instance nomi, journal va ikkilik faylni tekshiring.
Buyruq qaytadi, xizmat muvaffaqiyatsiz ko‘rinadi va terminalga tushuntirishga o‘xshash hech narsa yetib kelmaydi. O‘sha sukunat odamlar «OpenVPN ishga tushmayapti» deb ta’riflaydigan alomatdir va bu dastur hech narsa demasdan o‘lganini deyarli hech qachon bildirmaydi. Bu xabar siz o‘qimagan kanalga ketganini yoki siz ishga tushirgan narsa sozlagan narsangiz bo‘lmaganini bildiradi. Profilni gumondor deb hisoblashni to‘xtatsangiz, ikkala holatni ham bir daqiqadan kamroq vaqt ichida aniqlash mumkin.
Chiqishni to‘rt joy yutadi: unit journal’i, ulanishga ega plugin, tunnelning ikkinchi uchi va siz ishlayapti deb o‘ylagandan boshqa binary. Har birining o‘z tekshiruvi bor.
Sukunat to‘g‘ri kanalni kuzatmaganligingizni bildiradi
Oldingi plandagi chaqiruv terminalingizga chop etadi. Unit journal’ga chop etadi va muvaffaqiyatsiz unit hech narsa yozmasdan turib chiqib ketishi mumkin, agar xatolik uni qanday ishga tushirganlikda bo‘lsa, unga nima aytilganida emas. Bu farq muhim: journal’da yozuv yo‘qligi jarayon hech qachon ishlaganini bildirmaydi, bir yozuv va undan keyin chiqish esa u ishlagan va nimanidir rad etganini bildiradi.
systemctl status openvpn-client@office
journalctl -u openvpn-client@office -b --no-pager
Toza chiqishni signaldan ajratish uchun qo‘shing systemctl show -p Result -p ExecMainStatus openvpn-client@office. Holat 1 va Result=exit-code dasturning qarori; Result=signal yoki taymaut esa buning o‘rniga muhitga ishora qiladi va profilni tahrirlashning hech qanday miqdori buni o‘zgartirmaydi. Biror narsani qayta ishga tushirishdan oldin ikkala qiymatni yozib qo‘ying, chunki qayta ishga tushirish ularni hosil qilgan vaqtinchalik holatni o‘chiradi.
instance nomi yo‘lning bir qismi
Paketlangan shablon unit fayl yo‘lini qabul qilmaydi. U instance nomini qabul qiladi va bu nom profilni topish uchun katalogga qo‘shiladi: office Debian va Ubuntu paketlarida /etc/openvpn/client/office.conf ga hal bo‘ladi. office-v2.conf nomli fayl @office sifatida ishga tushirilsa ham hech qachon o‘qilmaydi va unit jimgina chiqadi, chunki uning nuqtai nazaridan qiladigan ish yo‘q edi. Qidiruv katalogi client va server rejimlarida farq qiladi, shuning uchun shablonni almashtirganda xuddi shu xato butunlay boshqa joyga ishora qiladi.
Bu nomuvofiqlik jimgina muvaffaqiyatsizlikning eng keng tarqalgan manbai va profil yaxshi bo‘lgani uchun profilda ko‘rinmaydi. Haqiqatda nima borligini sanab chiqing va paket kutgan har qanday kengaytma bilan birga ikkala nomni harfma-harf solishtiring.
ls -l /etc/openvpn/client/
systemctl list-units 'openvpn*' --all
Agar unit yoqilgan bo‘lsa, lekin birorta instance ro‘yxatda bo‘lmasa, yoqishning o‘zi keyinchalik nomi o‘zgartirilgan nomga ishora qilishi mumkin. To‘g‘ri instance’ni qayta yoqish odatda yetarli, qolgan eski unit faylini esa keyingi odamni chalg‘itmasligi uchun o‘chirish kerak. Qolgan unit fayli keyinchalik kimgadir bir soatga tushadigan kichik narsa.
Plugin tunnelga ega bo‘lganda, terminal hech narsa ko‘rmaydi
Ish stoli applet’idan boshlangan ulanish NetworkManager’ga tegishli va uning OpenVPN chiqishi siz ochgan biron shell’ga emas, o‘sha xizmatning journal’iga boradi. Client’ni qo‘lda ishga tushirib hech narsa ko‘rmaslik bu tartibda kutilgan holat, chunki qo‘lda ishga tushirilgan jarayon ulanishni ko‘tarib yuruvchi jarayon emas.
Journal’dan unga ega xizmatni toping, keyin tahlilni o‘zingiz o‘qiy oladigan tafsilot darajasida takrorlang. Quyidagi ikkita buyruq bir xil muvaffaqiyatsizlikning turli egalariga qaraydi.
journalctl -b -u NetworkManager --no-pager | grep -i -A3 openvpn
openvpn --config /etc/openvpn/client/office.conf --verb 4 --log /tmp/ovpn.log
Alohida ishga tushirish xabarlarni o‘qish uchun, boshqariladigan ulanishni almashtirish uchun emas, va ikkalasi keyin farqlanadi: DNS integratsiyasi, marshrutlar va umr plugin’ga tegishli. Alohida ishga tushirishda tahlil xatosini tuzatish applet boshqaruvni olgach nomlarni hal qilishni avtomatik tuzatmaydi, shuning uchun ikkala kuzatuvni alohida saqlang.
Ikki binary, bitta PATH
Qo‘lda qurilgan o‘rnatma /usr/local ostida bo‘lsa shell chaqiruvida g‘olib chiqadi, chunki /usr/local/sbin Ubuntu’ning standart PATH’ida /usr/sbin dan oldin keladi. Unit sizning PATH’ingizdan foydalanmaydi; u ExecStart ichida yozilgan mutlaq yo‘lni bajaradi. Shuning uchun terminalingizda ishlaydigan versiya va xizmat sifatida muvaffaqiyatsiz bo‘ladigan versiya haqiqatan ham boshqa dasturlar bo‘lishi mumkin.
Biror narsani qayta qurishdan oldin ikkalasini solishtiring. Uchinchi buyruq bahsni hal qiladi.
command -v openvpn
whereis openvpn
systemctl cat openvpn-client@office | grep ExecStart
Yana bir muhit farqi xuddi shu joyda yashiringan. Paketlangan unit /run ostida systemd u uchun yaratadigan ishlash katalogiga tayanadi; bu sozlamani tashlab ketadigan qo‘lda yozilgan almashtiruvchi unit bitta faylni ham ochmasdan muvaffaqiyatsiz bo‘lishi mumkin va muvaffaqiyatsizlik OpenVPN xabarisiz umumiy rad etishga o‘xshaydi.
Client ayta olmaydigan muvaffaqiyatsizliklar
Ba’zi natijalar uzoq uchida hal qilinadi. HTTP holati bilan javob berib ulanishni yopadigan shlyuz o‘z holati haqida sizga aytdi va keyingi foydali qadam sizning lokal fayllaringiz emas, uning jurnali yoki hisob ma’lumotlari ortidagi akkauntdir. Bu ssenariyda lokal hech narsa buzilmagan va qoplamoq uchun profilni tahrirlash keyingi tashxisni qiyinlashtiradi. Client konfiguratsiyasiga tegishdan oldin o‘sha jurnalni o‘qing.
Yana bir jim holat to‘g‘ri ishlayotgan client. Client rejimidagi tunnel hech qachon portda tinglamaydi, shuning uchun ochiq tinglovchini kutadigan tekshiruv hech narsa xabar qilmaydi va muvaffaqiyatsizlikka o‘xshaydi. Bo‘sh port ro‘yxatidan xulosa chiqarishdan oldin qaysi rejimni ishga tushirganingizni tasdiqlang.
Qatlamlarni tartib bilan ishlang: unit bormi va instance nomi to‘g‘rimi, journal yoki --log fayliga biror narsa yetib keldimi, qaysi binary va profil haqiqatan ishladi, va muvaffaqiyatsizlik lokalmi yoki uzoqmi. Har bir javob bitta qatlamni olib tashlaydi. Profildan boshlash hech qachon ochilmagan bo‘lishi mumkin bo‘lgan faylni qayta yozish demakdir.