Sudah terkenal bahwa NetworkManager tidak bermain dengan baik dnsmasq
(ref: di sini ). Saya telah membaca diskusi panjang di sini tapi masih tidak yakin apa cara yang disarankan untuk menangani situasi ini.
Yang saya inginkan adalah menggunakan dnsmasq
DNS dan DHCP untuk jaringan lokal saya. Apa yang akan menjadi cara yang direkomendasikan dalam kasus ini?
Tampaknya masalah tetap ada bahkan untuk Ubuntu 14.04, bahkan bug tersebut diklaim telah diperbaiki.
Saat bekerja di sekitarnya, orang-orang menonaktifkan NM yang diperbudak dnsmasq-base
karena alasan berikut:
NM-diperbudak dnsmasq
menggunakan opsi hardcoded (dalam C) yang menyediakan fungsionalitas yang sangat terbatas.
- Itu tidak mendengarkan di ethX (
--listen-address=127.0.0.1
). Jadi kami tidak dapat menggunakan server kami sebagai server DNS untuk PC jaringan lokal kami, artinya sama sekali tidak berguna untuk LAN. - Itu tidak men-cache permintaan (
--cache-size=0
). Tanpa caching ==> tidak ada speedup permintaan DNS. Ini lagi sangat penting untuk LAN karena ada banyak pengguna bersamaan. - Akhirnya, kita juga memerlukan fungsionalitas DHCP dan TFTP dari dnsmasq, jadi meskipun NM + dnsmasq menyertakan server DNS asli, kita harus menjalankan dnsmasq lainnya
Tapi saya tidak yakin apakah mereka masih memegang dan / atau bagaimana perbaikannya telah memecahkan masalah. Lebih jauh, tidak satupun dari mereka yang sangat jelas apa yang mereka lakukan dan bagaimana mereka lakukan untuk menyelesaikan masalah mereka. Yaitu, bagian solusinya hilang dari diskusi panjang . Bisakah seseorang mengisi bagian yang kosong? Yaitu,
The dnsmasq
disediakan out-of-box dengan Ubuntu tidak bekerja, pada sisi server, karena alasan di atas. Dan juga, di sisi klien, "dnsmasq yang diinstal pada laptop Ubuntu tersebut tidak dapat melakukan permintaan DNS LAN dari server DNS saya" , karena "NetworkManager (Ubuntu laptops) menyebabkan mereka memiliki pengaturan nameserver 127.0.1.1 yang aneh" ( ref: solusi DNS untuk LAN atau jaringan rumah lokal )
Bagaimana membuat dnsmasq agar bekerja dengan NetworkManager, sehingga dapat memberikan DNS dan DHCP (dan TFTP) ke jaringan lokal saya, baik di sisi server dan klien?
TL'dr
bagi mereka yang mencari jawabannya. Dari semua jawaban di bawah ini, saya menemukan solusi paling sederhana adalah @ brad, untuk sisi server (masih belum ada jawaban yang baik untuk sisi klien):
satu-satunya solusi untuk masalah ini adalah dengan menonaktifkan NM-drive dnsmasq ..., dan menginstal "standar" dnsmasq dan kemudian mengkonfigurasinya melalui
/etc/dnsmasq.conf
file konfigurasi standarnya .