Sistemim tarafından kullanılan DNS sunucularını listelemek için komut satırı


254

Sistemim tarafından kullanılan dns sunucularını listelemek için bir komut var mı?

denedim

$ 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

Ancak “Ağ Yöneticisi GUI Aracı” na gidersem, Kablosuz bölümünde “DNS 192.168.1.1 8.8.8.8 8.8.4.4” listelenir.

Aynı bilgiyi komut satırından da alabilir miyim?

Ubuntu 12.04 LTS kullanıyorum


Ne bulmaya çalışıyorsun? DNS sunucuları sisteminiz tarafından kullanılıyor mu? veya DNS araması yapmaya mı çalışıyorsunuz?
Thomas Ward

Eski @LordofTime
ish

@LordofTime DNS sunucuları sistemim tarafından kullanılıyor
Anurag Uniyal

127.0.0.1 kullanıyorsunuz. Eğer edilir çalışan bir DNS sunucusu?
Skaperen

Bkz unix.stackexchange.com/q/28941/38647 bu soru olmayan bir Ubuntu sürümü için
mwfearnley

Yanıtlar:


250

resolv.conf artık kendiniz uygulamıyorsanız, gerçekten kullanılmıyor. Ağ yöneticisi şimdi yapıyor. OpenDNS’den Google’ın açık DNS’ine geçiş yaparken sistemimdeki DNS sunucularını listelemek için bir diğer ad oluşturdum.

Ubuntu> = 15

nmcli device show <interfacename> | grep IP4.DNS

Ubuntu <= 14

nmcli dev list iface <interfacename> | grep IP4

Benim durumumda, <interfacename>olduğu eth0, her zaman böyle yaygındır, ancak hangi.

Bakalım istediğin bu mu?

DÜZENLE:

Resolv.conf dosyasının aslında dolaylı olarak kullanıldığını düşünüyorum, çünkü ağ yöneticisi 127.0.0.1'de dinleyen sunucuyu yaratıyor, ancak bunun dikkate alınmaması gereken bir uygulama detayı olduğu söylendi. Bu girişten önce DNS adreslerini girerseniz, bunların kullanılabileceğini, ancak bunun tam olarak nasıl çalıştığından emin değilim. Mümkünse çoğu durumda ağ yöneticisini kullanmak en iyisidir.


2
teşekkürler, evet, çalışıyor gibi görünüyor, ubuntu ağları kafa karıştırıcı gibi görünüyor, bu yüzden dns sunucularını resol.conf / base ya da / etc / network / arabirimleri ya da ağ yöneticisinde ayarlayabilirim, ubuntu ağı için kesin bir rehber var mı?
Anurag Uniyal

GUI kullanıyorsanız, ayarlamak için en iyi yer Ağ Bağlantıları İletişim Kutusunda profiller oluşturmaktır. Varsayılanı kopyaladım, daha sonra istediğim değişiklikleri yapmak için kopyayı düzenledim, varsayılanı her zaman çalışan bir profilim olduğundan emin olmak için korudum. Ardından, profilleri değiştirmek kolaydır. GUI olmadan nasıl yapılacağını bilmiyorum, ama Ubuntu'nun ağları hakkında çok bilgili bir kullanıcı "James Henstridge" var; Onun bilgi için askubuntu aramayı deneyebilirsiniz. Bana bu yazıda verdiğim emirden bahsetti .
Marty Fried

1
stgraber.org/2012/02/24/dns-in-ubuntu-12-04 ubuntu'da DNS çözünürlüğüne uygun güzel bir makale 12.04
Anurag Uniyal

6
15.04 kullanıyorum ve 'nmcli dev show | grep DNS' bunun yerine benim için çalışıyor.
flickerfly

1
@ vcardillo: Orijinal soru belirtti: "Ubuntu 12.04 LTS kullanıyorum". Cevabımı gönderdiğimden beri 5 yıl geçti. Hiç bir şey sonsuza dek sürmez.
Marty Fried

85

