Mengapa saya harus menghapus resolvconf agar dnsmasq dapat berfungsi kembali?

8

Kemarin saya meningkatkan ke Precise dan dnsmasq berhenti bekerja. Artinya, permintaan DNS ke localhost di mana dnsmasq sedang mendengarkan (127.0.0.1) ditolak.

Menghapus resolvconf ( apt-get remove resolvconf) dan mem-boot ulang menyelesaikan masalah (menemukan saran di suatu tempat di Google). /etc/resolv.conftampak baik-baik saja dengan dan tanpa resolvconf di tempat. Tidak ada perbedaan sama sekali.

  1. Mengapa saya menggunakan resolvconf? Apakah ada manfaatnya? Artikel Wikipedia yang membahas resolvconf menyebalkan.
  2. Mengapa resolvconf mengganggu dnsmasq? Apakah ini masalah yang diketahui?
lightxx
sumber
bla @ blubb: ~ $ [-f /usr/share/doc/resolvconf/README.gz] && echo "Ditemukan" || gema "Tidak ditemukan" Tidak Ditemukan um. sok pintar.
lightxx

Jawaban:

10

Jawaban sederhana untuk (1) adalah: resolvconf menempatkan dirinya sebagai perantara antara program yang menyediakan informasi ini (seperti ifup dan ifdown, klien DHCP, daemon PPP dan server nama lokal) dan program yang menggunakan informasi ini (seperti DNS cache dan resolver libraries). Pada Ubuntu 12.04 resolvconf adalah bagian dari instalasi default di kedua varian server dan desktop. Tidak pernah perlu untuk menghapus resolvconf dan orang-orang yang menghapusnya biasanya tidak memahaminya, umumnya karena mereka belum membaca resolvconf (8) dan /usr/share/doc/resolvconf/README.gz.

Jawaban untuk pertanyaan kedua adalah resolvconf yang paling mungkin tidak mengganggu dnsmasq. Dugaan saya adalah Anda mengalami bug # 959037.

Penjelasan: Di Ubuntu 12.04 ada dua cara menjalankan dnsmasq. Ada versi tradisional dnsmasq mandiri yang mendengarkan semua alamat. Dan ada proses dnsmasq yang dikendalikan oleh NetworkManager baru yang hanya mendengarkan 127.0.0.1. Yang terakhir bertentangan dengan yang pertama kecuali yang pertama dikonfigurasi ulang. Masalah ini diselesaikan di Ubuntu 12.10 dengan meminta proses dnsmasq yang dikontrol NM mendengarkan pada 127.0.1.1 alih-alih 127.0.0.1 dan dengan memaksa proses dnsmasq mandiri untuk mendengarkan hanya pada alamat yang ditugaskan untuk antarmuka.

jdthood
sumber
Saya telah membaca manapage dan masih tidak dapat menemukan cara yang dapat diandalkan untuk menambahkan nama server saya sendiri resolv.conf.
Michael Mior
Dengan resolvconf terinstal, Anda dapat menambahkan alamat server nama dengan memasukkan nameserver x.x.x.x/etc/resolvconf/resolv.conf.d/head. Namun, maklum bahwa ini biasanya tidak perlu atau tidak disarankan. Secara umum ada cara yang lebih benar untuk menambahkan baris "nameserver" ke resolv.conf. Secara umum utilitas yang mengkonfigurasi antarmuka jaringan menambah atau menghapus alamat server nama yang tersedia melalui antarmuka tersebut dengan menjalankan resolvconf -aatau resolvconf -d, masing-masing. Prioritas alamat server nama yang ditambahkan dengan cara ini diatur oleh /etc/resolvconf/interface-order.
jdthood
Sebenarnya, menempatkan baris nameserver headditambahkan setelah SETELAH nameserver default.
Michael Mior
Saya belum mengujinya, tetapi sepertinya echo x.x.x.x | resolvconf -a loakan melakukan trik untuk menambahkan nameserver yang saya ingin menjadi yang pertama untuk semua antarmuka.
Michael Mior
Resolvconf selalu menempatkan konten headdi kepala (atas, awal) dari resolv.conf.
jdthood
2

