เราได้กำหนดค่า dnsmasq สำหรับการแคชการตอบสนอง DNS เพื่อปรับปรุงเวลาตอบสนอง DNS มันทำงานได้ดีจนกว่าจะมีการกำหนดค่าเซิร์ฟเวอร์อัปสตรีม IPV4 เท่านั้น
ในสภาพแวดล้อมที่แตกต่างกันด้วย IPV4 และ IPV6 โดยที่ที่อยู่ IP และรายละเอียดเซิร์ฟเวอร์ DNS นั้นจัดเตรียมโดย DHCP การแก้ไข DNS จะไม่ทำงาน
เครื่องนี้มีที่อยู่ IPV4 เซิร์ฟเวอร์ IPV4 dns หนึ่งเครื่อง และเซิร์ฟเวอร์ IPV6 dns 3 เครื่องที่กำหนดค่าโดย DHCP มีปัญหาในการกำหนดค่าที่อยู่ IPV6 ดังนั้นจึงไม่สามารถกำหนดค่าที่อยู่ IPV6 ได้ ดังนั้นอุปกรณ์จึงมีที่อยู่ IPV4, เซิร์ฟเวอร์ IPV4 dns และเซิร์ฟเวอร์ IPV6 dns 3 ตัวที่กำหนดค่าใน eth0
เมื่อได้ลองลงมือทำ ขุดชื่อโฮสต์
มันล้มเหลวด้วย "ความล้มเหลวชั่วคราวในการจำแนกชื่อ
" หลังจากเวลาผ่านไป อันที่จริง IPV4 dns server สามารถเข้าถึงได้และสามารถตอบสนองการสืบค้น DNS ได้ (จะทำงานเมื่อ ขุด @ ชื่อโฮสต์เซิร์ฟเวอร์ IPV4
) แต่ไม่ได้รับการตอบกลับแต่อย่างใด
ตรวจสอบการจับแพ็กเก็ตเพิ่มเติม เมื่อ ก ขุดชื่อโฮสต์
ถูกร้องขอ คำขอ dns ถูกส่งไปยังเซิร์ฟเวอร์อัปสตรีมทั้งหมด และเซิร์ฟเวอร์ IPV4 dns ตอบกลับในขณะที่เซิร์ฟเวอร์อัปสตรีม IPV6 ไม่สามารถเข้าถึงได้
ใครช่วยกรุณาชี้แจงต่อไปนี้
- ตาม dnsmasq man page เมื่อมีเซิร์ฟเวอร์อัปสตรีมหลายตัว มันจะส่งคำขอ dns ไปยังเซิร์ฟเวอร์เดียวเท่านั้นจนกว่า
--ทุกเซิร์ฟเวอร์
มีการกำหนดค่าตัวเลือก เหตุใดในกรณีนี้คำขอจึงถูกส่งไปยังเซิร์ฟเวอร์ทั้งหมด
- เมื่อเซิร์ฟเวอร์อัปสตรีม IPV4 ตอบกลับด้วยการตอบกลับ เหตุใดจึงไม่ได้รับการพิจารณาและคำขอ DNS ล้มเหลว
- มีคำสั่ง / การตั้งค่าใด ๆ ที่ dnsmaq ใช้เพื่อเลือกที่อยู่เซิร์ฟเวอร์ DNS เพื่อส่งต่อคำขอ
ด้านล่างนี้คือการถ่ายโอนข้อมูล TCP ที่เกิดขึ้นในขณะที่ส่งคำขอ DNS ซึ่งแสดงว่าเซิร์ฟเวอร์อัพสตรีม IPV4 ตอบสนองแล้ว
16:17:20.266462 IP 10.x.x.17.51705 > 10.x.x.20.domain: 15715+ A? เฟสบุ๊ค.คอม. (30)
16:17:20.266566 IP6 fe80::2d04:2479:e0a0:8677.60098 > 2001:x:x::x:20.domain: 15715+ A? เฟสบุ๊ค.คอม. (30)
16:17:20.266602 IP6 fe80::2d04:2479:e0a0:8677.60098 > 2001:x:x::x:22.domain: 15715+ A? เฟสบุ๊ค.คอม. (30)
16:17:20.266636 IP6 fe80::2d04:2479:e0a0:8677.60098 > 2001:x:x::x:34.domain: 15715+ A? เฟสบุ๊ค.คอม. (30)
**16:17:20.268080 IP 10.x.x.20.domain > 10.x.x.17.51705: 15715 1/0/0 A 157.240.22.35 (46) --> การตอบกลับจากเซิร์ฟเวอร์อัพสตรีม IPV4
16:17:25.271834 IP 10.x.x.17.51705 > 10.x.x.20.domain: 2104+ A? facebook.com.searchdomain1.lab. (41)
16:17:25.273270 IP 10.x.x.20.domain > 10.x.x.17.51705: 2104 NXDomain 0/1/0 (116)
16:17:25.273581 IP6 fe80::2d04:2479:e0a0:8677.60098 > 2001:x:x::x:20.domain: 1302+ A? facebook.com.searchdomain.com. (42)
16:17:25.273618 IP6 fe80::2d04:2479:e0a0:8677.60098 > 2001:x:x::x:22.domain: 1302+ A? facebook.com.searchdomain.com. (42)
16:17:25.273659 IP6 fe80::2d04:2479:e0a0:8677.60098 > 2001:x:x::x:34.domain: 1302+ A? facebook.com.searchdomain.com. (42)
16:17:30.278138 IP6 fe80::2d04:2479:e0a0:8677.60098 > 2001:x:x::x:20.domain: 1302+ A? facebook.com.searchdomain.com. (42)
16:17:30.278177 IP6 fe80::2d04:2479:e0a0:8677.60098 > 2001:x:x::x:22.domain: 1302+ A? facebook.com.searchdomain.com. (42)
16:17:30.278217 IP6 fe80::2d04:2479:e0a0:8677.60098 > 2001:x:x::x:34.domain: 1302+ A? facebook.com.searchdomain.com. (42)
แก้ไข 1:
ลองอีกครั้งในวันนี้ ตอนนี้โหนดได้รับที่อยู่ IPv6 แล้ว แต่ยังไม่สามารถเข้าถึงเซิร์ฟเวอร์ IPV6 ได้ อาจเห็นเซิร์ฟเวอร์ IPV4 ที่มีรายการ dns ตอบสนอง แต่ยังคงมีคำสั่งแจ้งว่า "การเชื่อมต่อหมดเวลา ไม่สามารถเข้าถึงเซิร์ฟเวอร์ได้"
09:07:16.348333 IP (tos 0x0, ttl 64, id 21050, offset 0, flag [DF], proto UDP (17), ความยาว 75)
10.115.153.176.nimspooler > 10.xx.xx.20.domain: [udp cksum 0xaf89 ไม่ถูกต้อง -> 0x29ec!] 36262+ A? s2.0583.proxy-s2-5.fmtest.lab (47)
09:07:16.348415 IP (tos 0x0, ttl 64, id 18221, offset 0, flags [DF], proto UDP (17), ความยาว 75)
10.115.153.176.nimspooler > 10.xx.xx.109.domain: [bad udp cksum 0x804c -> 0x5929!] 36262+ A? s2.0583.proxy-s2-5.fmtest.lab (47)
09:07:16.348493 IP6 (hlim 255, UDP ส่วนหัวถัดไป (17) ความยาวเพย์โหลด: 55) 2001:10:115:152::158:3.41736 > 2001:xx:xx::1:20.domain: [ไม่ดี udp cksum 0x445d -> 0xad91!] 36262+ ก? s2.0583.proxy-s2-5.fmtest.lab (47)
09:07:16.348547 IP6 (hlim 255, UDP ส่วนหัวถัดไป (17) ความยาวเพย์โหลด: 55) 2001:10:115:152::158:3.41736 > 2001:xx:xx::1:20.domain: [ไม่ดี udp cksum 0x445f -> 0xad8f!] 36262+ ก? s2.0583.proxy-s2-5.fmtest.lab (47)
09:07:16.348602 IP6 (hlim 255, UDP ส่วนหัวถัดไป (17) ความยาวเพย์โหลด: 55) 2001:10:115:152::158:3.41736 > 2001:10:10::1:34.domain: [ไม่ดี udp cksum 0x4471 -> 0xad7d!] 36262+ ก? s2.0583.proxy-s2-5.fmtest.lab (47)
09:07:16.349109 IP (tos 0x0, ttl 63, id 33379, offset 0, flag [DF], proto UDP (17), ความยาว 91)
***10.xx.xx.109.domain > 10.115.153.176.nimspooler: [udp sum ok] 36262* q: A? s2.0583.proxy-s2-5.fmtest.lab 1/0/0 s2.0583.proxy-s2-5.fmtest.lab ก 192.168.1.5 (63)***
09:07:16.349824 IP (tos 0x0, ttl 126, id 26992, offset 0, flag [none], proto UDP (17), ความยาว 150)
10.xx.xx.20.domain > 10.115.153.176.nimspooler: [udp sum ok] 36262 NXDomain q: A? s2.0583.proxy-s2-5.fmtest.lab 0/1/0 น.: . SOA a.root-servers.net nstld.verisign-grs.com. 2021080500 1800 900 604800 86400 (122)
[admin@fm-release ~]$ โฮสต์ -v s2.0583.proxy-s2-5.fmtest.lab
ลอง "s2.0583.proxy-s2-5.fmtest.lab"
;; หมดเวลาการเชื่อมต่อ; ไม่สามารถเข้าถึงเซิร์ฟเวอร์ได้