Bu Ubuntu 13.10 ve önceki sürümler için geçerlidir. Ubuntu 14.04 ve üstü için bkz. Koala Yeung'un şu yanıtı: Ubuntu'da 14.04'ten itibaren hangi DNS'i kullanıyorum?


kullanım

nm-tool

Buna benzer bir çıktı alacaksınız

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

Veya sadece DNS’leri görmek için

nm-tool | grep DNS

1
sadece eklenti yapmak istedim, nm-appletbağlantı bilgileri menüsü de çalışacak :)
Samik

1
+1 de bu şekilde çalışır, @Marty Fried
Anurag Uniyal

2
Lubuntu 14.04'te de harika çalışıyor. teşekkürler
jamescampbell 21:15

2
nm-aracı 15.10 da bulunmuyor
labirent

1
evet bu artık işe yaramaz ... hayır nm-tool. nmcli(Marty
Fried'ın

46

En yüksek puan alan iki cevap nmcli dev list iface <interfacename> | grep IP4ve nm-toolher ikisi de ağ yöneticisinin kontrol altında olduğunu varsayar. Hangisi - masaüstü bilgisayarlarda en azından çoğu zaman. Ancak daha kesin cevap bazen ağ yöneticisinin kontrolde olmamasıdır. Örneğin vpncuğraşamaz /etc/resolv.confdoğrudan.

Yani: Öncelikle 127.0.0.1/localhost kullanılıp kullanılmadığını kontrol edin. Bu ile yapılabilir dig:

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

Şimdi biliyoruz ki vardır localhost kullanarak. Popüler cevaplardan biriyle devam edin. Severim:

> nm-tool | grep DNS:
    DNS:             8.8.8.8

127.0.0.1/localhost Ama eğer değil kullanılan, daha sonra nm-tool'lar ve nmcli' ın çıkış yanıltıcı olacaktır:

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

Burada digdoğru ve nm-toolbilgileri yanıltıcıdır. Gerçekte, VPN'ye dahil ettiğim çevreye yerel adresler doğru şekilde çözümlendi. Bütün bunlar Google'ın DNS 8.8.8.8 gelmez biliyorum.

Bunun nedeni, bir VPN'e bağlandıktan sonra vpnc, şöyle görünmesi için bir satır yerleştirmesi /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 1.2.3.4
nameserver 127.0.0.1
search MyDomain

3
Bu en eksiksiz cevaptır
Marinos An

Teşekkür ederim. Buradaki bazılarımız NM kullanmıyor ve bu toplum için iyi.
Stephen Boston

Sadece tamamlanması için, digyardımcı program ile kolayca yüklenebilir apt install dnsutils.
Daniele Brugnara

32

cat /etc/resolv.conf DNS sunucularınızı göstermeli.

resolv.confDoğrudan Ubuntu 12.04 ile değiştiremezsiniz . Bunları değiştirmeniz gerekiyorsa /etc/network/interfaces, aşağıdakileri ekleyerek dosyanıza yeni DNS sunucuları ekleyebilirsiniz :

 dns-nameservers x.x.x.x x.x.x.x

xkullanmak istediğiniz DNS sunucuları nerede ?

Yerinde olsam kaldırırdım network-manager. Bence bu bir bok yığını.

Özellikle bilgisayarda birden fazla NIC varsa, ayarlarınızı değiştirmeden endişelenmeden manuel olarak yapmanız gereken her şeyi başarabilirsiniz.


2
Dns değişikliğini yaptıktan sonra nm'yi yeniden başlatmam gerekir mi?
Bhargav Nanekalva

1
--Teşekkürler. Bu harika. Bu ağ yöneticisi işi olmadan bile çalışır.
Adam,

"cat /etc/resolv.conf, DNS sunucularınızı göstermelidir". Öyle değil.
Marinos

25

Ubuntu 18.04’de kullanabilirsiniz systemd-resolve --status


NB eğer kedi / etc / resolv.conf bunu söylese bile
Rqomey

11

nmcli sürüm 0.9.10

Bu komutlardan herhangi birini kullanabilirsiniz:

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


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.