Câu hỏi Dòng lệnh liệt kê các máy chủ DNS được hệ thống của tôi sử dụng


Có một lệnh để liệt kê các máy chủ dns được hệ thống của tôi sử dụng không?

Tôi đã thử

$ 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

Nhưng nó không liệt kê bất kỳ máy chủ nào, nếu tôi vào "Network Manager GUI Tool", trong phần Wireless nó liệt kê "DNS 192.168.1.1 8.8.8.8 8.8.4.4"

Tôi có thể lấy thông tin tương tự từ dòng lệnh không?

Tôi đang sử dụng Ubuntu 12.04 LTS


198
2018-06-18 14:36


gốc


Bạn đang cố gắng tìm gì? các máy chủ DNS đang được hệ thống của bạn sử dụng? hoặc bạn đang cố thực hiện tra cứu DNS? - Thomas Ward♦
Các @LordofTime trước đây - ish
@LordofTime Máy chủ DNS đang được hệ thống của tôi sử dụng - Anurag Uniyal
bạn đang sử dụng 127.0.0.1. Bạn có phải đang chạy máy chủ DNS? - Skaperen
Xem unix.stackexchange.com/q/28941/38647 cho một phiên bản không phải của Ubuntu của câu hỏi này - mwfearnley


Các câu trả lời:


resolv.conf không thực sự được sử dụng nữa, trừ khi bạn tự thực hiện nó. Người quản lý mạng hiện nó. Tôi đã tạo một bí danh để liệt kê các máy chủ DNS trên hệ thống của mình, vì đôi khi tôi chuyển từ OpenDNS sang DNS mở của Google.

Ubuntu> = 15

nmcli device show <interfacename> | grep IP4.DNS

Ubuntu <= 14

nmcli dev list iface <interfacename> | grep IP4

Trong trường hợp của tôi, <interfacename> Là eth0, đó là điều phổ biến, nhưng không phải lúc nào cũng vậy.

Xem nếu đây là những gì bạn muốn.

CHỈNH SỬA:

Tôi nghĩ rằng resolv.conf thực sự được sử dụng gián tiếp, bởi vì người quản lý mạng tạo ra máy chủ lắng nghe trên 127.0.0.1, nhưng tôi đã nói rằng đây là một chi tiết triển khai không nên được tính vào. Tôi nghĩ rằng nếu bạn nhập địa chỉ DNS trước mục nhập này, chúng có thể được sử dụng, nhưng tôi không chắc chính xác cách thức hoạt động của nó. Tôi nghĩ tốt nhất là nên sử dụng trình quản lý mạng trong hầu hết các trường hợp, khi có thể.


198
2018-06-18 15:20



cảm ơn, có vẻ như đang hoạt động, mạng ubuntu có vẻ khó hiểu, vì vậy tôi có thể đặt các máy chủ dns trong resol.conf / base hoặc trong / etc / network / interfaces hoặc trong trình quản lý mạng, có hướng dẫn dứt khoát cho mạng ubuntu không? - Anurag Uniyal
Nếu bạn sử dụng GUI, thì nơi tốt nhất để đặt nó là bằng cách tạo các cấu hình trong Hộp thoại Kết nối Mạng. Tôi đã sao chép mặc định, sau đó chỉnh sửa bản sao để thực hiện các thay đổi mà tôi muốn, giữ mặc định để đảm bảo rằng tôi luôn có hồ sơ công việc. Sau đó, thật dễ dàng để chuyển đổi hồ sơ. Tôi không biết làm thế nào để làm điều này mà không có GUI, nhưng có một người sử dụng "James Henstridge" người rất am hiểu về mạng của Ubuntu; bạn có thể thử tìm kiếm askubuntu để biết thông tin của mình. Anh ấy nói với tôi về lệnh mà tôi đã đưa cho bạn bài này. - Marty Fried
stgraber.org/2012/02/24/dns-in-ubuntu-12-04 là một bài viết hay về độ phân giải DNS trong ubuntu 12.04 - Anurag Uniyal
Liên kết đẹp - rất nhiều thông tin tốt để tiêu hóa. - Marty Fried
Tôi đang sử dụng 15.04 và 'nmcli dev show | grep DNS' làm việc cho tôi thay thế. - flickerfly


Điều này là hợp lệ cho Ubuntu 13.10 và trước đó. Đối với Ubuntu 14.04 trở lên, hãy xem Câu trả lời của Koala Yeung: Làm thế nào để biết tôi đang sử dụng DNS nào trong Ubuntu từ 14.04 trở đi


Sử dụng

nm-tool

