ทำไม dnsmasq ของฉันปฏิเสธคำสั่ง DNS จากไคลเอนต์ DHCP ในพื้นที่ของตัวเอง


1

ฉันตั้งค่าdnsmasqบนเครื่อง Linux ที่ทำหน้าที่เป็นเราเตอร์ที่ใช้ NAT แบบง่าย เครื่องภายในกำลังได้รับมอบหมาย IP และพวกเขามีการเข้าถึงอินเทอร์เน็ตที่ใช้งานได้ยกเว้นว่าแบบสอบถาม DNS จะไม่ได้รับการแก้ไข

10.42.0.1ที่อยู่ภายในเครื่องเราเตอร์คือ 10.42.0.101หนึ่งในลูกค้าที่ได้รับมอบหมาย

บนเครื่องไคลเอ็นต์:

user@client:~$ dig google.com @10.42.0.1
...
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 18466
...

Wireshark ยืนยันว่าได้รับแบบสอบถามโดย 10.42.0.1 และปฏิเสธทันทีผ่านการตอบสนอง DNS

เนื้อหาของ /etc/dnsmasq.d/nat-clients

(ที่อยู่ MAC ไม่ระบุชื่อ)

bind-interfaces
no-hosts
strict-order

except-interface=lo
listen-address=10.42.0.1

dhcp-range=10.42.0.10,10.42.0.100,12h
dhcp-option=option:router,10.42.0.1
dhcp-host=00:11:22:33:44:55,billy,10.42.0.101
dhcp-host=55:66:77:88:99:00,sally,10.42.0.102

นอกจากนี้/etc/dnsmasq.confเป็นเพียงความคิดเห็น

เนื้อหา/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 10.0.0.5
nameserver 10.0.0.6
search domain.company.com

เนื้อหาของ/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 10.42.0.1

ฉันไม่มีคำสั่งกำหนดค่าที่อนุญาตให้dnsmasqส่งต่อ / แก้ไขแบบสอบถาม DNS ของไคลเอ็นต์หรือไม่

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