ฉันจะแก้ไขปัญหา DNS ที่อยู่ตรงกลางของการเรียกซ้ำได้อย่างไร


13

ฉันมีปัญหาแปลก ๆ กับ DNS ของฉัน ชื่อโดเมนของฉัน ( strugee.net) ไม่สามารถแก้ไขได้จากบางเครือข่ายและแก้ไขได้จากเครือข่ายอื่น

ตัวอย่างเช่นบนเครือข่ายในบ้านของฉัน (เครือข่ายเดียวกันกับที่เซิร์ฟเวอร์เปิด):

% dig strugee.net

; <<>> DiG 9.10.3-P4 <<>> strugee.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10086
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;strugee.net.           IN  A

;; ANSWER SECTION:
strugee.net.        1800    IN  A   216.160.72.225

;; Query time: 186 msec
;; SERVER: 205.171.3.65#53(205.171.3.65)
;; WHEN: Sat Apr 16 15:42:36 PDT 2016
;; MSG SIZE  rcvd: 56

อย่างไรก็ตามถ้าฉันเข้าสู่เซิร์ฟเวอร์ที่ฉันมีใน Digital Ocean โดเมนไม่สามารถแก้ไข:

% dig strugee.net      

; <<>> DiG 9.9.5-9+deb8u3-Debian <<>> strugee.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 58551
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;strugee.net.           IN  A

;; Query time: 110 msec
;; SERVER: 2001:4860:4860::8844#53(2001:4860:4860::8844)
;; WHEN: Sat Apr 16 18:44:25 EDT 2016
;; MSG SIZE  rcvd: 40

แต่การไปยังเซิร์ฟเวอร์ชื่อที่เชื่อถือได้นั้นใช้ได้ผลดี:

% dig @dns1.registrar-servers.com strugee.net   

; <<>> DiG 9.9.5-9+deb8u3-Debian <<>> @dns1.registrar-servers.com strugee.net
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30856
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;strugee.net.           IN  A

;; ANSWER SECTION:
strugee.net.        1800    IN  A   216.160.72.225

;; AUTHORITY SECTION:
strugee.net.        1800    IN  NS  dns3.registrar-servers.com.
strugee.net.        1800    IN  NS  dns4.registrar-servers.com.
strugee.net.        1800    IN  NS  dns2.registrar-servers.com.
strugee.net.        1800    IN  NS  dns1.registrar-servers.com.
strugee.net.        1800    IN  NS  dns5.registrar-servers.com.

;; Query time: 3 msec
;; SERVER: 216.87.155.33#53(216.87.155.33)
;; WHEN: Sat Apr 16 18:46:36 EDT 2016
;; MSG SIZE  rcvd: 172

เห็นได้ชัดว่ามีปัญหากับเครือข่ายขนาดใหญ่บางแห่งที่ไม่สามารถแก้ไขโดเมนของฉันได้ แต่ฉันไม่สามารถระบุได้ว่าอยู่ที่ไหน ฉันอ่านdigmanpage เพื่อหาตัวเลือกที่อาจช่วยได้ แต่ไม่พบสิ่งใดที่มีประโยชน์เป็นพิเศษ

ฉันใช้ Namecheap เป็นทั้งผู้ให้บริการจดทะเบียนโดเมนและโฮสติ้ง DNS ฉันเปิดใช้งานตัวเลือก DNSSEC แล้ว ฉันไม่ได้ทำการเปลี่ยนแปลงใด ๆ กับการตั้งค่า DNS ของฉันเมื่อเร็ว ๆ นี้

ฉันจะดีบักปัญหานี้และค้นหาเนมเซิร์ฟเวอร์ที่ละเมิดได้อย่างไร


7
ขอบคุณที่ให้ชื่อโดเมน ปัญหาเช่นนี้เป็นเรื่องยากมากที่เราจะแก้ไขปัญหาบน Serverfault โดยไม่มีข้อมูลนั้น
แอนดรู B

@ AndrewB โอ้ฉันรู้ ยินดีต้อนรับคุณไว้วางใจฉัน :)
strugee

2
@ คำตอบของ AndrewB เหมาะสมและดูเหมือนว่าถูกต้องสำหรับฉัน ก่อนที่ฉันจะอ่านฉันพบว่าคิวรีที่ล้มเหลวของคุณใช้เนมเซิร์ฟเวอร์ IPV6 ในขณะที่คิวรีที่สำเร็จใช้ IPV4 บ่อยครั้ง (obv. ไม่ใช่ในกรณีนี้) คำแนะนำนี้ในการกำหนดค่า IPV6 ที่ไม่ดีและมันจะมีประโยชน์ในการใช้ IPV ตัวเลข [4/6] ที่อยู่ของเซิร์ฟเวอร์ชื่อแทนนามแฝง
Guntram Blohm สนับสนุน Monica

