Nameserver VPN terus-menerus berakhir di bawah nameserver LAN, dan menyunting /etc/resolv.conf memperbaikinya untuk beberapa menit. Berkas itu dibuat ulang, jadi perbaikannya tidak pernah bertahan. Pada resolvconf Debian, masukan urutannya adalah /etc/resolvconf/interface-order, dan berkas itu mengurutkan nama rekaman, bukan alamat DNS. Pastikan tumpukan resolver mana yang sebenarnya berkuasa sebelum Anda menyentuh salah satu dari kedua berkas itu.

Pastikan resolvconf yang memiliki keluaran

Mulailah dengan bertanya apa yang menulis berkas saat ini dan apa yang akan menulisnya lagi. Paket resolvconf menggambarkan dirinya sebagai kerangka konfigurasi resolver dinamis, dan host yang menjalankan systemd-resolved atau resolver yang dikelola NetworkManager bisa tampak sama dari luar sambil memakai kebijakan yang sama sekali berbeda.

readlink -f /etc/resolv.conf
dpkg -l resolvconf 2>/dev/null | tail -n 1

Jika jalur yang terurai tidak menuju direktori runtime resolvconf, berhentilah di sini: runbook ini milik tumpukan lain.

Baru setelah pemeriksaan itu ada gunanya mendaftar rekaman yang kini dipegang resolvconf.

Baca rekamannya sebelum menulis pola

interface-order cocok dengan nama rekaman pemasok, bukan alamat dan bukan nama antarmuka kernel. Daftarkan apa yang terdaftar agar pola Anda merujuk ke entri yang benar-benar ada.

ls /run/resolvconf/interfaces
cat /etc/resolvconf/interface-order

Nama rekaman biasanya membawa akhiran yang menandai pemasoknya, sehingga rekaman terowongan dan rekaman DHCP bisa berbagi prefiks antarmuka dan tetap terurut berbeda. Salin nama yang tepat dari daftar direktori. Jangan menyimpulkan nama dari nama antarmuka, karena integrasi klien yang memutuskan apa yang didaftarkan. Nama yang Anda karang tidak akan pernah cocok, dan rekaman itu akan jatuh ke pola penangkap semua tanpa pesan kesalahan apa pun.

Tulis urutannya sebagai pola kecocokan pertama

Berkas itu adalah daftar pola glob shell, satu per baris. Rekaman mengambil posisi pola pertama yang cocok, jadi pola lebar di atas pola khusus membuat baris khusus itu tidak terjangkau.

# /etc/resolvconf/interface-order
lo*
tun_work.*
enp*
*

Letakkan pola terowongan yang khusus di atas pola penangkap semua dan di atas pola antarmuka fisik.

Pertahankan baris lain yang sudah ada di berkas. Mengganti seluruh kebijakan dengan sebuah contoh adalah cara pemasok yang tak berhubungan bergeser diam-diam; ubah satu baris, buat ulang, dan bandingkan. Pola tidak boleh berisi spasi, garis miring, atau titik atau tilde di awal, dan baris kosong serta komentar pagar diabaikan.

Buat ulang dan periksa hasilnya

Urutan berlaku ketika skrip pembaruan membangun ulang berkas. Jalankan jalur pembaruan yang didukung alih-alih menyunting keluaran yang dihasilkan, lalu baca apa yang benar-benar diterima resolver.

resolvconf -u
cat /etc/resolv.conf

Periksa dua pencarian, bukan satu: nama privat yang seharusnya terurai lewat terowongan, dan nama kontrol publik. Jika nama privat masih gagal sementara urutannya tampak benar, masalahnya adalah perutean ruang nama, bukan prioritas rekaman, dan tidak ada penataan ulang yang akan memperbaikinya. Bandingkan setiap jawaban dengan server yang mengembalikannya, bukan hanya dengan keberhasilan. Nama privat yang dijawab resolver yang salah tetap kegagalan, dan bagi pengguna itu tampak seperti gangguan DNS.

Pensiunkan rekaman usang alih-alih menurunkannya

Rekaman VPN usang yang terus muncul kembali setelah terputus adalah bug siklus hidup dalam integrasi klien. Memindahkannya ke paling bawah menyembunyikan gejala dan meninggalkan resolver mati di daftar.

Pensiunkan melalui komponen yang mendaftarkannya, lalu pastikan direktori rekaman tidak lagi mencantumkannya.

Catat nama pemasok, pola yang Anda ubah, dan dua pencarian yang Anda jalankan. Orang berikutnya lebih membutuhkan nama-nama itu daripada ceritanya.

Artikel terkait