Pertanyaan Command-line untuk daftar server DNS yang digunakan oleh sistem saya


Apakah ada perintah untuk mendaftarkan 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 OVERWRITTEN
nameserver 127.0.0.1
$ cat /etc/network/interfaces 
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

Tapi itu tidak mencantumkan server apa pun, jika saya pergi ke "Network Manager GUI Tool", di bagian Wireless itu mencantumkan "DNS 192.168.1.1 8.8.8.8 8.8.4.4"

Bisakah saya mendapatkan informasi yang sama dari baris perintah?

Saya menggunakan Ubuntu 12.04 LTS


198
2018-06-18 14:36


asal


Apa yang Anda coba temukan? server DNS yang digunakan oleh sistem Anda? atau apakah Anda mencoba melakukan pencarian DNS? - Thomas Ward♦
Mantan @LordofTime - ish
Server DNS @LordofTime digunakan oleh sistem saya - Anurag Uniyal
Anda menggunakan 127.0.0.1. Apakah kamu berlari server DNS? - Skaperen
Lihat unix.stackexchange.com/q/28941/38647 untuk versi non-Ubuntu dari pertanyaan ini - mwfearnley


Jawaban:


resolv.conf tidak benar-benar digunakan lagi, kecuali Anda menerapkannya sendiri. Manajer jaringan melakukannya sekarang. Saya membuat alias untuk mencantumkan server DNS di sistem saya, karena saya terkadang 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 hal ini, <interfacename> aku s eth0, yang umum, tetapi tidak selalu demikian.

Lihat apakah ini yang Anda inginkan.

EDIT:

Saya pikir resolv.conf benar-benar digunakan secara tidak langsung, karena manajer jaringan menciptakan server yang mendengarkan 127.0.0.1, tetapi saya diberitahu bahwa ini adalah detail implementasi yang seharusnya tidak diperhitungkan. Saya pikir jika Anda memasukkan alamat DNS sebelum entri ini, mereka mungkin akan terbiasa, tetapi saya tidak yakin bagaimana cara kerjanya. Saya pikir sebaiknya menggunakan pengelola jaringan dalam banyak kasus, jika memungkinkan.


198
2018-06-18 15:20



terima kasih, ya itu sepertinya berfungsi, ubuntu networking sepertinya membingungkan, jadi saya bisa mengatur server dns di resolve.conf / base atau di / etc / network / interfaces atau di network manager, apakah ada panduan definitif untuk jaringan ubuntu? - Anurag Uniyal
Jika Anda menggunakan GUI, maka tempat terbaik untuk mengaturnya adalah dengan membuat profil di Dialog Koneksi Jaringan. Saya menduplikasi default, lalu mengedit duplikat untuk membuat perubahan yang saya inginkan, menjaga default untuk memastikan saya selalu memiliki profil kerja. Kemudian, mudah untuk berpindah profil. Saya tidak tahu bagaimana melakukan ini tanpa GUI, tetapi ada pengguna "James Henstridge" yang sangat berpengetahuan di jaringan Ubuntu; Anda dapat mencoba mencari askubuntu untuk informasinya. Dia memberitahuku tentang perintah yang kuberikan padamu posting ini. - Marty Fried
stgraber.org/2012/02/24/dns-in-ubuntu-12-04 adalah artikel bagus tentang resolusi DNS di ubuntu 12.04 - Anurag Uniyal
Tautan yang bagus - banyak informasi yang bagus di sana untuk dicerna. - Marty Fried
Saya menggunakan 15.04 dan 'nmcli dev show | grep DNS' bekerja untuk saya sebagai gantinya. - flickerfly


Ini berlaku untuk Ubuntu 13.10 dan sebelumnya. Untuk Ubuntu 14.04 ke atas, lihat Jawaban Koala Yeung untuk: Bagaimana cara mengetahui DNS apa yang saya gunakan di Ubuntu mulai dari 14.04 dan seterusnya


Menggunakan

nm-tool

Anda akan mendapatkan hasil yang mirip dengan

NetworkManager Tool

State: connected (global)

- Device: eth0  [Wired connection 1] -------------------------------------------
  Type:              Wired
  Driver:            e1000e
  State:             connected
  Default:           yes
  HW Address:        00:11:22:33:44:55

  Capabilities:
    Carrier Detect:  yes
    Speed:           1000 Mb/s

  Wired Properties
    Carrier:         on

  IPv4 Settings:
    Address:         10.21.6.13
    Prefix:          24 (255.255.255.0)
    Gateway:         10.21.6.1

    DNS:             10.22.5.133
    DNS:             10.22.5.3

Atau hanya melihat DNS lakukan

