Apakah ada perintah untuk daftar server dns yang digunakan oleh sistem saya?
Saya mencoba
$ cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 127.0.0.1$ cat /etc/network/interfaces # interfaces(5) file used by ifup(8) and ifdown(8)auto loiface lo inet loopback
Tapi itu tidak mencantumkan server apa pun, jika saya pergi ke "Network Manager GUI Tool" , di bagian nirkabel itu mencantumkan "DNS 192.168.1.1 8.8.8.8 8.8.4.4"
Bisakah Saya mendapatkan informasi yang sama dari baris perintah?
resolv.conf tidak benar-benar digunakan lagi, kecuali jika Anda menerapkannya sendiri. Manajer jaringan melakukannya sekarang. Saya membuat alias untuk mencantumkan server DNS di sistem saya, karena terkadang saya beralih dari OpenDNS ke DNS terbuka Google.
>Ubuntu = 15
nmcli device show <interfacename> | grep IP4.DNS
Ubuntu <= 14
nmcli dev list iface <interfacename> | grep IP4
Dalam kasus saya, <interfacename> adalah eth0, yang umum, tetapi tidak selalu terjadi.
Lihat apakah ini yang kau inginkan.
EDIT:
Saya pikir resolv.conf sebenarnya digunakan secara tidak langsung, karena manajer jaringan membuat server yang mendengarkan pada 127.0.0.1, tetapi saya diberitahu bahwa ini adalah detail implementasi yang tidak boleh diandalkan. Saya pikir jika Anda memasukkan alamat DNS sebelum entri ini, mereka mungkin akan digunakan, tetapi saya tidak yakin persis bagaimana ini bekerja. Saya pikir yang terbaik adalah menggunakan manajer jaringan dalam banyak kasus, bila memungkinkan.
Dua jawaban top-scoring, nmcli dev list iface <interfacename> | grep IP4 dan nm-tool keduanya menganggap bahwa network-manager memegang kendali. Yang itu - pada mesin desktop sebagian besar waktu setidaknya. Tapi jawaban yang lebih lengkap adalah bahwa kadang-kadang jaringan-manager tidak memegang kendali. Misalnya. vpnc messes dengan /etc/resolv.conf langsung.
Jadi: periksa dulu apakah 127.0.0.1 / localhost digunakan. Ini bisa dilakukan dengan dig:
Di sini, dig adalah benar dan nm-toolinformasi ini menyesatkan. Pada kenyataannya alamat lokal ke lingkungan yang saya VPN-ed ke diselesaikan dengan benar. Semua yang DNS Google 8.8.8.8tidak tahu tentang.
Ini karena setelah terhubung ke VPN dengan vpnc, ini menempatkan garis di /etc/resolv.conf jadi sepertinya:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 1.2.3.4nameserver 127.0.0.1search MyDomain
cat /etc/resolv.conf harus menunjukkan server DNS Anda.
Anda tidak dapat memodifikasi resolv.conf langsung dengan Ubuntu 12.04. Jika Anda perlu mengubahnya, Anda dapat menambahkan server DNS Baru di /etc/network/interfaces file dengan menambahkan berikut:
dns-nameservers x.x.x.x x.x.x.x
dimana x adalah server DNS yang ingin Anda gunakan.
Jika saya jadi Anda, saya akan mencopot pemasangan network-manager. Menurut pendapat saya itu tumpukan omong kosong.
Anda dapat menyelesaikan semua yang perlu Anda lakukan secara manual tanpa khawatir mengubah pengaturan Anda, terutama jika Anda memiliki beberapa Nic di komputer.
Menakjubkan berapa banyak cara yang ada untuk melakukannya. Pada server Ubuntu 18.04, jika Anda tidak ingin menginstal sesuatu yang ekstra seperti nm-tool, lalu systemd-resolve --status akan bekerja di luar kotak untuk informasi DNS.
Jika Anda tertarik untuk mendapatkan tidak hanya server DNS Anda, tetapi juga gateway default, alamat IP, network mask, dll, maka netplan ip leases eth0 akan memberi Anda semua informasi itu dalam bentuk yang mudah dibaca (dengan asumsi Anda tertarik pada eth0 antarmuka).
systemd-resolve --status | grep -B 9 -A 6 "Current DNS Server"
memberi saya hasil yang jelas tentang DNS apa yang digunakan untuk setiap adaptor menggunakan DNS.
Untuk mengkonfigurasi ulang DNS
man systemd-resolved
mengungkapkan server DNS dihubungi ditentukan oleh pengaturan global di /etc/systemd/resolved.conf.
Sudo mengedit file itu dan Tanda Komentar dan mengatur DNS= dan FallbackDNS= ke server DNS IPv4 yang Anda inginkan.Misalnya, DNS=8.8.8.8 dan FallbackDNS=8.8.4.4 akan menggunakan Google Public DNS.Restart mesin untuk menerapkan perubahan.
@ PLA, terima kasih untuk ini jawaban yang membawa saya ke jalan ini.