@Guntram ตราบใดที่เราทราบว่าเราได้รับคำตอบจากเนมเซิร์ฟเวอร์ซึ่งหมายความว่าเรามีการเชื่อมต่อกับเซิร์ฟเวอร์ DNS อย่างน้อย เพียงแค่ต้องการให้แน่ใจว่าผู้คนจะไม่เดินออกไปจากที่นั่นด้วยการแสดงผลที่ผิด ... SERVFAILอาจบ่งบอกถึงปัญหาต้นน้ำ แต่มันก็ยังบ่งชี้แพ็คเก็ตตอบกลับ
Andrew B

@GuntramBlohm คุณเข้าสู่บางสิ่ง strugee.netมีระเบียน NS ห้ารายการ แต่ไม่มีAAAAกาวบันทึกเพียงAบันทึกกาว สิ่งที่แย่กว่านั้นคือAกาวห้ารายการนั้นชี้ไปยังที่อยู่ IP ที่ต่างกันเพียงสองแห่งเท่านั้น ดูเหมือนว่าจะเป็นการตั้งค่าที่ค่อนข้างบอบบาง แม้ว่ามันจะไม่ใช่สาเหตุของปัญหา แต่มันก็เป็นสิ่งที่ต้องระวัง
kasperd

คำตอบ:


24

ฉันจะดีบักปัญหานี้และค้นหาเนมเซิร์ฟเวอร์ที่ละเมิดได้อย่างไร

daxd5 เสนอคำแนะนำเริ่มต้นที่ดี แต่คำตอบที่แท้จริงเพียงข้อเดียวคือคุณต้องรู้วิธีคิดเหมือนเซิร์ฟเวอร์ DNS ซ้ำ เนื่องจากมีการกำหนดค่าผิดพลาดมากมายในเลเยอร์ที่มีสิทธิ์ซึ่งอาจส่งผลให้เกิดความไม่สอดคล้องกันSERVFAILคุณจึงต้องมีเครื่องมือตรวจสอบ DNS หรือการตรวจสอบออนไลน์

อย่างไรก็ตามเป้าหมายไม่ใช่เพื่อช่วยคุณ แต่ฉันต้องการให้แน่ใจว่าคุณเข้าใจว่าไม่มีคำตอบที่แน่นอนสำหรับคำถามนั้น


ในกรณีเฉพาะของคุณฉันสังเกตเห็นว่าstrugee.netดูเหมือนจะเป็นโซนที่ลงชื่อด้วย DNSSEC เรื่องนี้เห็นได้ชัดจากการปรากฏตัวของDSและRRSIGบันทึกในห่วงโซ่การอ้างอิง:

# dig +trace +additional strugee.net
<snip>
strugee.net.            172800  IN      NS      dns2.registrar-servers.com.
strugee.net.            172800  IN      NS      dns1.registrar-servers.com.
strugee.net.            172800  IN      NS      dns3.registrar-servers.com.
strugee.net.            172800  IN      NS      dns4.registrar-servers.com.
strugee.net.            172800  IN      NS      dns5.registrar-servers.com.
strugee.net.            86400   IN      DS      16517 8 1 B08CDBF73B89CCEB2FD3280087D880F062A454C2
strugee.net.            86400   IN      RRSIG   DS 8 2 86400 20160423051619 20160416040619 50762 net. w76PbsjxgmKAIzJmklqKN2rofq1e+TfzorN+LBQVO4+1Qs9Gadu1OrPf XXgt/AmelameSMkEOQTVqzriGSB21azTjY/lLXBa553C7fSgNNaEXVaZ xyQ1W/K5OALXzkDLmjcljyEt4GLfcA+M3VsQyuWI4tJOng184rGuVvJO RuI=
dns2.registrar-servers.com. 172800 IN   A       216.87.152.33
dns1.registrar-servers.com. 172800 IN   A       216.87.155.33
dns3.registrar-servers.com. 172800 IN   A       216.87.155.33
dns4.registrar-servers.com. 172800 IN   A       216.87.152.33
dns5.registrar-servers.com. 172800 IN   A       216.87.155.33
;; Received 435 bytes from 192.41.162.30#53(l.gtld-servers.net) in 30 ms