Saya baru saja menghapusnya di instal saya. Saya menggunakan pppd secara manual untuk memanggil koneksi modem 3G saya dan resolvconf mengganggu pengaturan dns saya dengan secara otomatis menambahkan DNS provider saya ketika saya ingin menggunakan DNS khusus. pppd memiliki opsi untuk mengontrol ini tetapi resolvconf menghancurkannya dengan pengaturannya sendiri. Saya juga ingin tahu jawaban untuk pertanyaan ini? Sepertinya ini semacam paket yang membuatnya lebih mudah tapi bukan rumit?

ps Saya telah menemukan laporan bug ini: https://bugs.launchpad.net/ubuntu/+source/resolvconf/+bug/922578

Marko
sumber
terima kasih atas masukan Anda. Saya telah memutarnya tetapi saya kurang rep.
lightxx
@lightxx: Dipilih untuk Anda;)
Tomasz Zieliński
Alih-alih menghapus resolvconf Anda bisa mengonfigurasi resolvconf untuk mengabaikan informasi server nama yang berasal dari pppd.
jdthood
Isi normal resolv.conf cukup sederhana. Setiap kali mesin itu adalah server atau bahkan stasiun kerja non-laptop, tampaknya lebih mudah untuk melacak resolv.conf tunggal daripada setengah lusin file berbeda yang berpotensi digunakan oleh resolvconf.
ericx
@ jdthood - saya tidak melihat bagaimana melakukan ini di halaman manual resolvconf.conf, saya akan tertarik dengan spesifik implementasi.
dps
1

Jawaban sederhana untuk (1) adalah: resolvconf menempatkan dirinya sebagai perantara antara program yang menyediakan informasi ini (seperti ifup dan ifdown, klien DHCP, daemon PPP dan server nama lokal) dan program yang menggunakan informasi ini (seperti DNS cache dan resolver libraries).

Itu dari deskripsi paket. Di desktop, ini bekerja bersama dengan NetworkManager untuk menangani membuat dan menjatuhkan koneksi dengan lancar.

Jadi resolvconf, bersama dengan dnsmasq, digunakan pada 12,04 untuk membuat penanganan info DNS lebih dapat diandalkan pada versi desktop. Jadi dalam beberapa situasi, itu memang membuat segalanya lebih baik, tetapi seluruh situasi tidak memiliki dokumentasi di tempat yang tepat, terutama di dunia server.

Meskipun banyak Googling, saya belum dapat memastikan apa yang direkomendasikan pada instalasi server.

Sejauh (2), Anda memiliki masalah yang berlawanan dari saya. Dnsmasq bekerja dengan baik dengan resolvconf pada mesin saya dan memperbarui file /etc/resolv.conf berisi 127.0.0.1 tetapi memiliki masalah lain karena dnsmasq tidak mendapatkan server nama ISP dari dhclient pada eth0 (ini adalah gateway) juga tidak dapatkan nama server yang saya masukkan secara manual di stanza eth0 di / etc / network / interfaces.

Mengapa Anda menggunakan dnsmasq? Apakah Anda juga menjalankan gateway dengan 2 nics? Atau hanya desktop biasa? Jika demikian, resolvconf berkoordinasi dengan manajer jaringan

Adam
sumber
Terima kasih atas jawaban anda. saya akan meningkatkannya, sayangnya Anda perlu 15 reputasi untuk meningkatkan. lol
lightxx
1
halaman manual sangat bagus ketika Anda tahu apa yang perlu Anda ketahui. Jika tidak, mereka dapat membingungkan untuk sedikitnya. Howto's, contoh dan faq adalah apa yang Anda butuhkan ketika Anda tidak memiliki pengalaman di suatu daerah.
Adam
upvoted @lightxx atas nama Anda :)
fkl