Daxili ad tunel bağlandıqdan bir gün sonra da VPN serverinə həll olunur və resolver faylı həmin qeydlə yenidən qayıdır. Debian-ın resolvconf-u vəziyyətə sahib olduqda, bu fayl təchizatçı qeydlərindən yığılır və onlardan biri qalıqdır. Qeydi silmək bir dəqiqə çəkir; silinməsinin təhlükəsiz olduğunu sübut etmək isə əsl işdir. Bu mərhələlər ardıcıl işləyir və uğursuz mərhələ proseduru bitirir, sizi növbəti addıma göndərmir.

resolvconf-un vəziyyətə sahib olduğunu təsdiqləyin

Əvvəlcə sahibi müəyyən edin, çünki systemd-resolved altında eyni simptom fərqli əmrlər və fərqli təmir tələb edir. resolvconf paketi /run/resolvconf altında verilənlər bazası saxlayır və /etc/resolv.conf faylını bu bazadan qurduğu fayla yönləndirir. İki oxunuş məsələni həll edir: simvolik keçidin hədəfi və paketin quraşdırılıb aktiv olub-olmaması. /run/systemd/resolve altındakı hədəf digər dizayn deməkdir və orada aşağıdakıların heç biri tətbiq olunmur.

dpkg -l resolvconf | tail -1
ls -l /etc/resolv.conf
systemctl is-active resolvconf.service

Əgər keçid başqa yerə yönəlirsə və ya paket yoxdursa, burada dayanın. Adı borc almış və başqa bir resolver meneceri tərəfindən göndərilən uyğunluq qatı bu bazaya sahib deyil.

Baza girişləri saxlayır, cavabı yox

Baza girişləri saxlayır və fayl çıxışdır, ona görə girişləri sadalamaq silmək istədiyiniz qeydi hansı proqramın quraşdırdığını görməyin yeganə yoludur. Qeydlər qısadır və açarları sonra lazım olacaq tutacaqlardır. Hansının köhnə olduğuna qərar verməzdən əvvəl onları oxuyun, çünki VPN interfeysinə bənzəyən ad başqa müştəriyə aid ola bilər. Şəxsi ünvanları və daxili axtarış domenlərini paylaşılan diaqnostikadan kənarda saxlayın; adətən yalnız açar qeydi müəyyən edir.

sudo resolvconf --list
sudo resolvconf -i

Birinci əmr verilən qeydləri emal etmədən çap edir, ikincisi isə hazırda DNS konfiqurasiyası təqdim edən interfeysləri sadalayır. Açarlar adətən interfeys adı və təchizatçı proqramdan qurulur. resolvconf təlimatı isə bu açarların müraciət etdiyi bazanı təsvir edir.

Açarı yenidən qurmaq əvəzinə çıxışdan kopyalayın. Köhnə bir skript bu addan istifadə etdiyi üçün qeyd tun0 adlanmır.

Qeydin sahibsiz olduğunu sübut edin

Heç bir canlı bağlantı onu quraşdırmadıqda qeyd silinmək üçün təhlükəsizdir. Açarı onu yaradan bağlantı ilə əlaqələndirin, sonra həmin bağlantının getdiyini təsdiqləyin. Bu əlaqələndirmə bütün mərhələdir və silmə əmrinə doğru ən çox atlanan addımdır. Sübutlar qeyri-müəyyəndirsə, qeydi canlı sayın və dayanın.

Proses adları zəif sübutdur. OpenConnect vpnc-script çağırır, ona görə vpnc prosesinin yoxlanması hansı qeydin cari olduğunu demir. Yeni bağlantı köhnə birinin qoyub getdiyi interfeys adını da təkrar istifadə edə bilər və bu, açarı olduğundan daha köhnə göstərir. Qeydin içindəki server ünvanını hələ qalxan tunellərin ünvanları ilə müqayisə edin və uyğun gəlirsə dayanın.

Sahib menecer vasitəsilə normal əlaqə kəsmə ilk həlldir. O, həmin bağlantının quraşdırdığını geri götürür və digər təchizatçılara toxunmur.

Silinməni və yenidən yazılmanı yoxlayın

Qeyd köhnə kimi təsdiqləndikdən sonra onu dəqiq açar ilə silin və nəticəni fərz etmək əvəzinə oxuyun. Əmr hostdakı hər tətbiq üçün resolver vəziyyətini dəyişir, ona görə onu nəzarət etdiyiniz pəncərədə işə salın. Açarı dırnaq içində verin, çünki o, shell-in genişləndirəcəyi simvollar ehtiva edir. Blokdakı yer tutucu siyahıdan kopyaladığınız açarı bildirir, hərfi sətri yox.

sudo resolvconf -d "RECORD_KEY_FROM_THE_LIST"
sudo resolvconf --list
resolvectl query host.corp.example || getent hosts host.corp.example

Yeniləmə aktiv olduqda silmə yeniləmə skriptlərini işlədir; yeniləmələr deaktiv olduqda isə yeniləməni təxirə salır, beləliklə silinmiş qeyd və yenidən yazılmış fayl ayrı hadisələrdir. Siyahını yenidən oxuyun və fayla baxmazdan əvvəl açarın getdiyini təsdiqləyin. Sonra qalan təchizatçılar vasitəsilə həll olunmalı bir adı və bir ictimai adı sorğulayın, hər ikisini dəyişiklikdən əvvəl gördüyünüzlə müqayisə edin. Şəxsi bir ad tamamilə həll olunmağı dayandırırsa, o qeyd hələ də onu daşıyırdı.

resolvconf -u yalnız həmin yeniləmə skriptlərini işlədir. O, heç vaxt köhnəlmiş qeydi müəyyən etmir və ya silmir və köhnə girişlərdən yenidən qurma eyni arzuolunmaz faylı yaradır.

Öldürülmüş əlaqə kəsmə çəngəli qeydi geridə qoyur

Birdəfəlik təmizlik bugünkü vəziyyəti bərpa edir və növbəti yarımçıq bağlanma qeydi geri qaytarır. Sökülmə yolunu gəzin: müştərinin əlaqə kəsmə çəngəli, o çəngəlin çağırdığı köməkçi və hər hansı biri öldürüldükdə nə baş verdiyi. Yarımçıq bağlanma adi mənbədir, çünki çəngəl heç işləməyib. Çəngəlin çıxış statusunu bir dəfə qeyd edin və səssizcə uğursuz olub-olmadığını biləcəksiniz.

Qurulumu və təmizliyi bir sahib altında saxlayın. İnterfeys adlarını təxmin edən ikinci skript nəhayət başqa bağlantının qeydini siləcək, bu isə başladığınız köhnə qeyddən daha pisdir. Sahib həm də qeydin nə vaxt köhnə olduğuna qərar verməlidir, çünki hansı bağlantının onu quraşdırdığını bilir.

Sonra həyat dövrünü sınayın: qoşulun, əlaqəni kəsin, qeydləri yenidən sadalayın. Qeydin öz-özünə yox olması təmirin davam etdiyinin yeganə sübutudur.

Əlaqəli məqalələr