Bạn sẽ nhận được một đầu ra tương tự

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

Hoặc để chỉ xem DNS

nm-tool | grep DNS

82
2018-06-18 15:22



chỉ muốn thêm vào, chuyển đến nm-appletTrình đơn thông tin kết nối cũng sẽ hoạt động :) - Samik
+1 này cũng hoạt động, cũng như nm-cli như được trả lời bởi @Marty Fried - Anurag Uniyal
Có, cùng một thông tin, nhưng nmcli dễ phân tích hơn nếu bạn muốn giải nén nó ra cho một bản trình bày khác, chẳng hạn như conky hoặc đơn giản là bản tóm tắt như grep của tôi. - Marty Fried
cũng hoạt động tốt trên lubuntu 14.04. cảm ơn - jamescampbell
nm-công cụ không được tìm thấy trên 15.10 - labyrinth


Hai câu trả lời hàng đầu, nmcli dev list iface <interfacename> | grep IP4 và nm-tool cả hai giả định rằng quản lý mạng nằm trong tầm kiểm soát. Mà nó là - trên máy tính để bàn hầu hết thời gian ít nhất. Nhưng câu trả lời đầy đủ hơn là đôi khi người quản lý mạng không kiểm soát được. Ví dụ. vpnc lộn xộn với /etc/resolv.conf trực tiếp.

Vì vậy: Trước tiên hãy kiểm tra xem 127.0.0.1/localhost có được sử dụng hay không. Điều này có thể được thực hiện với dig:

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

Bây giờ bạn biết rằng chúng tôi  sử dụng localhost. Tiếp tục với một trong những câu trả lời phổ biến. Tôi thích:

> nm-tool | grep DNS:
    DNS:             8.8.8.8

Nhưng nếu 127.0.0.1/localhost là không phải được sử dụng, sau đó nm-tool'cát nmcliđầu ra sẽ gây hiểu nhầm:

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

Đây, dig là chính xác và nm-toolthông tin là sai lầm. Trong thực tế địa chỉ địa phương cho môi trường tôi đã VPN-ed vào được giải quyết một cách chính xác. Tất cả DNS của Google 8.8.8.8  không biết về.

Điều này là do sau khi kết nối với VPN vpnc, nó đặt một dòng /etc/resolv.conf có vẻ như:

# 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

33
2018-05-28 19:19



Đây là câu trả lời hoàn chỉnh nhất - Marinos An
Cảm ơn bạn. Một số người trong chúng ta ở đây không sử dụng NM và điều đó tốt cho cộng đồng. - Stephen Boston


cat /etc/resolv.conf sẽ hiển thị các máy chủ DNS của bạn.

Bạn không thể sửa đổi resolv.conf trực tiếp với Ubuntu 12.04. Nếu bạn cần thay đổi chúng, bạn có thể thêm các máy chủ DNS mới trong /etc/network/interfaces tệp bằng cách thêm các mục sau:

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

Ở đâu x là các máy chủ DNS bạn muốn sử dụng.

Nếu tôi là bạn, tôi sẽ gỡ cài đặt network-manager. Theo tôi, đó là một đống crap.

Bạn có thể thực hiện mọi thứ bạn cần làm một cách thủ công mà không phải lo lắng về việc thay đổi cài đặt của bạn, đặc biệt nếu bạn có nhiều NIC trên máy tính.


29
2018-05-03 15:27



Tôi có phải khởi động lại nm sau khi thực hiện thay đổi dns không? - Bhargav Nanekalva
--Cảm ơn. Điều đó thật tuyệt. Nó hoạt động ngay cả khi không có kinh doanh quản lý mạng đó. - Adam
"cat /etc/resolv.conf sẽ hiển thị các máy chủ DNS của bạn". Nó không. - Marinos An


nmcli phiên bản 0.9.10

Bạn có thể sử dụng một trong các lệnh sau:

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





Trong Ubuntu 15.10 bạn có thể nhận DNS

nmcli device show <interface name> 

2
2018-03-02 18:09





Dường như được quản lý bởi người quản lý mạng. Có một cái nhìn ở đây http://manpages.ubuntu.com/manpages/precise/man5/NetworkManager.conf.5.html

cho một lời giải thích lớn.

Hoặc phiên bản ngắn để xem

 /etc/NetworkManager/NetworkManager.conf

hoặc là

 <SYSCONFDIR>/NetworkManager/NetworkManager.conf

0
2018-06-18 14:46



nhưng /etc/NetworkManager/NetworkManager.conf không có bất kỳ máy chủ dns nào được liệt kê trong đó - Anurag Uniyal