Yadro yangilanganidan keyin WireGuard moduli yuklanmayaptimi? Buni tekshiring
Tashqi modul uni yuklaydigan yadro uchun qurilishi kerak, diskdagi eng yangi sarlavha paketi uchun emas. Qayta qurishdan oldin ishlab turgan versiyani tekshiring.
Tunnelingiz kecha ishlayotgan edi, yangilanishdan keyin mashina qayta ishga tushdi va endi interfeys ko'tarilmayapti. WireGuard tashqi modul sifatida quriladigan tizimda odatiy sabab — diskdagi modul hozir ishlab turgan yadro versiyasidan boshqa versiyaga tegishli bo'lishi. Xuddi shu mashinadagi o'xshash nomli sarlavhalar bu moslik haqida hech narsani isbotlamaydi. Buni faqat versiya satri hal qiladi.
Ishlab turgan yoki o'rnatilgan yadro
Yangilanish yangi yadro paketini o'rnatadi va mashina qayta ishga tushmaguncha eskisini diskda qoldiradi. Qayta ishga tushgandan so'ng ishlab turgan versiya o'zgaradi, oldingisiga qarshi qurilgan har qanday modul fayllari hali joyida bo'lsa ham yaroqsiz bo'ladi. Bu farq qayta ishga tushirishdan oldin joyida bo'lgan va keyin buzilgan mashina haqidagi tanish xabarni tushuntiradi, orasida hech qanday konfiguratsiya o'zgarishisiz. Sarlavhalarni qayta o'rnatish ba'zan muammoni hal qilgandek ko'rinib, ba'zan esa ko'rinmasligini ham shu tushuntiradi.
Siz o'rnatayotgan sarlavha paketi haqiqatda yuklangan yadroga emas, eng yangi yadro paketiga mos kelishi mumkin va paket nomida bu holatlarni ajratadigan hech narsa yo'q; buni faqat versiya satri qiladi. Nima o'rnatilganini tekshirishdan oldin nima ishlab turganini tekshiring.
Qayta qurishdan oldin uchta tekshiruv
Birinchi tekshiruv — qaysi yadro ishlab turgani. Ikkinchisi — bu versiya uchun modul bor-yo'qligi va uni topish mumkinmi. Uchinchisi — yadro uni allaqachon yuklaganmi. To'rtinchi savol, ya'ni interfeys yaratish mumkinmi, modulni emas, imtiyozlarni sinaydi, shuning uchun uning o'rni bu ro'yxatda emas, qayta qurishdan keyin.
Quyidagi buyruqlar hech narsani o'zgartirmasdan birinchi uchtasiga javob beradi. Davom etishdan oldin har bir natijani o'qing, chunki har bir javob boshqa tuzatishni istisno qiladi.
uname -r
ls -l /lib/modules/$(uname -r)/build
modinfo wireguard
lsmod | grep wireguard
Agar ikkinchi satr yo'l mavjud emasligini aytsa, ishlab turgan yadro uchun qurish muhiti yo'q va siz kompilyatsiya qilgan hech narsa unga mos kelmaydi. Yo'l bor bo'lsa-da modinfo muvaffaqiyatsiz bo'lsa, modul umuman o'rnatilmagan bo'lishi mumkin, bu amalga oshirishni daraxt ichida taqdim etadigan yadrolar uchun odatiy. modinfo muvaffaqiyatli bo'lib, lsmod hech narsa ko'rsatmasa, modul bor, lekin yuklanmagan, bu qurish emas, yuklash vaqtidagi muammo. Har bir natija sizni boshqa joyga yuboradi, shuning uchun o'qish buyruqlardan muhimroq.
Ishlab turgan versiya uchun quring
Tashqi modul tayyorlangan yadro daraxtiga qarshi kompilyatsiya qilinadi va yadroning tashqi modullar bo'yicha qo'llanmasi eng yuqori versiya raqamiga ega papka emas, ishlab turgan yadroga tegishli qurish papkasidan foydalanishni tavsiflaydi. O'sha qurish papkasi yadro paketi yuritadigan ramziy havola, shuning uchun u hozir yuklangan versiyaning daraxtiga ishora qiladi. Aynan shu bilvositalik mazmun: u aks holda xato qiladigan tanlovni olib tashlaydi. Uni aniq nomlash maqsadni bir ma'noli qiladi.
Daraxt to'liq qurilmagan, faqat tayyorlangan bo'lsa, bitta tafsilot muhim. Tayyorlash maqsadi ba'zi tashqi qurishlarga kerak bo'ladigan belgi versiyalash faylini yaratmaydi, shuning uchun sarlavhalar bilan to'la daraxt avtomatik ravishda to'liq qurish muhiti emas. Agar qurish yetishmayotgan belgilar sababli muvaffaqiyatsiz bo'lsa, o'sha fayl birinchi qaraladigan joy.
sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules_install
sudo depmod -a
Paketlangan sarlavhalar orqada qolganda
O'z yadrolarini paketlaydigan distributivlar va bitta plata kompyuterlarida sarlavhalar versiyadan kun yoki haftalar orqada qolishi mumkin. Sarlavha paketi nomi bo'yicha to'g'ri, mazmuni bo'yicha eskiroq bo'lishi mumkin, bu kompilyatsiya qilinadigan, so'ngra kompilyatsiya paytida emas, yuklash paytida muvaffaqiyatsiz bo'ladigan qurishni beradi. Manbalarni aralashtirish buni yomonlashtiradi: uchinchi tomon omboridagi sarlavhali distributiv yadrosi yoki umumiy sarlavhali ishlab chiqaruvchi yadrosi toza kompilyatsiya bo'lib, konfiguratsiya boshqacha bo'lgani uchun ishlab turgan yadro tomonidan rad etilishi mumkin. Faqat versiya raqamlari buni hal qilmaydi.
Agar mashina eksperimental yadro kanaliga amal qilsa, mos qurish artefaktlari bilan shu yerda qolish yoki qo'llab-quvvatlanadigan paketlar to'plamiga qaytishni ongli ravishda hal qiling. Yangilanishni takrorlab, bo'laklar mos keladi deb umid qilish reja emas, chunki o'sha nomuvofiqlik har safar takrorlanadi.
Qayta qurishdan keyin interfeysni tekshiring
Muvaffaqiyatli o'rnatishdan keyin interfeys yaratish muhim sinov, undan keyin yadro aslida nima yuklaganini va rad etsa jurnal nima deyishini o'qish. Yuklanadigan modul va yaratib bo'lmaydigan interfeys turli sababli turli nosozliklar. Quyidagi uchta buyruq ularni ajratadi.
sudo ip link add wg9 type wireguard
lsmod | grep wireguard
sudo dmesg | tail -5
Agar modul yuklanishdan bosh tortsa, yadro jurnali sababni qayd etadi va versiya nomuvofiqligi faqat bir imkoniyat. Qayta qurishdan oldin o'sha satrni o'qing, chunki ikkinchi bir xil qurish o'sha o'n daqiqani sarflab, o'sha rad javobini beradi. So'ngra vaqtinchalik interfeysni olib tashlang, keyingi sinov toza holatdan boshlansin.