ฉันตั้งค่า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 ของไคลเอ็นต์หรือไม่