nm-tool | grep DNS

82
2018-06-18 15:22



hanya ingin menambah, pergi ke nm-appletMenu informasi koneksi juga akan berfungsi :) - Samik
+1 ini juga berfungsi, seperti halnya nm-cli sebagaimana dijawab oleh @Marty Fried - Anurag Uniyal
Ya, info yang sama, tetapi nmcli lebih mudah diuraikan jika Anda ingin mengekstraknya untuk presentasi yang berbeda, seperti conky, atau hanya ringkasan seperti grep saya. - Marty Fried
berfungsi dengan baik pada lubuntu 14.04 juga. Terima kasih - jamescampbell
nm-tool tidak ditemukan pada 15.10 - labyrinth


Dua jawaban teratas, nmcli dev list iface <interfacename> | grep IP4 dan nm-tool keduanya menganggap bahwa manajer jaringan memegang kendali. Yang itu - pada mesin desktop sebagian besar waktu setidaknya. Tetapi jawaban yang lebih lengkap adalah bahwa terkadang manajer jaringan tidak memegang kendali. Misalnya. vpnc mengacaukan /etc/resolv.conf langsung.

Jadi: Pertama, periksa apakah 127.0.0.1/localhost digunakan. Ini bisa dilakukan dengan dig:

> dig something.unknown  | grep SERVER:
;; SERVER: 127.0.0.1#53(127.0.0.1)

Sekarang Anda tahu kami adalah menggunakan localhost. Lanjutkan dengan salah satu jawaban populer. Saya suka:

> nm-tool | grep DNS:
    DNS:             8.8.8.8

Tetapi jika 127.0.0.1/localhost adalah tidak digunakan, lalu nm-tooldan nmcliHasil akan menyesatkan:

> dig something.unknown  | grep SERVER:
;; SERVER: 172.22.216.251#53(172.22.216.251)
> nm-tool | grep DNS:
    DNS:             8.8.8.8

Sini, dig benar dan nm-toolInformasi itu menyesatkan. Dalam kenyataannya alamat lokal ke lingkungan saya sudah VPN-ed ke diselesaikan dengan benar. Semua itu DNS Google 8.8.8.8  tidak tahu tentang.

Ini karena setelah terhubung ke VPN dengan vpnc, itu membuat garis /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 OVERWRITTEN
nameserver 1.2.3.4
nameserver 127.0.0.1
search MyDomain

32
2018-05-28 19:19



Ini jawaban paling lengkap - Marinos An
Terima kasih. Beberapa dari kita di sini tidak menggunakan NM dan itu bagus untuk masyarakat. - Stephen Boston


cat /etc/resolv.conf harus menunjukkan server DNS Anda.

Anda tidak dapat mengubah resolv.conf langsung dengan Ubuntu 12.04. Jika Anda perlu mengubahnya, Anda dapat menambahkan server DNS baru di server Anda /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 menghapusnya network-manager. Menurut saya itu adalah tumpukan sampah.

Anda dapat mencapai semua yang perlu Anda lakukan secara manual tanpa perlu khawatir mengubah pengaturan Anda, terutama jika Anda memiliki banyak NIC di komputer.


29
2018-05-03 15:27



Apakah saya harus me-restart nm setelah melakukan perubahan dns? - Bhargav Nanekalva
--Terima kasih. Ini luar biasa. Ia bekerja bahkan tanpa bisnis network-manager. - Adam
"cat /etc/resolv.conf akan menunjukkan server DNS Anda". Tidak. - Marinos An


nmcli versi 0.9.10

Anda dapat menggunakan salah satu dari perintah ini:

nmcli -t -f IP4.DNS device show eth0
IP4.DNS[1]:192.168.1.1
IP4.DNS[2]:8.8.8.8

nmcli -t -f IP4.DNS connection show conn-name
IP4.DNS[1]:192.168.1.1
IP4.DNS[2]:8.8.8.8

8
2017-08-19 10:03





Di Ubuntu 15.10 Anda bisa mendapatkan DNS

nmcli device show <interface name> 

2
2018-03-02 18:09





Sepertinya dikelola oleh pengelola jaringan. Silahkan lihat di sini http://manpages.ubuntu.com/manpages/precise/man5/NetworkManager.conf.5.html

untuk penjelasan yang besar.

Atau versi singkatnya untuk dilihat

 /etc/NetworkManager/NetworkManager.conf

atau

 <SYSCONFDIR>/NetworkManager/NetworkManager.conf

0
2018-06-18 14:46



tapi /etc/NetworkManager/NetworkManager.conf tidak memiliki server dns yang tercantum di dalamnya - Anurag Uniyal