Birinchi ishga tushirish /dev/net/tun yoki ochilmaydigan TUN/TAP qurilmasi haqidagi xabar bilan muvaffaqiyatsiz tugaydi. Sertifikatlar hali o'qilmagan, shuning uchun profilda hech narsa aybdor emas. Demon yadrodan bu mehmonda yo'q obyektni so'ramoqda.

Bu obyekt tun moduli taqdim etadigan belgi qurilmasi. Uni yaratishingiz mumkinmi, yadro kimga tegishli ekaniga bog'liq.

Demon yadrodan nima so'raydi

OpenVPN /dev/net/tun ni ochadi va drayverdan interfeys so'raydi. Drayver — tun moduli, qurilma tuguni esa foydalanuvchi fazosi unga yetish uchun ishlatadigan dastasi. Modul yuklanmagan bo'lsa, tugun yo'q bo'lishi yoki ochilish muvaffaqiyatsiz bo'lishi mumkin. Ikkala holat ham server.conf ni tahrirlash bilan tuzatilmaydi.

Bu xatoni avval platforma haqidagi savol sifatida o'qing. Konfiguratsiya xatosi qurilma ochilgandan keyin paydo bo'ladi, undan oldin emas.

VM yoki yadroni bo'lishadigan mehmon

KVM, Xen yoki boshqa to'liq virtual mashinada yadroni o'zingiz boshqarasiz. Modullarni yuklab, tugunni yaratishingiz mumkin. OpenVZ, Virtuozzo yoki LXC uslubidagi konteynerda mehmon xost yadrosini bo'lishadi, shuning uchun uning ichidagi root xost yuklamagan modulni yuklay olmaydi.

Shuning uchun bir xil nosozlikning ikki butunlay boshqa egasi bor. Birinchi holatda uni instans ichidan tuzatishingiz mumkin. Ikkinchisida xostdan yoki provayderdan nimanidir ochishni so'ramoqdassiz.

Qaysi holatda ekaningizni hal qilishdan oldin ls -l /dev/net/tun, lsmod | grep tun va ip -brief link show ni ishga tushiring.

VM'da modulni yuklash vaqtida yuklang

Virtual mashinada modprobe tun odatda qurilma tugunini yaratadi. U paydo bo'lganini tekshiring, so'ng bir marta terilgan buyruqqa tayanmasdan distributiv modul konfiguratsiyasi orqali yuklashni doimiy qiling. Qayta yuklashdan keyin yo'qoladigan tugun keyingi oy xuddi shu tiketga aylanadi.

Yuklagan yadroingizda bu modul umuman bor-yo'qligini ham tekshiring. Qirqilgan vendor yadrosida u bo'lmasligi mumkin.

Tugun bor bo'lsa-yu ochilish hali ham muvaffaqiyatsiz bo'lsa, keyingi gumondorlar — ruxsatlar va qurilmaning major/minor raqamlari. Bular mahalliy tuzatishlar, provayderga so'rov emas.

Konteynerda qurilma xostga tegishli

Konteynerda qurilma va imkoniyat ikki alohida talabdir. Runtime /dev/net/tun ni o'tkazishi kerak, konteynerga esa interfeys yaratish uchun tarmoq imkoniyati kerak. Ikkalasini ham bermaydigan rootless runtime profil qanday yozilganidan qat'i nazar o'sha ochilish xatosini chiqaraveradi. Ko'p OpenVZ xostlari mijoz panelida TUN/TAP almashtirgichini taklif qiladi, uni yoqish va qayta ishga tushirish ko'pincha butun yechim bo'ladi.

Provayderga ikki aniq savol bering: xostda tun moduli yuklanganmi va bu instans ichida qurilma mavjudmi? Noaniq tiket noaniq javob oladi.

Modulni qayta qurish nima uchun kamdan-kam yordam beradi

Mehmon ichida modul qurish kamdan-kam yordam beradi. Kompilyatsiya uchun aynan ishlab turgan yadro konfiguratsiyasi kerak, /proc/config.gz esa ixtiyoriy va minimal obrazlarda ko'pincha yo'q. Ishlaydigan modulni ham konteyner egasi bo'lmagan yadroga kiritsa bo'lmaydi.

Qurilma paydo bo'lgach, xizmatni qayta ishga tushiring va trafikni sinashdan oldin interfeysni tasdiqlang. tun0 ni ko'rish demon qurilmani ochganini ko'rsatadi. Bu hali yo'naltirish, firewall qoidalari yoki mijozlar oladigan marshrutlar haqida hech narsa demaydi.

Bular alohida dalillarga ega alohida savollar. Qurilmaning yo'qligi — oldindan shartning buzilishi; bor bo'lib hech narsa tashimaydigan tunnel — siyosat buzilishi.

O'xshash maqolalar