resolvconf дерекқорынан ескірген VPN жазбасын жою
Debian resolvconf күйге иелік ететін хостта жазбаны жою оңай. Алдымен жазбаның ескіргенін және иесіз екенін дәлелдеңіз, содан кейін қайта жазылуды тексеріңіз.
Туннель жабылғаннан кейін бір күн өтсе де, ішкі атау әлі де VPN серверіне шешіледі, ал шешуші файл сол жазбамен қайта-қайта оралады. Debian resolvconf күйге иелік ететін жерде бұл файл жеткізушілердің жазбаларынан жиналады, және солардың бірі қалдық болып табылады. Жазбаны жою бір минут алады; оны жою қауіпсіз екенін дәлелдеу нағыз жұмыс. Бұл қақпалар ретімен жұмыс істейді, ал сәтсіз қақпа рәсімді аяқтайды, келесі қадамға жібермейді.
resolvconf күйге иелік ететінін растаңыз
Алдымен иесін анықтаңыз, өйткені systemd-resolved астында дәл осы симптом басқа пәрмендер мен басқа жөндеуді талап етеді. resolvconf пакеті /run/resolvconf астында дерекқор ұстайды және /etc/resolv.conf файлын осы дерекқордан құрастыратын файлға бағыттайды. Екі оқу мәселені шешеді: символдық сілтеменің нысанасы және пакеттің орнатылып, белсенді екендігі. /run/systemd/resolve астындағы нысана басқа құрылымды білдіреді, онда төмендегілердің ешқайсысы қолданылмайды.
dpkg -l resolvconf | tail -1
ls -l /etc/resolv.conf
systemctl is-active resolvconf.service
Егер сілтеме басқа жерді нұсқаса немесе пакет жоқ болса, осы жерде тоқтаңыз. Атауды қарызға алған және басқа шешуші менеджері ұсынатын үйлесімдік қабықшасы бұл дерекқордың иесі емес.
Дерекқор кірістерді ұстайды, жауапты емес
Дерекқор кірістерді ұстайды, ал файл — шығыс, сондықтан кірістерді тізімдеу жоюды қалайтын жазбаны қай бағдарлама орнатқанын көрудің жалғыз жолы. Жазбалар қысқа, ал олардың кілттері кейін қажет болатын тұтқалар. Оларды қайсысы ескіргенін шешпес бұрын оқыңыз, өйткені VPN интерфейсіне ұқсайтын атау басқа клиентке тиесілі болуы мүмкін. Жеке мекенжайлар мен ішкі іздеу домендерін ортақ диагностикадан тыс ұстаңыз; кілттің өзі әдетте жазбаны анықтайды.
sudo resolvconf --list
sudo resolvconf -i
Бірінші пәрмен берілген жазбаларды өңдеусіз басып шығарады, ал екіншісі қазір DNS конфигурациясын беретін интерфейстерді тізімдейді. Кілттер әдетте интерфейс атауы мен жеткізуші бағдарламадан құралады. resolvconf нұсқаулығы осы кілттер жүгінетін дерекқорды сипаттайды.
Кілтті қайта құрастырудың орнына шығыстан көшіріңіз. Жазба tun0 деп тек ескі скрипт сол атауды қолданғаны үшін аталмайды.
Жазбаның иесі жоқ екенін дәлелдеңіз
Жазбаны жою қауіпсіз, егер оны ешбір тірі қосылым орнатпаса. Кілтті оны жасаған қосылыммен байланыстырыңыз, содан кейін сол қосылым жоғалғанын растаңыз. Осы корреляция — бүкіл қақпа, және жою пәрменіне барар жолда ең жиі өткізіп жіберілетін қадам. Егер дәлелдер екіұшты болса, жазбаны тірі деп қарастырып, тоқтаңыз.
Процесс атаулары әлсіз дәлел. OpenConnect vpnc-script шақырады, сондықтан vpnc процесін тексеру қай жазба ағымдағы екенін айтпайды. Жаңа қосылым ескі қосылым қалдырған интерфейс атауын қайта пайдалануы мүмкін, бұл кілтті шын мәніндегіден ескірек көрсетеді. Жазба ішіндегі сервер мекенжайын әлі белсенді туннельдердің мекенжайларымен салыстырыңыз, егер олар сәйкес келсе, тоқтаңыз.
Иесі менеджер арқылы қалыпты ажырату — бірінші шешім. Ол сол қосылым орнатқанды кері қайтарады және басқа жеткізушілерге тимейді.
Жоюды және қайта жазылуды тексеріңіз
Жазба ескіргені расталған соң, оны дәл кілтпен жойып, содан кейін нәтижені болжамай, оқыңыз. Пәрмен хосттағы барлық қосымшалардың шешуші күйін өзгертеді, сондықтан оны өзіңіз бақылайтын терезеде орындаңыз. Кілтті тырнақшаға алыңыз, өйткені ол қабықша кеңейтетін таңбаларды қамтиды. Блоктағы орналастырғыш сіз тізімнен көшірген кілтті білдіреді, әдепкі жолды емес.
sudo resolvconf -d "RECORD_KEY_FROM_THE_LIST"
sudo resolvconf --list
resolvectl query host.corp.example || getent hosts host.corp.example
Жаңарту қосылған кезде жою жаңарту скрипттерін іске қосады; жаңартулар өшірілгенде ол жаңартуды кейінге қалдырады, сондықтан жойылған жазба мен қайта жазылған файл — екі бөлек оқиға. Файлды қарар алдында тізімді қайта оқып, кілттің жоғалғанын растаңыз. Содан кейін қалған жеткізушілер арқылы әлі шешілуі тиіс бір атауды және бір жалпыға ортақ атауды сұрап, екеуін де өзгеріске дейін көргеніңізбен салыстырыңыз. Егер жеке атау мүлдем шешілуін тоқтатса, сол жазба оны әлі тасымалдап жүрген.
resolvconf -u тек сол жаңарту скрипттерін іске қосады. Ол ескірген жазбаны ешқашан анықтамайды немесе жоймайды, ал ескірген кірістерден қайта құру сол қажетсіз файлды қайта шығарады.
Өлтірілген ажырату ілмегі жазбаны қалдырады
Бір реттік тазалау бүгінгі күйді қалпына келтіреді, ал келесі үзілген өшіру жазбаны қайтарады. Бөлшектеу жолынан өтіңіз: клиенттің ажырату ілмегі, ілмек шақыратын көмекші және олардың бірі өлтірілгенде не болатыны. Үзілген өшіру — әдеттегі себеп, өйткені ілмек мүлде іске қосылмаған. Ілмектің шығу мәртебесін бір рет тіркеп қойыңыз, сонда оның үнсіз сәтсіздікке ұшырап жатқанын білесіз.
Орнату мен тазалауды бір иесінің қарамағында ұстаңыз. Интерфейс атауларын болжайтын екінші скрипт ақыр соңында басқа қосылымның жазбасын жояды, бұл сіз бастаған ескірген жазбадан да жаман. Иесі жазбаның қашан ескіргенін де шешуі керек, өйткені оны қай қосылым орнатқанын біледі.
Содан кейін өмірлік циклді сынап көріңіз: қосылыңыз, ажыратыңыз, жазбаларды қайта тізімдеңіз. Жазбаның өздігінен жоғалуы — жөндеудің сақталғанының жалғыз дәлелі.