Eskirgan VPN yozuvini resolvconf ma’lumotlar bazasidan olib tashlash
Debian resolvconf holatga egalik qiladigan xostda yozuvni o’chirish oson. Avval yozuv eskirgan va egasiz ekanini isbotlang, keyin qayta yozishni tekshiring.
Tunnel yopilganidan bir kun o’tgach ham ichki nom hali ham VPN serveriga hal qilinadi va hal qiluvchi fayl o’sha yozuv bilan qayta-qayta qaytib keladi. Debian resolvconf holatga egalik qiladigan joyda bu fayl ta’minotchilarning yozuvlaridan yig’iladi va ulardan biri qoldiqdir. Yozuvni o’chirish bir daqiqa vaqt oladi; uni o’chirish xavfsiz ekanini isbotlash haqiqiy ishdir. Bu darvozalar tartib bilan ishlaydi va muvaffaqiyatsiz darvoza jarayonni tugatadi, sizni keyingi bosqichga yubormaydi.
resolvconf holatga egalik qilishini tasdiqlang
Avval egasini aniqlang, chunki systemd-resolved ostida xuddi shu alomat boshqa buyruqlar va boshqa tuzatishni talab qiladi. resolvconf paketi /run/resolvconf ostida ma’lumotlar bazasini saqlaydi va /etc/resolv.conf ni shu bazadan quradigan faylga yo’naltiradi. Ikki o’qish savolni hal qiladi: simvolik havola maqsadi va paket o’rnatilgan hamda faol ekanligi. /run/systemd/resolve ostidagi maqsad boshqa tuzilmani bildiradi, u yerda quyidagilarning hech biri amal qilmaydi.
dpkg -l resolvconf | tail -1
ls -l /etc/resolv.conf
systemctl is-active resolvconf.service
Agar havola boshqa joyga ishora qilsa yoki paket yo’q bo’lsa, shu yerda to’xtang. Nomni qarzga olgan va boshqa hal qiluvchi menejeri tomonidan taqdim etilgan muvofiqlik qobig’i bu bazaga ega emas.
Baza javobni emas, kirishlarni saqlaydi
Baza kirishlarni saqlaydi, fayl esa chiqish, shuning uchun kirishlarni ro’yxatlash siz olib tashlamoqchi bo’lgan yozuvni qaysi dastur o’rnatganini ko’rishning yagona yo’li. Yozuvlar qisqa va ularning kalitlari keyin kerak bo’ladigan tutqichlardir. Qaysi biri eskirganini hal qilishdan oldin ularni o’qing, chunki VPN interfeysiga o’xshash nom boshqa mijozga tegishli bo’lishi mumkin. Shaxsiy manzillar va ichki qidiruv domenlarini umumiy diagnostikadan uzoqda saqlang; kalitning o’zi odatda yozuvni aniqlaydi.
sudo resolvconf --list
sudo resolvconf -i
Birinchi buyruq taqdim etilgan yozuvlarni qayta ishlamasdan chop etadi, ikkinchisi esa hozir DNS konfiguratsiyasini taqdim etayotgan interfeyslarni ro’yxatlaydi. Kalitlar odatda interfeys nomi va ta’minotchi dasturdan quriladi. resolvconf qo’llanmasi shu kalitlar murojaat qiladigan bazani tavsiflaydi.
Kalitni qayta qurish o’rniga chiqishdan nusxa oling. Yozuv faqat eski skript o’sha nomni ishlatgani uchun tun0 deb atalmaydi.
Yozuvning egasi yo’qligini isbotlang
Hech qanday tirik ulanish o’rnatmagan yozuvni o’chirish xavfsiz. Kalitni uni yaratgan ulanish bilan bog’lang, keyin o’sha ulanish yo’qolganini tasdiqlang. Aynan shu bog’liqlik butun darvoza va o’chirish buyrug’iga boradigan yo’lda eng ko’p o’tkazib yuboriladigan qadamdir. Agar dalillar noaniq bo’lsa, yozuvni tirik deb hisoblang va to’xtang.
Jarayon nomlari zaif dalil. OpenConnect vpnc-script ni chaqiradi, shuning uchun vpnc jarayonini tekshirish qaysi yozuv joriy ekanini hech narsa demaydi. Yangi ulanish eski ulanish qoldirgan interfeys nomini qayta ishlatishi mumkin, bu kalitni haqiqiy yoshidan eskiroq ko’rsatadi. Yozuv ichidagi server manzilini hali ishlab turgan tunnellarning manzillari bilan solishtiring va ular mos kelsa to’xtang.
Egasi menejer orqali oddiy uzilish birinchi chora. U o’sha ulanish o’rnatgan narsani qaytarib oladi va boshqa ta’minotchilarga tegmaydi.
Olib tashlash va qayta yozishni tekshiring
Yozuv eskirgani tasdiqlangach, uni aniq kalit bilan o’chiring va keyin taxmin qilmasdan natijani o’qing. Bu buyruq xostdagi har bir dastur uchun hal qiluvchi holatini o’zgartiradi, shuning uchun uni o’zingiz boshqaradigan oynada ishga tushiring. Kalitni qo’shtirnoq ichiga oling, chunki unda shell kengaytiradigan belgilar bor. Blokdagi o’rin egallovchi siz ro’yxatdan nusxa olgan kalitni bildiradi, so’zma-so’z satrni emas.
sudo resolvconf -d "RECORD_KEY_FROM_THE_LIST"
sudo resolvconf --list
resolvectl query host.corp.example || getent hosts host.corp.example
Yangilash yoqilgan bo’lsa, o’chirish yangilash skriptlarini ishga tushiradi; yangilashlar o’chirilgan bo’lsa, u yangilashni kechiktiradi, shuning uchun olib tashlangan yozuv va qayta yozilgan fayl ikki alohida hodisadir. Faylga qarashdan oldin ro’yxatni qayta o’qing va kalit yo’qolganini tasdiqlang. Keyin qolgan ta’minotchilar orqali hali hal qilinishi kerak bo’lgan bitta nomni va bitta ommaviy nomni so’rang, ikkalasini ham o’zgarishdan oldin ko’rgan narsangiz bilan solishtiring. Agar biron shaxsiy nom butunlay hal qilinmay qolsa, o’sha yozuv uni hali ham olib yurgan.
resolvconf -u faqat o’sha yangilash skriptlarini ishga tushiradi. U hech qachon eskirgan yozuvni aniqlamaydi yoki o’chirmaydi, eskirgan kirishlardan qayta qurish esa o’sha istalmagan faylni yana hosil qiladi.
O’ldirilgan uzilish ilgagi yozuvni qoldiradi
Bir martalik tozalash bugungi holatni tiklaydi, keyingi to’xtatilgan o’chirish esa yozuvni qaytaradi. Demontaj yo’lidan o’ting: mijozning uzilish ilgagi, ilgak chaqiradigan yordamchi va ulardan biri o’ldirilganda nima bo’ladi. To’xtatilgan o’chirish odatiy sabab, chunki ilgak umuman ishlamagan. Ilgakning chiqish holatini bir marta qayd eting va u jimgina muvaffaqiyatsiz bo’lyaptimi-yo’qmi bilib olasiz.
Sozlash va tozalashni bitta egasi ostida saqlang. Interfeys nomlarini taxmin qiladigan ikkinchi skript oxir-oqibat boshqa ulanishning yozuvini o’chiradi, bu siz boshlagan eskirgan yozuvdan ham yomonroq. Egasi yozuv qachon eskriganini ham hal qilishi kerak, chunki uni qaysi ulanish o’rnatganini biladi.
Keyin hayot tsiklini mashq qiling: ulang, uzing, yozuvlarni yana ro’yxatlang. Yozuvning o’z-o’zidan yo’qolishi tuzatish saqlanib qolganining yagona isbotidir.