Câu trả lời:
Bạn sẽ có thể nhận được một số thông tin hợp lý trong:
$ cat /etc/resolv.conf
127.0.0.53
Đây là cách tôi làm điều đó:
nmcli dev show | grep DNS
Điều này làm việc trước đây theo cách trên:
nm-tool | grep DNS
/etc/resolv.conf
sẽ trỏ đến máy của bạn, với dnsmasq
việc giải quyết các tên được cấu hình bởi NetworkManager .
network-manager
gói.
Tôi nghĩ bạn cũng có thể truy vấn DNS và nó sẽ cho bạn thấy máy chủ nào trả về kết quả. Thử đi:
dig yourserver.somedomain.xyz
Và phản hồi sẽ cho bạn biết (các) máy chủ nào trả về kết quả. Đầu ra mà bạn quan tâm sẽ trông giống như thế này:
;; Query time: 91 msec
;; SERVER: 172.xxx.xxx.xxx#53(172.xxx.xxx.xxx)
;; WHEN: Tue Apr 02 09:03:41 EDT 2019
;; MSG SIZE rcvd: 207
Bạn cũng có thể dig
yêu cầu truy vấn một máy chủ DNS cụ thể bằng cách sử dụngdig @server_ip
dnsutils
gói.
SERVER: 127.0.0.53#53(127.0.0.53)
Chỉ cần làm một , nslookup
. Một phần kết quả của nó bao gồm máy chủ mà nó đang sử dụng.
Trong ví dụ dưới đây, nó cho thấy rằng máy chủ DNS được sử dụng là ở mức 8.8.8.8.
$ nslookup google.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: google.com
Address: 172.217.22.174
$ nslookup www.google.com
dnsutils
gói.
nslookup google.com
trong máy chủ Windows và tôi đã tìm thấy máy chủ tên. Thêm nó vào /etc/resolv.conf
như: nameserver xx.xx.xx.xx
và khởi động lại dịch vụ network
, và tất cả đều ổn. Khen ngợi bạn.
Trên các hệ thống chạy systemd sử dụng:
systemd-resolve --status
Với network-manager
lệnh mới nmcli
, thực hiện việc này:
nmcli --fields ipv4.dns,ipv6.dns con show <connection_name>
Trên các phiên bản mới hơn của trình quản lý mạng (như trong Ubuntu 16.04), tên trường hơi khác nhau:
nmcli --fields ip4.dns,ip6.dns con show <connection_name>
Nếu bạn không biết tên kết nối, hãy sử dụng:
nmcli -t --fields NAME con show --active
Ví dụ:
$ nmcli --fields ip4.dns,ip6.dns con show 'Wired connection 1'
IP4.DNS[1]: 172.21.0.13
IP4.DNS[2]: 172.21.0.4
order «con» «show» is not valid
.
Error: invalid field 'ip4.dns'; allowed fields: NAME,UUID,TYPE,TIMESTAMP,TIMESTAMP-REAL,AUTOCONNECT,AUTOCONNECT-PRIORITY,READONLY,DBUS-PATH,ACTIVE,DEVICE,STATE,ACTIVE-PATH.
nmcli
là tất cả những gì tôi cần trên Ubuntu 19.04
để nhận DNS SERVER đầu tiên (chỉ IP):
cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2
cat
sẽ xuất cấu hình DNSgrep
chỉ lọc máy chủ tênhead
sẽ chỉ giữ hàng / ví dụ đầu tiêncut
lấy phần ip của hàng (cột thứ hai với '' làm dấu phân cách)Để đặt ip DNS vào một biến môi trường, bạn có thể sử dụng như sau:
export THEDNSSERVER=$(cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2)
grep -m 1
dừng kết hợp sau trận đấu đầu tiên để bạn không phải sử dụnghead
grep -Pom 1 '^nameserver \K\S+' /etc/resolv.conf
. Chỉ cần viết lên các nhóm Chụp với biểu thức chính quy grep perl
Nếu bạn đang sử dụng trình quản lý mạng, có thể bạn nhận được tất cả các tham số mạng từ máy chủ dhcp của mình tại trường đại học.
Nếu bạn không muốn sử dụng trình bao của mình để kiểm tra cài đặt dns của bạn (như được mô tả bởi ngần ngại và Alexios), bạn có thể thấy chúng từ bảng "Thông tin mạng".
Bạn có thể truy cập bảng điều khiển này bằng cách nhấn nút chuột phải vào biểu tượng trình quản lý mạng và chọn "Thông tin kết nối" từ menu.
resolvectl
$ resolvectl status | grep -1 'DNS Server'
DNSSEC supported: no
Current DNS Server: 1.1.1.1
DNS Servers: 1.1.1.1
1.0.0.1
Để tương thích, systemd-resolve
là một liên kết tượng trưng đến resolvectl
trên nhiều bản phân phối như đối với Ubuntu 18.10:
$ type -a systemd-resolve
systemd-resolve is /usr/bin/systemd-resolve
$ ll /usr/bin/systemd-resolve
lrwxrwxrwx 1 root root 10 nov. 15 21:42 /usr/bin/systemd-resolve -> resolvectl
$ type -a resolvectl
resolvectl is /usr/bin/resolvectl
$ file /usr/bin/resolvectl
/usr/bin/resolvectl: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=09e488e849e3b988dd2ac93b024bbba18bb71814, stripped
Lệnh
nmcli dev list iface <interfacename> | grep IP4
Thay thế "interacename" bằng của bạn.
thi
nmcli dev list iface eth0 | grep IP4
Điều này sẽ liệt kê tất cả các máy chủ DNS (Nếu bạn sử dụng nhiều hơn một).
nmcli dev list iface [devicename]
là lệnh chính xác
Tôi có Fedora 25 và cũng có phản hồi chậm tương tự trên dòng lệnh với các lệnh sudo.
nmcli dev show | grep DNS
cho thấy chỉ một trong 3 bộ điều hợp của tôi (hai hoạt động) có các mục DNS. Bằng cách thêm các mục nhập DNS vào một thẻ hoạt động không có mục nhập - thế là xong! Tất cả là tốt và thời gian đáp ứng là ngay lập tức.
Trong CentOS, bạn có thể sử dụng:
/usr/sbin/named -v
/etc/nsswitch.conf
chỉ ra những dịch vụ tên nào được sử dụng (DNS, LDAP, v.v.) và theo thứ tự nào. Nóifgrep hosts: /etc/nsswitch.conf
. Nếu nó chỉ tham chiếu DNS,/etc/resolv.conf
là nơi thích hợp để tìm kiếm máy chủ tên của bạn. Nhưng rất có thể bạn cũng đang sử dụng mDNS (còn gọi là ZeroConf, còn gọi là Avahi, còn gọi là Bonjour, v.v.), v.v. Trong trường hợp đó, mọi thứ phụ thuộc vào những gì bạn đang sử dụng.