Mengalih Keluar Rekod VPN Lapuk daripada Pangkalan Data resolvconf
Pada hos yang mana Debian resolvconf memiliki keadaan, memadam entri adalah mudah. Buktikan dahulu rekod itu lapuk dan tiada pemilik, kemudian semak penulisan semula.
Nama dalaman masih dihuraikan kepada pelayan VPN sehari selepas terowong ditutup, dan fail penyelesai terus kembali dengan entri itu. Di tempat Debian resolvconf memiliki keadaan, fail itu dipasang daripada rekod pembekal, dan salah satunya ialah sisa yang tertinggal. Memadam rekod mengambil masa seminit; membuktikan ia selamat dipadam ialah kerja sebenar. Gerbang ini berjalan mengikut urutan, dan gerbang yang gagal menamatkan prosedur dan bukannya menghantar anda ke langkah seterusnya.
Sahkan resolvconf Memiliki Keadaan
Kenal pasti pemilik terlebih dahulu, kerana gejala yang sama di bawah systemd-resolved memerlukan arahan dan pembaikan yang berbeza. Pakej resolvconf menyimpan pangkalan data di bawah /run/resolvconf dan menghalakan /etc/resolv.conf ke fail yang dibinanya daripada pangkalan data itu. Dua bacaan menyelesaikan persoalan: sasaran pautan simbolik, dan sama ada pakej dipasang dan aktif. Sasaran di bawah /run/systemd/resolve bermakna reka bentuk yang lain, di mana tiada apa di bawah ini terpakai.
dpkg -l resolvconf | tail -1
ls -l /etc/resolv.conf
systemctl is-active resolvconf.service
Jika pautan menunjuk ke tempat lain atau pakej tiada, berhenti di sini. Pembalut keserasian yang meminjam nama itu, yang dibekalkan oleh pengurus penyelesai lain, bukan pemilik pangkalan data ini.
Pangkalan Data Menyimpan Input, Bukan Jawapan
Pangkalan data menyimpan input dan fail itu ialah output, jadi menyenaraikan input ialah satu-satunya cara untuk melihat program mana yang memasang entri yang anda mahu buang. Rekod itu pendek, dan kuncinya ialah pemegang yang anda perlukan kemudian. Bacalah sebelum memutuskan yang mana lapuk, kerana nama yang kelihatan seperti antara muka VPN mungkin milik klien lain. Jauhkan alamat peribadi dan domain carian dalaman daripada diagnostik kongsi; kunci itu sahaja biasanya mengenal pasti rekod.
sudo resolvconf --list
sudo resolvconf -i
Arahan pertama mencetak rekod yang dibekalkan tanpa memprosesnya, dan yang kedua menyenaraikan antara muka yang sedang menyediakan konfigurasi DNS. Kunci biasanya dibina daripada nama antara muka serta program pembekal. Manual resolvconf menerangkan pangkalan data yang dituju oleh kunci itu.
Salin kunci daripada output dan bukannya membinanya semula. Entri tidak dipanggil tun0 semata-mata kerana skrip lama menggunakan nama itu.
Buktikan Rekod Itu Tiada Pemilik
Rekod selamat dipadam apabila tiada sambungan hidup yang memasangnya. Kaitkan kunci dengan sambungan yang menciptanya, kemudian sahkan sambungan itu sudah tiada. Korelasi itulah keseluruhan gerbang, dan itulah langkah yang paling kerap dilangkau dalam perjalanan ke arahan padam. Jika buktinya kabur, anggap rekod itu hidup dan berhenti.
Nama proses ialah bukti yang lemah. OpenConnect memanggil vpnc-script, jadi pemeriksaan proses vpnc tidak memberitahu apa-apa tentang rekod mana yang semasa. Sambungan baharu juga boleh menggunakan semula nama antara muka yang ditinggalkan oleh yang lama, yang membuatkan kunci kelihatan lebih tua daripada usianya. Bandingkan alamat pelayan di dalam rekod dengan alamat terowong yang masih hidup, dan berhenti jika ia sepadan.
Putus sambungan biasa melalui pengurus pemilik ialah ubat pertama. Ia menarik balik apa yang dipasang oleh sambungan itu dan membiarkan pembekal lain tidak tersentuh.
Semak Pengalihan Keluar dan Penulisan Semula
Setelah rekod disahkan lapuk, padamkannya dengan kunci yang tepat dan kemudian baca hasilnya dan bukannya menganggapnya. Arahan ini mengubah keadaan penyelesai bagi setiap aplikasi pada hos, jadi jalankannya dalam tetingkap yang anda kawal. Letakkan kunci dalam tanda petik, kerana ia mengandungi aksara yang akan dikembangkan oleh shell. Pemegang tempat dalam blok itu mewakili kunci yang anda salin daripada senarai, bukan rentetan literal.
sudo resolvconf -d "RECORD_KEY_FROM_THE_LIST"
sudo resolvconf --list
resolvectl query host.corp.example || getent hosts host.corp.example
Pemadaman menjalankan skrip kemas kini apabila kemas kini didayakan; apabila kemas kini dilumpuhkan ia menangguhkan kemas kini, jadi rekod yang dibuang dan fail yang ditulis semula ialah dua peristiwa berasingan. Baca semula senarai itu dan sahkan kunci sudah tiada sebelum melihat fail. Kemudian tanyakan satu nama yang masih patut dihuraikan melalui pembekal yang tinggal dan satu nama awam, dan bandingkan kedua-duanya dengan apa yang anda lihat sebelum perubahan. Jika nama peribadi berhenti dihuraikan sepenuhnya, rekod itu masih membawanya.
resolvconf -u hanya menjalankan skrip kemas kini itu. Ia tidak pernah mengenal pasti atau memadam rekod usang, dan membina semula daripada input usang menghasilkan fail tidak diingini yang sama.
Cangkuk Putus Sambungan yang Dibunuh Meninggalkan Rekod
Pembersihan sekali sahaja memulihkan keadaan hari ini, dan penutupan terganggu seterusnya meletakkan rekod itu kembali. Ikuti laluan pembongkaran: cangkuk putus sambungan klien, pembantu yang dipanggil cangkuk itu, dan apa yang berlaku apabila salah satu daripadanya dibunuh. Penutupan terganggu ialah asal yang biasa, kerana cangkuk itu tidak berjalan langsung. Catat status keluar cangkuk itu sekali dan anda akan tahu sama ada ia gagal secara senyap.
Kekalkan persediaan dan pembersihan di bawah satu pemilik. Skrip kedua yang meneka nama antara muka akhirnya akan memadam rekod sambungan lain, yang lebih buruk daripada entri lapuk yang anda mulakan. Pemilik itu juga harus memutuskan bila sesuatu rekod lapuk, kerana ia tahu sambungan mana yang memasangnya.
Kemudian uji kitaran hayat: sambung, putuskan, senaraikan rekod itu semula. Entri hilang dengan sendirinya ialah satu-satunya bukti bahawa pembaikan itu bertahan.