เซิร์ฟเวอร์ DNS ของฉันคืออะไร


22

/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.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   

เมื่อฉันใช้ nslookup ดูเหมือนว่าฉันจะใช้ 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

แต่เมื่อฉันคลิกขวาที่ผู้จัดการเครือข่ายและคลิกที่ "ข้อมูลการเชื่อมต่อ" ฉันได้รับ:

ข้อมูลการเชื่อมต่อ

whois 217.0.43.129 เปิดเผยว่านี่เป็นของ Deutsche Telekom AG, ISP ของฉัน

เหตุใดผู้จัดการเครือข่ายจึงแสดงข้อมูลนี้ ฉันกำลังใช้เซิร์ฟเวอร์ DNS ใดอยู่

dnsmasq

ใช่ฉันดูเหมือนจะเรียกใช้ 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

คำตอบ:


17

คุณกำลังใช้dnsmasqเซิร์ฟเวอร์ DNS ที่มีการส่งต่อแบบเบาซึ่งทำงานภายในเครื่องภายใต้การควบคุมของ NetworkManager Dnsmasq ส่งต่อ DNS ไปยังเซิร์ฟเวอร์ DNS ที่มีที่อยู่ซึ่งเซิร์ฟเวอร์ DHCP ระบุไว้ นอกจากนี้ยังเป็นไปได้ที่จะตั้งค่าเซิร์ฟเวอร์ DNS เหล่านี้ในแบบคงที่โดยใช้เครื่องมือแก้ไขการเชื่อมต่อ

dnsmasqปฏิบัติการที่ให้บริการโดยแพคเกจ dnsmasq ฐานที่แพคเกจเครือข่ายผู้จัดการขึ้น นอกจากนี้ยังมีแพ็คเกจที่เรียกว่า "dnsmasq" ซึ่งขึ้นอยู่กับ dnsmasq-base ด้วย แต่ควรติดตั้งแพคเกจ "dnsmasq" นี้เฉพาะเมื่อคุณต้องการเรียกใช้งานdnsmasqอย่างอิสระของ NetworkManager เพื่อใช้ประโยชน์จากคุณสมบัติอื่น ๆ นอกเหนือจากการส่งต่อ DNS เท่านั้น


@jdthood - การเปลี่ยนแปลงของคุณค่อนข้างกว้างขวางและอาจตีความได้ว่าเกินความตั้งใจของ OP โปรดสร้างคำตอบของคุณเองหากจำเป็นเพื่อสนับสนุนความคิดของคุณ ขอบคุณ
fossfreedom

@ jdthood: ฉันขอขอบคุณความพยายามของคุณเพื่อให้แน่ใจว่าคำตอบที่ถูกต้อง อย่างไรก็ตามฉันเข้าใจว่าพฤติกรรมเริ่มต้นของ dnsmasq ซึ่งรวมกับ NetworkManager คือการแคช 150 รายการตามการตั้งค่า TTL ที่เกี่ยวข้อง
รอย

โดยค่าเริ่มต้นแคชของ NM-dnsmasq ถูกปิดใช้งาน ทำและมองหาตัวเลือกps -ef|grep dnsmasq --cache-size=0
jdthood

1
นั่นไม่ใช่กรณีในกล่อง 12.04 ของฉัน แต่การค้นหาของ Google แสดงให้เห็นว่าคุณพูดถูกนั่นคือค่าเริ่มต้นของทั้ง 12.04 และ 12.10 ดังนั้นเซิร์ฟเวอร์ DNS ที่แคชซึ่งปิดใช้งานการแคชไว้แล้ว :)
Roy

ดูเหมือนว่า dnsmasq กำลังใช้เซิร์ฟเวอร์ dns ที่ใกล้เคียงที่สุด (เช่นเซิร์ฟเวอร์ที่เร็วที่สุด) หากคุณระบุสองคนขึ้นไปในการตั้งค่าของคุณ ซึ่งทำให้รู้สึกจาก (ให้เร็วขึ้น) มุมมองประสบการณ์ของผู้ใช้ นอกจากนี้ไฟล์ resolv.conf พูดถึงอีกอย่างคือ OpenDNS เป็นทางเลือกไม่ใช่หลักใช่มั้ย
Sergiy Kolodyazhnyy

17

เนื่องจากการขยายคำตอบของ happyskeptic คุณไม่จำเป็นต้องระบุส่วนต่อประสาน สิ่งนี้ทำเพื่อฉัน:

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

สำหรับ Ubuntu 14.04 และการใช้งานที่เก่ากว่า 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
ระบบ Ubuntu 16 ของฉันต้องการnmcli dev show
59

นั่นเป็นเพราะnmcliรุ่นมีการเปลี่ยนแปลงตั้งแต่ Ubuntu 15.04 เนื่องจากการเปลี่ยนไปใช้ระบบ init ที่แตกต่างกันดังนั้นใช่ในรุ่นใหม่ออกคำสั่งที่แตกต่างกันเพียงเล็กน้อย
Sergiy Kolodyazhnyy

เมื่อฉันเข้าสู่ระบบเครือข่ายงานของฉันโดยใช้ NetworkManager และ VPNC ฉันไม่เห็นเซิร์ฟเวอร์ DNS ของงานของฉันในผลลัพธ์นี้แม้ว่าจะชัดเจนว่ากำลังแก้ไขอยู่ ฉันยังไม่รู้ที่จะเห็นเซิร์ฟเวอร์ VPN DNS
Peter V. Mørch

1
ในการทำให้ dnsmasq แสดง DNS ที่ใช้อยู่เราสามารถส่งสัญญาณ USR1 จากนั้นมันจะถ่ายโอนข้อมูลสถิติและเช่น syslog ดังนั้นทำ: tail -F /var/log/syslog | grep dnsmasq.\*Server & sudo pkill -USR1 dnsmasq
Alexander Skwar

7

ฉันพบว่าใน Kubuntu 14.04 แอปเพล็ต NetworkManager (หรือสิ่งที่พลาสมาเรียกว่าอะไร) ใน KDE ไม่แสดงข้อมูลเซิร์ฟเวอร์ DNS ภายใต้รายละเอียดการเชื่อมต่อ

ในกรณีนี้วิธีการค้นหาคือการเรียกใช้สิ่งต่อไปนี้ที่บรรทัดคำสั่งและค้นหาบรรทัด 'IP4.DNS':

nmcli dev list iface wlan0

(แทนที่ wlan0 ด้วยอินเทอร์เฟซที่คุณใช้เชื่อมต่อกับอินเทอร์เน็ต)


ที่ดี! มันจะช่วยฉันได้เมื่อ DNS หายไป ...
karatedog

1
nmcli device show wlan0ในกรณีของฉัน
Searene

1

คุณกำลังใช้ 217.0.43.129 หากไม่พบทั้ง DNS หลักและรองของคุณจะไปที่เราเตอร์ของคุณและใช้เซิร์ฟเวอร์ DNS ที่กำหนดค่าในเราเตอร์ ถ้า DNS นั้นล้มเหลวก็จะพยายามเชื่อมต่อกับเซิร์ฟเวอร์ openDNS ตามที่กำหนดค่าไว้ใน /etc/resolv.conf

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.