18.04: Berang-berang Bionic: menegakkan /etc/resolv.conf statis

10

Sebelumnya, pada Ubuntu 16.04, saya merasa dikhianati ketika sebuah dnsmasqpaket pembaruan Ubuntu menginstal , mengkonfigurasinya, dan memberikan prioritas pada server DNS BIND saya yang sangat stabil, sangat cepat, dan dikonfigurasi sendiri. Rasanya persis seperti Ubuntu meretas workstation saya.

Karena saya kebetulan bekerja sebagai admin sistem, ini sangat tidak dapat diterima. Ini adalah panggilan yang aneh. Ini adalah ketika Anda pergi untuk memecahkan masalah dan dalam salah satu langkah yang Anda gunakan digatau nslookupdan Anda terkejut melihat loantarmuka membalas kepada Anda. PANIK

Apakah ada cara untuk tidak hanya memperbaiki masalah ini, tetapi juga menjamin bahwa itu /etc/resolv.confakan menjadi bukti perusakan?

MK
sumber

Jawaban:

5

Suntingan /etc/NetworkManager/NetworkManager.confdan penonaktifan yang sederhana systemd-resolved.service(seperti dalam jawaban ini /ubuntu//a/907249/719422 ). Tapi itu saja, meski penting, tidak menjamin bukti kerusakan resolv.conf.

Untuk benar-benar menerapkan statik /etc/resolv.confyang Anda tahu akan selamat dari restart apa pun, Anda perlu mengatur atribut yang tidak dapat diubah . Menambah jawaban Bastian Voigt yang disebutkan di atas, Anda melakukan ini sebagai SuperUser:

echo nameserver 8.8.8.8 > /etc/resolv.conf
chattr -e /etc/resolv.conf
chattr +i /etc/resolv.conf

... mengubah nilai yang nameserverAnda pilih. Dengan begitu, Anda bisa memiliki yang benar - benar statis /etc/resolv.conf.

MK
sumber
3
File /etc/NetworkManager/NetworkManager.conf tidak ada pada 18.04
hfranco
@ hfranco jika tidak, yang saya ragu, maka Anda hanya membuatnya! Dan, btw, jika itu adalah kasus Anda, maka itu bukan pengaturan standar; kasing Anda tidak normal. Saya akan mengatakan Anda salah ketik sambil mencarinya!
MK
@hfranco Setua hingga 12.04 unix.stackexchange.com/questions/154338/…
MK
Ini adalah satu-satunya hal yang berhasil bagi saya di Ubuntu 18.04
Lucas Bustamante
1

Solusi terbaik yang saya temukan adalah untuk mencegah NetworkManager memperbarui /etc/resolv.conf dan kemudian membuat file /etc/resolv.conf baru dengan server DNS statis. Lihat https://www.ctrl.blog/entry/resolvconf-tutorial untuk cara melakukan ini.

Scubadoo
sumber
1
Terima kasih atas spamnya! Tetapi Anda tidak memiliki atribut Immutable!
MK
0

Menurut dokumen, Anda dapat menulis resolv.confke /usr/lib/systemd/resolv.conf, yang merupakan file statis yang dapat ditautkan dari /etc/resolv.conf. Itu tidak harus ditulis ulang.

sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf

http://manpages.ubuntu.com/manpages/bionic/man8/systemd-resolved.service.8.html#contenttoc3

/ETC/RESOLV.CONF

Empat mode penanganan /etc/resolv.conf (lihat resolv.conf (5)) didukung:

...

File statis /usr/lib/systemd/resolv.conf disediakan yang mencantumkan 127 stub DNS DNS (lihat di atas) sebagai satu-satunya server DNS. File ini dapat dihubungkan dari /etc/resolv.conf untuk menghubungkan semua klien lokal yang mem-bypass API DNS lokal ke sistemd diselesaikan. File ini tidak mengandung domain pencarian apa pun.

wisbucky
sumber
2
Tidak, maaf Apa yang terjadi ketika spesifikasi berubah atau metode konfigurasi berubah atas keinginan Ubuntu sendiri ? Anda tahu, ini adalah kegagalan yang sama dengan yang saya tinggalkan untuk mimpi Satya tentang OS. Dan, ini adalah kegagalan yang sama yang harus dihindari oleh Linux. Apa yang salah dengan resol.conf? Kenapa repot? Mengapa mencoba meniru konfigurasi jaringan Redhat yang penuh kebencian dan menjemukan, dengan cara apa pun? Maaf, saya hanya akan tetap pada solusi saya.
MK
Bagaimana Anda tahu bahwa file Anda tidak akan diabaikan di masa depan? Saya tahu bahwa memaksa cara statis beberapa aplikasi akan bekerja dan yang lain tidak. Dengan solusi wisbucky, setidaknya kita bisa menggunakan cara saat ini. Saya juga tidak melihat perlunya mereka untuk mengubahnya, tetapi saya tidak mendapatkan suara. Seseorang menurunkan solusi ini padahal sebenarnya itu bekerja dan paling sederhana. +1
Marlon
@ Marslon "Bagaimana Anda tahu bahwa file Anda tidak akan diabaikan di masa depan"? Karena tidak dapat diubah; dan, jika /etc/resolv.conf akan diabaikan, lalu mengapa kerepotan membangun kerangka kerja di sekitarnya ?? Mengabaikan file hanya akan terjadi jika beberapa wacko Ubuntu memutuskan itu tidak berguna (mengimplementasikan sesuatu ke file antarmuka, misalnya!)
MK
Jika saya ingin seseorang mengambil keputusan untuk saya, saya akan kembali ke Microsoft Windows, yang pembuat kode dan perancang dan Satya di atas mereka semua berpikir mereka mengenal sake Anda lebih baik daripada Anda dan bahwa Anda tidak berhak memilih cara menjalankannya " penciptaan". Kehebohan!
MK
Mengapa ribut-ribut membangun OS untuk kebaikan umat manusia, jika umat manusia tidak dapat menikmati menjalankannya? Apa yang dimaksud dengan atribut Immutable jika seseorang akan memberi tahu saya kapan menggunakannya atau tidak. Ini bukan tentang "mengikuti petunjuk galaksi Vega", ini tentang kebebasan memilih; tidak seorang pun harus memberikan dorongan kerasnya sendiri untuk Anda. Anda adalah makhluk dan Anda memiliki hak.
MK
-2

File present adalah symlink ke file lain. Hapus file

rm /etc/resolve.conf
vim / etc resol.conf
Masukkan data Anda
: wq

File bukan lagi symlink tetapi file persisten.

0n10n_
sumber
Langkah-langkah sudah langsung menghapus /etc/resolv.conf sebelumnya.
MK