Máy chủ DNS của tôi là gì?


22

/Etc/resolv.conf của tôi trông như thế này:

# 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.1.1

# OpenDNS Fallback (configured by Linux Mint in /etc/resolvconf/resolv.conf.d/tail).
nameserver 208.67.222.222
nameserver 208.67.220.220   

Khi tôi sử dụng nslookup, tôi dường như sử dụng 127.0.1.1:

moose@pc08 ~ $ nslookup www.google.com
Server:     127.0.1.1
Address:    127.0.1.1#53

Non-authoritative answer:
Name:   www.google.com
Address: 173.194.44.17
Name:   www.google.com
Address: 173.194.44.16
Name:   www.google.com
Address: 173.194.44.19
Name:   www.google.com
Address: 173.194.44.18
Name:   www.google.com
Address: 173.194.44.20

Nhưng khi tôi nhấp chuột phải vào trình quản lý mạng và nhấp vào "thông tin kết nối" tôi nhận được:

thông tin kết nối

whois 217.0.43.129 tiết lộ rằng cái này thuộc về Deutsche Telekom AG, ISP của tôi.

Tại sao quản lý mạng hiển thị thông tin này? Tôi đang sử dụng máy chủ DNS nào?

dnsmasq

Vâng, tôi dường như chạy dnsmasq:

moose@pc08 ~ $ ps aux | grep dnsmasq
nobody    1479  0.0  0.0   5468  1404 ?        S    14:16   0:00 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/var/run/sendsigs.omit.d/network-manager.dnsmasq.pid --listen-address=127.0.1.1 --conf-file=/var/run/nm-dns-dnsmasq.conf --cache-size=0 --proxy-dnssec --enable-dbus=org.freedesktop.NetworkManager.dnsmasq --conf-dir=/etc/NetworkManager/dnsmasq.d

Câu trả lời:


17

Bạn đang sử dụng dnsmasq, một máy chủ DNS chuyển tiếp nhẹ chạy cục bộ dưới sự kiểm soát của NetworkManager. Dnsmasq chuyển tiếp các truy vấn DNS đến các máy chủ DNS có địa chỉ được cung cấp bởi máy chủ DHCP. Cũng có thể đặt tĩnh các địa chỉ máy chủ DNS này bằng Trình chỉnh sửa kết nối.

Việc dnsmasqthực thi được cung cấp bởi gói cơ sở dnsmasq mà gói quản lý mạng phụ thuộc vào. Ngoài ra còn có một gói được gọi đơn giản là "dnsmasq" cũng phụ thuộc vào dnsmasq-base, nhưng gói "dnsmasq" này chỉ nên được cài đặt nếu bạn muốn chạy dnsmasqđộc lập với NetworkManager để tận dụng các tính năng khác ngoài chuyển tiếp DNS.


@jdthood - những thay đổi của bạn khá rộng rãi và có thể được hiểu là vượt ra ngoài ý định của OP. Vui lòng tạo câu trả lời của riêng bạn nếu cần thiết để hỗ trợ suy nghĩ của bạn. Cảm ơn.
fossfreedom

@jdthood: Tôi đánh giá cao nỗ lực của bạn để đảm bảo câu trả lời đúng. Tuy nhiên, theo tôi hiểu thì hành vi mặc định của dnsmasq, như được tích hợp với NetworkManager, là lưu trữ 150 mục theo các cài đặt TTL tương ứng của chúng.
Roy

Theo mặc định, bộ đệm của NM-dnsmasq bị vô hiệu hóa. Làm ps -ef|grep dnsmasqvà tìm kiếm các tùy chọn --cache-size=0.
jdthood

1
Đó không phải là trường hợp trên hộp 12.04 của tôi, nhưng một tìm kiếm google cho thấy bạn đúng, đó là mặc định trên cả 12.04 và 12.10. Vì vậy, một máy chủ DNS lưu trữ với bộ nhớ đệm bị vô hiệu hóa sau đó :)
Roy

dnsmasq dường như đang sử dụng máy chủ dns gần nhất (nghĩa là máy chủ có thể đạt tốc độ nhanh nhất), nếu bạn chỉ định hai hoặc nhiều hơn trong cài đặt của mình. Điều này có ý nghĩa từ (cung cấp nhanh hơn) quan điểm trải nghiệm người dùng. Thêm vào đó, tệp giải quyếtvv đã đề cập đến tệp khác, OpenDNS là dự phòng, không phải là chính, phải không?
Sergiy Kolodyazhnyy

17

Khi mở rộng câu trả lời của happyskeptic, bạn không cần chỉ định giao diện. Điều này làm cho tôi:

> nmcli dev show | grep DNS
IP4.DNS[1]:                             172.22.216.251
IP6.DNS[1]:                             2a01:4f0:400c:1::1

Đối với Ubuntu 14.04 trở lên sử dụng nmcli dev list | grep DNS

> nmcli dev list | grep DNS
IP4.DNS[1]:                             172.22.216.251
IP6.DNS[1]:                             2a01:4f0:400c:1::1

1
Hệ thống Ubuntu 16 của tôi muốnnmcli dev show
cuối

Đó là bởi vì nmcliphiên bản đã được thay đổi kể từ Ubuntu 15.04 do chuyển đổi sang hệ thống init khác nhau, vì vậy, trong các phiên bản mới hơn, lệnh chỉ hơi khác một chút
Sergiy Kolodyazhnyy

Khi tôi đăng nhập vào mạng công việc của mình bằng NetworkManager và VPNC, tôi không thấy máy chủ DNS của công việc của mình ở đầu ra này, mặc dù rõ ràng nó đang giải quyết. Tôi chưa (chưa) biết cách xem máy chủ VPN DNS.
Peter V. Mørch

1
Để làm cho dnsmasq hiển thị DNS mà nó đang sử dụng, người ta có thể gửi tín hiệu USR1 và sau đó nó sẽ kết xuất các số liệu thống kê và như vậy để syslog. Vì vậy, hãy làm: tail -F /var/log/syslog | grep dnsmasq.\*Server & sudo pkill -USR1 dnsmasq
Alexander Skwar

7

Tôi đã thấy rằng trên Kubfox 14.04, applet NetworkManager (hay Plasma, bất cứ thứ gì nó được gọi) trong KDE không hiển thị thông tin máy chủ DNS dưới chi tiết kết nối.

Trong trường hợp này, cách để tìm thấy nó là chạy dòng sau tại dòng lệnh và tìm dòng 'IP4.DNS':

nmcli dev list iface wlan0

(thay thế wlan0 bằng giao diện bạn sử dụng để kết nối với Net)


Tuyệt quá! Nó sẽ giúp tôi khi DNS biến mất ...
karatedog

1
nmcli device show wlan0trong trường hợp của tôi
Searene 7/10/2015

1

Bạn đang sử dụng 217.0.43.129. nếu không tìm thấy cả DNS chính và phụ của bạn, nó sẽ đi đến bộ định tuyến của bạn và sử dụng máy chủ DNS được định cấu hình trong bộ định tuyến. Nếu DNS đó cũng bị lỗi, chắc chắn nó sẽ cố gắng kết nối với máy chủ openDNS. như được định cấu hình trong /etc/resolv.conf.

https://lists.isc.org/pipermail/bind-users/2006-Oc / 10 / 064570.html

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.