Saya ingin mendapatkan resolusi dns cepat dengan dnsmasq dan menjaga sistem default-diselesaikan.
Mencari cara yang elegan untuk melakukan ini
network-manager
18.04
dns
dnsmasq
systemd-resolved
cmak.fr
sumber
sumber
Jawaban:
Saya ingin mendapatkan resolusi dns cepat dengan dnsmasq dan menjaga pengaturan default systemd-resolved / NetworkManager tidak tersentuh untuk penggunaan di masa mendatang. Ya, caching dns dnsmasq yang sangat besar dapat meningkatkan kecepatan penelusuran. Ya tujuannya adalah untuk menjaga pengaturan fitur default dns 18,04
1 - Dengan sudo
2 - Dengan sudo
3 - Dengan USER, konfigurasikan NetworkManager
4 - Periksa verifikasi
sumber
Saya mencoba mencari solusi yang masuk akal dan terlihat ada pendekatan yang berbeda.
Saya ingin tetap paling dalam dalam tata letak distribusi sambil menjaga semua persyaratan bisnis terpenuhi. Inilah yang saya kumpulkan dan diuji untuk bekerja pada Ubuntu clean 18,04 dan KDE Neon rasa:
(harap dicatat bahwa satu-satunya perbedaan umum dengan jawaban di atas adalah bahwa NetworkManager menangani penugasan server DNS dnsmasq secara otomatis
sumber
Seperti yang Anda ketahui, Docker menyalin file host /etc/resolv.conf ke wadah tetapi menghapus server nama lokal apa pun.
Solusi saya untuk masalah ini adalah tetap menggunakan systemd-resolvd dan NetworkManager tetapi menambahkan dnsmasq dan menggunakannya untuk "meneruskan" Docker memuat permintaan DNS ke systemd-resolvd .
Panduan langkah demi langkah:
sudo rm /etc/resolv.conf sudo touch /etc/resolv.conf
[main] # NetworkManager will push the DNS configuration to systemd-resolved dns=systemd-resolved # NetworkManager won’t ever write anything to /etc/resolv.conf rc-manager=unmanaged
sudo apt-get -y install dnsmasq
# Use interface docker0 interface=docker0 # Explicitly specify the address to listen on listen-address=172.17.0.1 # Looks like docker0 interface is not available when dnsmasq service starts so it fails. This option makes dynamically created interfaces work in the same way as the default. bind-dynamic # Set systemd-resolved DNS server server=127.0.0.53
# systemd-resolvd name server nameserver 127.0.0.53 # docker host ip nameserver 172.17.0.1
sudo service network-manager restart sudo service dnsmasq restart sudo service docker restart
Untuk info lebih lanjut lihat posting saya (dalam bahasa Spanyol) https://rubensa.wordpress.com/2020/02/07/docker-no-usa-los-mismos-dns-que-el-host/
sumber
Ubuntu 18.10
IMHO, jika Anda akan menjalankan dnsmasq, Anda harus menetapkan alamat ip Anda secara statis alih-alih mendapatkannya dari dhcp. Dengan cara ini Anda bisa menonaktifkan semua sistemd-diselesaikan.
sudo apt-get install dnsmasq
sudo systemctl nonaktifkan systemd-diselesaikan
sudo systemctl berhenti systemd-diselesaikan
Tetapkan alamat ip, gateway, dan tetapkan alamat ip secara manual ke mesin Anda sebagai DNS.
konfigurasikan /etc/dnsmasq.conf (benar-benar ... RTFM -> man dnsmasq.conf)
sudo systemctl aktifkan dnsmasq
sudo systemctl status dnsmasq
arahkan dhcp pada server dhcp Anda ke server dnsmasq baru Anda yang mengkilap (..jika yumpto)
sumber