Sistemimin kullandığı DNS sunucularını listelemek için komut satırı

197

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, herhangi bir sunucuyu listelemez, eğer "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" listeler.

Aynı bilgileri komut satırından alabilir miyim?

Ubuntu 12.04 LTS kullanıyorum

    
sordu Anurag Uniyal 18.06.2012 16:36

7 cevap

197

resolv.conf artık kendiniz uygulanmadıkça artık kullanılmıyor. Ağ yöneticisi şimdi yapıyor. Sistemimdeki DNS sunucularını listelemek için bir takma ad oluşturdum, çünkü bazen OpenDNS'den Google'ın açık DNS'sine geçiyorum.

Ubuntu & gt; = 15

nmcli device show <interfacename> | grep IP4.DNS

Ubuntu <= 14

nmcli dev list iface <interfacename> | grep IP4

Benim durumumda, <interfacename> yaygın olan eth0 , ancak her zaman böyle değil.

İstediğinizi belirtin.

DÜZENLEME:

Bence resolv.conf aslında dolaylı olarak kullanılıyor, çünkü ağ yöneticisi 127.0.0.1 üzerinde dinleyen sunucuyu yaratıyor, ancak bunun üzerinde sayılmaması gereken bir uygulama detayı olduğu söylendi. Bu girdiden önce DNS adreslerini girerseniz, bunlar işe yarayabilir, ancak bunun nasıl çalıştığından tam olarak emin değilim. Mümkün olduğunda, çoğu durumda ağ yöneticisini kullanmak en iyisidir.

    
verilen cevap Marty Fried 18.06.2012 17:20
82

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

Kullan

nm-tool

Benzer bir çıktı elde edersiniz

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

Ya da sadece DNS’i görmek için

nm-tool | grep DNS
    
verilen cevap tgm4883 18.06.2012 17:22
31

İki en yüksek puanlama yanıtı, nmcli dev list iface <interfacename> | grep IP4 ve nm-tool , her ikisi de ağ yöneticisinin kontrol altında olduğunu varsayar. Hangisi - en azından masaüstü bilgisayarlarda. Ancak daha dolgun cevap, bazen ağ yöneticisinin kontrolde olmamasıdır. Örneğin. vpnc doğrudan /etc/resolv.conf ile karışıyor.

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

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

Artık biliyorsunuz, localhost kullanarak olduğumuzu . Popüler cevaplardan biriyle devam edin. Sevdim:

> nm-tool | grep DNS:
    DNS:             8.8.8.8

Ancak, 127.0.0.1/localhost değil kullanılıyorsa, nm-tool 'si ve nmcli ' nin çı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, dig değeri doğru ve nm-tool 'nin bilgileri yanıltıcı. Gerçekte adresler VPN-ed içine aldım çevreye yerel olarak doğru çözülür. Tümü Google’ın %% DNS 8.8.8.8 yapmıyor .

Bunun nedeni, vpnc ile bir VPN'ye bağlandıktan sonra, /etc/resolv.conf cinsinden bir satır koyar, böylece şöyle görünür:

# 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
    
verilen cevap Peter V. Mørch 28.05.2015 21:19
28

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

resolv.conf 'yi doğrudan Ubuntu 12.04 ile değiştiremezsiniz. Bunları değiştirmek gerekirse, bilgisayarınıza yeni DNS sunucuları ekleyebilirsiniz. Aşağıdakileri ekleyerek /etc/network/interfaces dosyası:

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

x kullanmak istediğiniz DNS sunucularıdır.

Eğer ben olsaydım, network-manager 'yi kaldırırdım. Benim düşünceme göre bu bir saçmalık yığını.

Ayarlarınızı değiştirmekten endişe etmeden, özellikle bilgisayarda birden çok NIC'niz varsa, el ile yapmanız gereken her şeyi yapabilirsiniz.

    
verilen cevap ssc 03.05.2013 17:27
8

nmcli sürümü 0.9.10

Bu komutlardan 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
    
verilen cevap iman 19.08.2015 12:03
2

Ubuntu 15.10'da DNS alabilirsiniz

nmcli device show <interface name> 
    
verilen cevap Suleman 02.03.2016 19:09
0

Ağ yöneticisi tarafından yönetiliyormuş gibi görünüyor. Burada bir göz atın İşte

büyük bir açıklama için.

Ya da bakmak için kısa versiyonu

 /etc/NetworkManager/NetworkManager.conf

veya

 <SYSCONFDIR>/NetworkManager/NetworkManager.conf
    
verilen cevap mbs 18.06.2012 16:46

Etiketlerdeki diğer soruları oku