ก่อนที่เราจะไปเพิ่มเติมใด ๆ เราต้องตรวจสอบว่าการลงชื่อนั้นถูกต้องหรือไม่ DNSVizเป็นเครื่องมือที่ใช้บ่อยสำหรับวัตถุประสงค์นี้และยืนยันว่ามีปัญหาแน่นอน สีแดงที่โกรธจัดในภาพเป็นการแนะนำว่าคุณมีปัญหา แต่แทนที่จะทำการวางเมาส์เหนือทุกสิ่งที่เราสามารถขยายประกาศบนแถบด้านซ้าย:

RRSIG strugee.net/A alg 8, id 10636: The Signature Expiration field of the RRSIG RR (2016-04-14 00:00:00+00:00) is 2 days in the past.
RRSIG strugee.net/DNSKEY alg 8, id 16517: The Signature Expiration field of the RRSIG RR (2016-04-14 00:00:00+00:00) is 2 days in the past.
RRSIG strugee.net/DNSKEY alg 8, id 16517: The Signature Expiration field of the RRSIG RR (2016-04-14 00:00:00+00:00) is 2 days in the past.
RRSIG strugee.net/MX alg 8, id 10636: The Signature Expiration field of the RRSIG RR (2016-04-14 00:00:00+00:00) is 2 days in the past.
RRSIG strugee.net/NS alg 8, id 10636: The Signature Expiration field of the RRSIG RR (2016-04-14 00:00:00+00:00) is 2 days in the past.
RRSIG strugee.net/SOA alg 8, id 10636: The Signature Expiration field of the RRSIG RR (2016-04-14 00:00:00+00:00) is 2 days in the past.
RRSIG strugee.net/TXT alg 8, id 10636: The Signature Expiration field of the RRSIG RR (2016-04-14 00:00:00+00:00) is 2 days in the past.
net to strugee.net: No valid RRSIGs made by a key corresponding to a DS RR were found covering the DNSKEY RRset, resulting in no secure entry point (SEP) into the zone. (216.87.152.33, 216.87.155.33, UDP_0_EDNS0_32768_4096)

ปัญหาชัดเจน: ลายเซ็นในโซนของคุณหมดอายุและจำเป็นต้องรีเฟรชคีย์ สาเหตุที่คุณเห็นผลลัพธ์ที่ไม่สอดคล้องกันเนื่องจากเซิร์ฟเวอร์ที่เรียกซ้ำไม่ได้ทั้งหมดเปิดใช้งานการตรวจสอบความถูกต้อง DNSSEC ผู้ที่กำลังตรวจสอบความถูกต้องกำลังทิ้งโดเมนของคุณและสำหรับผู้ที่ไม่ได้เป็นธุรกิจตามปกติ


แก้ไข:โครงสร้างพื้นฐานของ DNS Comcast เป็นที่รู้จักกันในการดำเนินการตรวจสอบ DNSSEC และเป็นหนึ่งในลูกค้าของพวกเขาผมสามารถยืนยันได้ว่าฉันเห็นSERVFAILเช่นกัน

$ dig @75.75.75.75 strugee.net | grep status
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 2011

อ๊ะฉันมีstugee.netผลงานขุดซึ่งเห็นได้ชัดว่าเป็นตัวพิมพ์ผิด ส่วน DNSSEC ของการวิเคราะห์นี้ทำกับชื่อที่ถูกต้อง
แอนดรู B

5

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

$ dig net NS
;; ANSWER SECTION:
net.            172800  IN  NS  c.gtld-servers.net.
net.            172800  IN  NS  f.gtld-servers.net.
net.            172800  IN  NS  k.gtld-servers.net.
;; snipped extra servers given
$ dig @c.gtld-servers.net strugee.net NS
;; AUTHORITY SECTION:
strugee.net.        172800  IN  NS  dns2.registrar-servers.com.
strugee.net.        172800  IN  NS  dns1.registrar-servers.com.
;; snipped extra servers again

วิธีนี้เป็นการตรวจสอบว่าเซิร์ฟเวอร์ DNS สาธารณะทำงานอยู่และคุณกำลังทำสิ่งเดียวกันกับที่ตัวแก้ไข DNS ของคุณควรทำ ดังนั้นคุณควรได้รับคำตอบเดียวกันกับที่กล่าวไว้ข้างต้นในเซิร์ฟเวอร์ Digital Ocean ของคุณเว้นแต่จะมีบางอย่างผิดปกติกับตัวแก้ไข DNS ของพวกเขา:

$ dig net NS
$ dig strugee.net NS
$ dig strugee.net

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

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