Ubuntu 17.04 pencarian DNS yang diselesaikan sistemd gagal secara acak

Saya meng-upgrade ke Ubuntu 17.04 dan tampaknya sekarang memiliki mekanisme resolver DNS baru yang pertama kali diperkenalkan di Ubuntu 16.10.

Saya sekarang mendapatkan kegagalan pencarian DNS 50% dari waktu yang ada. Setiap panggilan lain ke nslookup gagal, dengan separuh panggilan menyelesaikan dengan baik dan separuhnya lagi memberikan ini:

watch -n 1 nslookup google.com

Server:     127.0.0.53
Address:    127.0.0.53#53

** server can't find google.com: SERVFAIL

Dari apa yang saya pahami, alamat IP server DNS itu sekarang digunakan untuk mewakili systemd-resolved, yang melakukan semacam meta lookup untuk menghindari kueri DNS yang lebih lambat (atau semacamnya...). Saya melihat perilaku yang sama persis pada dua mesin yang telah saya upgrade ke 17.04 dalam seminggu terakhir.

Adakah yang tahu apa masalahnya di sini, dan cara yang benar untuk mengatasinya?

Semuanya berfungsi dengan baik sebelum upgrade (dari 16.04 atau 16.10, saya tidak ingat yang mana, maaf). Saya PIKIR 17.04 adalah rilis LTS, tetapi sekarang saya melihat bahwa saya telah melewatkan kesempatan dan itu tidak akan dianggap stabil sampai bulan April. Jadi... di sinilah saya.

Juga sebagai catatan... browser tampaknya tidak menunjukkan masalah, tetapi nslookup, ping, git, dll. melakukannya.

Larutan

Ubuntu 17.04 tidak dapat menyelesaikan server DNS dengan dukungan DNSSEC pada 2017-04-18. Nonaktifkan DNSSEC dengan daemon ini:

sudo mkdir -p /etc/systemd/resolved.conf.d
printf "[Resolve]\nDNSSEC=no\n" | sudo tee /etc/systemd/resolved.conf.d/no-dnssec.conf

Secara opsional, konfigurasikan ulang resolvconf jika Anda mengacaukannya (katakan ya untuk "prepare /etc/resolve.conf for dynamic updates?"):

sudo dpkg-reconfigure resolvconf

Mulai ulang systemd-resolve:

sudo systemctl restart systemd-resolved

DNS Anda seharusnya mulai bekerja. Anda dapat memeriksanya dengan mencoba systemd-resolve www.google.com dan melihat responnya.

Komentar (8)

Saya sudah bolak-balik antara manajemen systemd-resolved dan manual /etc/resolv.conf dan belum menemukan mekanisme systemd DNS resolver yang stabil.

Tampaknya ada setidaknya satu libnss bug di Ubuntu 16.10 dan tampaknya masih di 17.04. Ada banyak orang dengan masalah DNS sejak Ubuntu 16.10 dihidupkan systemd-resolved, di sini adalah salah satu analisis dan di sini adalah solusi orang lain. Tak satu pun dari mereka bekerja untuk saya sampai saya secara manual menimpa /etc/resolv.conf dengan server DNS google's.


nameserver 8.8.8.8   
Komentar (4)

Ubuntu 17.04 dan distro lainnya merangkul systemd, yang mencakup systemd-resolved, yang membuat pengguna harus menghadapi resolusi DNS yang agak berat.

  • Seperti yang disebutkan dalam jawaban SjB, dukungan DNSSEC dapat menyebabkan masalah.
  • systemd-resolved melakukan ping pada semua DNS resolver sehingga dapat menggunakan yang tercepat. Hal ini dapat menyebabkan masalah dengan VPN dll di lingkungan yang lebih kompleks.
  • Sertifikat server DNS diverifikasi, saya pernah mengalami kesalahan jika jam saya miring.

Saya tidak berpikir bahwa ini adalah perubahan yang BURUK, hanya saja BANYAK perubahan. Saya akan mencoba memperbarui dan memperluas jawaban ini saat saya belajar lebih banyak.

Komentar (0)