Setelah memutakhirkan instalasi 16,04 saya ke 16,10, saya mengalami masalah dengan DNS.
Pertama, saya mendapat masalah beberapa kali ketika terhubung ke WiFi, sementara itu bekerja pada ethernet. Sekarang sepertinya berfungsi pada WiFi juga. Tidak yakin mengapa, dan jika itu terkait dengan masalah yang saya hadapi sekarang:
Saat menghubungkan ke host VPN dengan Cisco Anyconnect VPN , ia menambahkan baris di '/etc/resolv.conf' . Saya mengerti bahwa Ubuntu sekarang menggunakan systemd-resol , dan halaman manual mengatakan bahwa ada tiga mode berbeda untuk menangani /etc/resolv.conf. /Etc/resolv.conf saya bukan symlink, dan tidak mencantumkan 127.0.0.53 sebagai server DNS, jadi sejauh yang saya mengerti systemd-resolved harus "membacanya untuk data konfigurasi DNS". Namun, sepertinya tidak peduli.
menggali
Yang aneh (bagi saya) adalah bahwa dig host.customer.tld
, mengembalikan jawaban yang bagus dengan BAGIAN JAWABAN yang menunjukkan ip dari host yang diminta, dan mengacu pada server dns yang ditambahkan ke /etc/resolv.conf oleh vpn client sebagai SERVER. Ketika koneksi vpn dinonaktifkan, saya tidak mendapat jawaban. Yaitu menggali membaca /etc/resolv.conf .
ping
Browser, di sisi lain, tidak bisa ke /etc/resolv.conf, dan tidak dapat menyelesaikan nama host. Omong-omong, tidak juga ping / curl.
nmcli
Saya menemukan pos terkait , dan mencoba berjalan
nmcli device show <interfacename> | grep IP4.DNS
tetapi tidak mencantumkan dns untuk perangkat cscotun0. (Tidak juga di 16.04.) Juga, nmcli mendaftar server dhcp saya (router saya) sebagai host IP4.DNS untuk koneksi eth / wlan saya. Penggunaan dig @192.168.0.1 xxx
untuk domain publik apa pun berfungsi dengan baik.
konfigurasi
Ada beberapa server DNS lain yang terdaftar di /run/systemd/resolve/resolv.conf saya:
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 2001:4860:4860::8888
# Too many DNS servers configured, the following entries may be ignored.
nameserver 2001:4860:4860::8844
Ini tidak dilayani oleh server DHCP saya. file /etc/systemd/resolved.conf hanya berisi baris yang dikomentari, kecuali header bagian:
[Resolve]
#DNS=
#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
Halaman manual untuk resolved.conf mengatakan itu
DNS = Daftar alamat IPv4 dan IPv6 yang dipisahkan oleh ruang untuk digunakan sebagai server DNS sistem. ... Untuk alasan kompatibilitas, jika pengaturan ini tidak ditentukan, server DNS yang terdaftar di /etc/resolv.conf digunakan sebagai gantinya, jika file itu ada dan server mana pun yang dikonfigurasi di dalamnya. Pengaturan ini default ke daftar kosong.
FallbackDNS = Daftar alamat IPv4 dan IPv6 yang dipisahkan oleh ruang untuk digunakan sebagai server DNS cadangan. Server DNS per-tautan apa pun yang diperoleh dari systemd-networkd.service (8) lebih diutamakan daripada pengaturan ini, seperti halnya server mana pun yang diatur melalui DNS = di atas atau /etc/resolv.conf. Pengaturan ini karenanya hanya digunakan jika tidak ada informasi server DNS lainnya yang diketahui. Jika opsi ini tidak diberikan, daftar server DNS yang dikompilasi digunakan sebagai gantinya.
Sepertinya fallback berakhir di / run/systemd/resolve/resolv.conf dalam kasus saya.
EDIT: Saya tidak yakin apa masalahnya, dan sejujurnya saya masih tidak tahu persis bagaimana ini bekerja, tetapi setidaknya ternyata solusi dalam kasus saya adalah menonaktifkan systemd-resolved
layanan. Saya pikir layanan diperlukan, bahwa itu adalah komponen yang menyediakan layanan DNS untuk semua aplikasi lokal, tetapi ternyata ada sesuatu yang lain di sana melakukan pekerjaan itu.
sumber
Jawaban:
Saya mengalami masalah yang serupa, misalnya dengan menambahkan dongle wifi USB tambahan. Pertama saya menonaktifkan dnsmasq di networkmanager seperti yang dijelaskan di atas dan saya menghentikan dnsmasq (service dnsmasq stop)
Saya perhatikan bahwa ketika pemecahan rusak saat menghubungkan VPN saya, tabel routing terlihat sedikit berbeda (output dari perintah rute). Nama Gateway adalah DD-WRT dalam kasus itu tidak berfungsi dan hanya 'gateway' ketika itu berfungsi. Output dari ini tidak berubah:
Itu terus menunjukkan IP router saya. Solusi untuk mengaktifkannya untuk sementara waktu adalah memulai ulang systemd-resolvd:
Karena dnsmasq berada di luar persamaan, itu adalah systemd-resolvd yang menjadi penyebab masalah, atau apa pun yang mengubah tabel routing.
Jadi ini satu-satunya perbedaan yang saya lihat:
yang bekerja Dan ini ketika itu TIDAK bekerja:
Dan perbedaan nama yang sama pada jalur VPN:
Siapa yang tahu apa yang dapat memengaruhi tabel routing? Alangkah baiknya jika kita bisa mengidentifikasi ini sehingga laporan bug dapat diajukan. Saya sakit parah dan lelah mengejar semua bug ini, tetapi saya ingin memperbaikinya sehingga pengguna di masa depan dan kami akan senang :).
[pembaruan] Tampaknya menghentikan penyelesaian sistemd dapat memperbaikinya dan tidak berdampak negatif pada hal-hal lain. Anda dapat mencobanya dan beri tahu jika itu merusak barang. Saya melihat ketika menjalankan systemd-resolvd di debug ketika rusak:
Untuk menonaktifkan:
Saya memperbarui laporan Ubuntu dengan saran. [/ perbarui] Tambahkan: Catatan: laporan bug: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624317 memiliki tambalan untuk 17,04 untuk beberapa masalah. Silakan periksa laporan bug dan jika mungkin uji tambalan. Terima kasih!
[memperbarui]
Silakan periksa laporan bug yang disebutkan di atas, masalah ini tampaknya diselesaikan untuk 17.10 dan dengan perintah sederhana kebocoran DNS dapat dinonaktifkan juga.
[/memperbarui]
sumber
sudo systemctl disable systemd-resolved.service
dan mengatur dns. ke 8.8.8.8 di /etc/resolv.confPerilaku DNS selama koneksi OpenVPN membaik segera ketika saya mengikuti saran tentang ubuntuforums:
/etc/NetworkManager/NetworkManager.conf
di editor dengan hak root.#
) baris yang bertuliskandns=dnsmasq
sudo service NetworkManager restart
sumber
Berlari ke masalah yang sama. Entah bagaimana saya harus menginstal DNSmasq dengan beberapa aplikasi. Cukup menghapus dnsmasq memecahkan masalah untuk saya.
Sejak itu, tidak ada lagi terputus atau beberapa situs tidak dapat memuat lagi (saya punya masalah memuat gmail, yaitu tiba-tiba tidak dapat terhubung ke gmail, meskipun situs lain berfungsi).
sumber
apt remove dnsmasq-base
...The following packages will be REMOVED: account-plugin-ubuntuone checkbox-converged checkbox-gui dnsmasq-base indicator-network network-manager network-manager-gnome network-manager-openconnect network-manager-openconnect-gnome network-manager-openvpn network-manager-openvpn-gnome network-manager-pptp network-manager-pptp-gnome network-manager-vpnc pay-service plainbox-provider-checkbox plainbox-provider-resource-generic ubuntu-desktop ubuntu-fan ubuntu-push-client ....
Edit
/etc/nsswitch.conf
dan ubahuntuk
Edit:
Saya mendapat masalah yang sama untuk beberapa waktu. Saya dapat menyelesaikan nama domain dari vpn tetapi saya tidak dapat melakukan ping atau meringkuknya atau menggunakannya di aplikasi lain. Perubahan yang dijelaskan di atas memecahkannya untuk saya.
sumber