(เขียนใหม่คำถามส่วนใหญ่เนื่องจากการทดสอบดั้งเดิมจำนวนมากของฉันไม่เกี่ยวข้องกับข้อมูลใหม่)
ฉันมีปัญหากับเซิร์ฟเวอร์ DNS ของเซิร์ฟเวอร์ 2012R2 ผลข้างเคียงที่ใหญ่ที่สุดของปัญหาเหล่านี้คือการแลกเปลี่ยนอีเมลที่ไม่ผ่าน แลกเปลี่ยนการสืบค้นสำหรับระเบียน AAAA ก่อนที่จะลองบันทึก A เมื่อเห็น SERVFAIL สำหรับระเบียน AAAA จะไม่ลองใช้ระเบียน A แต่จะยอมแพ้
สำหรับบางโดเมนเมื่อทำการค้นหาเซิร์ฟเวอร์ DNS ไดเรกทอรีที่ใช้งานของฉันฉันได้รับ SERVFAIL แทนที่จะเป็น NOERROR โดยไม่มีผลลัพธ์
ฉันลองสิ่งนี้จากตัวควบคุมโดเมน Server 2012R2 หลายตัวที่ใช้ DNS หนึ่งในนั้นคือโดเมนที่แยกจากกันอย่างสิ้นเชิงในเครือข่ายที่แตกต่างกันหลังไฟร์วอลล์และการเชื่อมต่ออินเทอร์เน็ตที่แตกต่างกัน
ที่อยู่สองที่ฉันรู้ว่าทำให้เกิดปัญหานี้smtpgw1.gov.on.ca
และmxmta.owm.bell.net
ฉันใช้dig
เครื่อง linux เพื่อทดสอบสิ่งนี้ (192.168.5.5 เป็นตัวควบคุมโดเมนของฉัน):
grant@linuxbox:~$ dig @192.168.5.5 smtpgw1.gov.on.ca -t AAAA
; <<>> DiG 9.9.5-3ubuntu0.5-Ubuntu <<>> @192.168.5.5 smtpgw1.gov.on.ca -t AAAA
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 56328
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;smtpgw1.gov.on.ca. IN AAAA
;; Query time: 90 msec
;; SERVER: 192.168.5.5#53(192.168.5.5)
;; WHEN: Wed Oct 21 14:09:10 EDT 2015
;; MSG SIZE rcvd: 46
แต่การค้นหากับตัวควบคุมโดเมนสาธารณะทำงานได้ตามที่คาดไว้:
grant@home-ssh:~$ dig @4.2.2.1 smtpgw1.gov.on.ca -t AAAA
; <<>> DiG 9.9.5-3ubuntu0.5-Ubuntu <<>> @4.2.2.1 smtpgw1.gov.on.ca -t AAAA
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 269
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 8192
;; QUESTION SECTION:
;smtpgw1.gov.on.ca. IN AAAA
;; Query time: 136 msec
;; SERVER: 4.2.2.1#53(4.2.2.1)
;; WHEN: Wed Oct 21 14:11:19 EDT 2015
;; MSG SIZE rcvd: 46
ดังที่ฉันได้กล่าวมาฉันได้ลองทำสิ่งนี้ในเครือข่ายและโดเมนสองแห่ง หนึ่งคือโดเมนใหม่ซึ่งแน่นอนมีการตั้งค่าเริ่มต้นทั้งหมดสำหรับ DNS อีกรายการหนึ่งถูกย้ายไปยัง Server 2012 ดังนั้นอาจมีการตั้งค่าเก่าจาก 2003/2008 ฉันได้ผลลัพธ์เดียวกันทั้งคู่
ปิดใช้งาน EDNS ด้วยการdmscnd /config /enableednsprobes 0
แก้ไข ฉันเห็นผลลัพธ์การค้นหามากมายเกี่ยวกับ EDNS ที่เป็นปัญหาใน Server 2003 แต่ไม่มากที่ตรงกับสิ่งที่ฉันเห็นใน Server 2012 ไฟร์วอลล์ทั้งสองไม่มีปัญหากับ EDNS การปิดใช้งาน EDNS ควรเป็นการแก้ปัญหาชั่วคราวซึ่งจะป้องกันการใช้ DNSSEC และอาจทำให้เกิดปัญหาอื่น ๆ
ฉันเคยเห็นบางโพสต์เกี่ยวกับปัญหากับ Server 2008R2 และ EDNS แต่โพสต์เดียวกันเหล่านั้นบอกว่าสิ่งต่าง ๆ ได้รับการแก้ไขใน Server 2012 ดังนั้นจึงควรทำงานอย่างถูกต้อง
ฉันได้ลองเปิดใช้งานบันทึกการดีบักสำหรับ DNS แล้ว ฉันเห็นแพ็คเก็ตที่ฉันคาดไว้ แต่มันก็ไม่ได้ให้ข้อมูลเชิงลึกมากนักว่าทำไมมันถึงส่งคืน SERVFAIL นี่คือส่วนที่เกี่ยวข้องของบันทึกการดีบักเซิร์ฟเวอร์ DNS:
แพคเก็ตแรก - แบบสอบถามจากไคลเอนต์ไปยังเซิร์ฟเวอร์ DNS ของฉัน
10/16/2015 9:42:29 น. 0974 แพ็คเก็ต 000000EFF1BF01A0 UDP Rcv 172.16.0.254 a61e Q [2001 D NOERROR] AAAA (7) smtpgw1 (3) gov (2) บน (2) ca (0) ข้อมูลคำถาม UDP ที่ 000000EFF1BF01A0 ซ็อกเก็ต = 508 รีโมท addr 172.16.0.254, พอร์ต 50764 Query Time = 4556080, Queued = 0, Expire = 0 Buf length = 0x0fa0 (4000) ความยาวของข้อความ = 0x002e (46) ข้อความ: XID 0xa61e ธง 0x0120 QR 0 (คำถาม) OPCODE 0 (QUERY) AA 0 TC 0 RD 1 RA 0 Z 0 ซีดี 0 โฆษณา 1 RCODE 0 (NOERROR) จำนวน 1 ACOUNT 0 NSCOUNT 0 บัญชี 1 ส่วนคำถาม: Offset = 0x000c, RR count = 0 ชื่อ "(7) smtpgw1 (3) gov (2) บน (2) ca (0)" QTYPE AAAA (28) QCLASS 1 ส่วนคำตอบ: ว่างเปล่า ส่วนของผู้รับผิดชอบ: ว่างเปล่า ส่วนเพิ่มเติม: Offset = 0x0023, RR count = 0 ชื่อ "(0)" ประเภท OPT (41) ชั้น 4096 TTL 0 DLEN 0 ข้อมูล ขนาดบัฟเฟอร์ = 4096 Rcode Ext = 0 Rcode เต็ม = 0 รุ่น = 0 ธง = 0
แพคเก็ตที่สอง - ค้นหาจากเซิร์ฟเวอร์ DNS ของฉันไปยังเซิร์ฟเวอร์ DNS
10/16/2015 9:42:29 น. 0974 แพ็คเก็ต 000000EFF0A22160 UDP Snd 204.41.8.237 3e6c Q [0000 NOERROR] AAAA (7) smtpgw1 (3) gov (2) บน (2) ca (0) ข้อมูลคำถาม UDP ที่ 000000EFF0A22160 ซ็อกเก็ต = 9812 รีโมต addr 204.41.8.237, พอร์ต 53 Query Time = 0, Queued = 0, Expire = 0 Buf length = 0x0fa0 (4000) ความยาวของข้อความ = 0x0023 (35) ข้อความ: XID 0x3e6c ตั้งค่าสถานะ 0x0000 QR 0 (คำถาม) OPCODE 0 (QUERY) AA 0 TC 0 RD 0 RA 0 Z 0 ซีดี 0 โฆษณา 0 RCODE 0 (NOERROR) จำนวน 1 ACOUNT 0 NSCOUNT 0 ARCOUNT 0 ส่วนคำถาม: Offset = 0x000c, RR count = 0 ชื่อ "(7) smtpgw1 (3) gov (2) บน (2) ca (0)" QTYPE AAAA (28) QCLASS 1 ส่วนคำตอบ: ว่างเปล่า ส่วนของผู้รับผิดชอบ: ว่างเปล่า ส่วนเพิ่มเติม: ว่างเปล่า
แพ็กเก็ตที่สาม - การตอบสนองจากเซิร์ฟเวอร์ DNS (NOERROR)
10/16/2015 9:42:29 น. 0974 แพ็คเก็ต 000000EFF2188100 UDP Rcv 204.41.8.237 3e6c RQ [0084 A NOERROR] AAAA (7) smtpgw1 (3) gov (2) บน (2) ca (0) ข้อมูลตอบกลับ UDP ที่ 000000EFF2188100 ซ็อกเก็ต = 9812 รีโมต addr 204.41.8.237, พอร์ต 53 Query Time = 4556080, Queued = 0, Expire = 0 Buf length = 0x0fa0 (4000) ความยาวของข้อความ = 0x0023 (35) ข้อความ: XID 0x3e6c ธง 0x8400 QR 1 (ตอบโต้) OPCODE 0 (QUERY) AA 1 TC 0 RD 0 RA 0 Z 0 ซีดี 0 โฆษณา 0 RCODE 0 (NOERROR) จำนวน 1 ACOUNT 0 NSCOUNT 0 ARCOUNT 0 ส่วนคำถาม: Offset = 0x000c, RR count = 0 ชื่อ "(7) smtpgw1 (3) gov (2) บน (2) ca (0)" QTYPE AAAA (28) QCLASS 1 ส่วนคำตอบ: ว่างเปล่า ส่วนของผู้รับผิดชอบ: ว่างเปล่า ส่วนเพิ่มเติม: ว่างเปล่า
แพ็กเก็ตที่สี่ - การตอบสนองจากเซิร์ฟเวอร์ DNS ของฉันไปยังไคลเอนต์ (SERVFAIL)
10/16/2015 9:42:29 น. 0974 แพ็คเก็ต 000000EFF1BF01A0 UDP Snd 172.16.0.254 a61e RQ [8281 DR SERVFAIL] AAAA (7) smtpgw1 (3) gov (2) บน (2) ca (0) ข้อมูลตอบกลับ UDP ที่ 000000EFF1BF01A0 ซ็อกเก็ต = 508 รีโมท addr 172.16.0.254, พอร์ต 50764 แบบสอบถามเวลา = 4556080, จัดคิว = 4556080, หมดอายุ = 4556083 Buf length = 0x0fa0 (4000) ความยาวของข้อความ = 0x002e (46) ข้อความ: XID 0xa61e ธง 0x8182 QR 1 (ตอบโต้) OPCODE 0 (QUERY) AA 0 TC 0 RD 1 RA 1 Z 0 ซีดี 0 โฆษณา 0 RCODE 2 (SERVFAIL) จำนวน 1 ACOUNT 0 NSCOUNT 0 บัญชี 1 ส่วนคำถาม: Offset = 0x000c, RR count = 0 ชื่อ "(7) smtpgw1 (3) gov (2) บน (2) ca (0)" QTYPE AAAA (28) QCLASS 1 ส่วนคำตอบ: ว่างเปล่า ส่วนของผู้รับผิดชอบ: ว่างเปล่า ส่วนเพิ่มเติม: Offset = 0x0023, RR count = 0 ชื่อ "(0)" ประเภท OPT (41) คลาส 4000 TTL 0 DLEN 0 ข้อมูล ขนาดบัฟเฟอร์ = 4000 Rcode Ext = 0 Rcode Full = 2 รุ่น = 0 ธง = 0
สิ่งอื่น ๆ ที่ควรทราบ:
- หนึ่งในเครือข่ายที่มีการเข้าถึงอินเทอร์เน็ต IPv6 ดั้งเดิมอื่น ๆ ไม่ได้ (แต่สแต็ค IPv6 ถูกเปิดใช้งานบนเซิร์ฟเวอร์ที่มีการตั้งค่าเริ่มต้น) ดูเหมือนจะไม่ใช่ปัญหาเครือข่าย IPv6
- ไม่ส่งผลกระทบต่อโดเมนทั้งหมด ตัวอย่างเช่น
dig @192.168.5.5 -t AAAA serverfault.com
คืนค่า NOERROR และไม่มีผลลัพธ์ สิ่งเดียวกันสำหรับgoogle.com
ส่งคืนที่อยู่ IPv6 ของ Google อย่างถูกต้อง - พยายามติดตั้งโปรแกรมแก้ไขด่วนจากKB3014171ไม่แตกต่าง
- ติดตั้งการอัปเดตจากKB3004539แล้ว
แก้ไข 7 พ.ย. 2558
ฉันจะตั้งค่าได้อีกไม่อยู่ในโดเมนเข้าร่วมเครื่องเซิร์ฟเวอร์ 2012R2 และติดตั้งบทบาทเซิร์ฟเวอร์ DNS nslookup -type=aaaa smtpgw1.gov.on.ca localhost
และทดสอบกับคำสั่ง มันไม่มีปัญหาเดียวกัน
VMs ทั้งสองอยู่บนโฮสต์เดียวกันและเครือข่ายเดียวกันดังนั้นจึงช่วยลดปัญหาเครือข่าย / ไฟร์วอลล์ ตอนนี้ลงมาถึงระดับแพทช์หรือเป็นสมาชิกโดเมน / ตัวควบคุมโดเมนที่สร้างความแตกต่าง
แก้ไข 8 พฤศจิกายน 2558
ใช้การอัปเดตทั้งหมดสร้างความแตกต่าง ผ่านการตรวจสอบอีกครั้งว่ามีความแตกต่างของการกำหนดค่าระหว่างเซิร์ฟเวอร์ทดสอบใหม่กับการตั้งค่า DNS ของตัวควบคุมโดเมนของฉันหรือไม่และ - ตัวควบคุมโดเมนมีการตั้งค่าตัวส่งต่อ
ตอนนี้ฉันแน่ใจว่าฉันลองใช้กับผู้ส่งต่อและไม่ได้ทำการทดสอบครั้งแรก แต่ฉันลองใช้dig
จากเครื่องลินุกซ์เท่านั้น ฉันได้รับผลลัพธ์ที่แตกต่างกันเล็กน้อยเมื่อมีและไม่มีการตั้งค่าตัวส่งต่อ (ลองกับ Google, OpenDNS, 4.2.2.1 และเซิร์ฟเวอร์ ISP DNS ของฉัน) เมื่อฉันใช้ nslookup บนเครื่อง windows
Server failed
กับชุดส่งฉันได้รับ
โดยไม่ต้องมีการส่งต่อ (ดังนั้นจึงใช้เซิร์ฟเวอร์ DNS ราก) No IPv6 address (AAAA) records available for smtpgw1.gov.on.ca
ผมได้รับ
แต่นั่นก็ยังไม่เหมือนกับสิ่งที่ฉันได้รับสำหรับโดเมนอื่น ๆ ที่ไม่มีบันทึก IPv6 - การค้นหาบน windows เพียงส่งคืนผลลัพธ์สำหรับโดเมนอื่น ๆ
มีหรือไม่มีตัวส่งต่อdig
ยังคงแสดงSERVFAIL
ชื่อนั้นเมื่อทำการสอบถามเซิร์ฟเวอร์ DNS ของ windows ของฉัน
มีความแตกต่างเล็กน้อยระหว่างโดเมนปัญหากับสิ่งอื่นที่เกี่ยวข้องแม้ว่าฉันจะไม่เกี่ยวข้องกับเซิร์ฟเวอร์ DNS ของ windows:
dig -t aaaa @8.8.8.8 smtpgw1.gov.on.ca
ไม่มีคำตอบและไม่มีส่วนอำนาจ
dig -t aaaa @8.8.8.8 serverfault.com
ไม่ส่งคืนคำตอบ แต่มีหน่วยงานที่รับผิดชอบ ดังนั้นโดเมนอื่น ๆ ส่วนใหญ่ที่ฉันลองไม่ว่าฉันจะใช้ตัวแก้ไขปัญหาใด
เหตุใดจึงไม่มีส่วนสิทธิ์ในการให้บริการและเหตุใดเซิร์ฟเวอร์ Windows DNS จึงถือเป็นความล้มเหลวเมื่อเซิร์ฟเวอร์ DNS อื่นไม่ทำ