DD-WRT: DNSMasq expand-hosts ไม่ทำงาน


12

ฉันมีเราเตอร์ Linksys ที่รัน DD-WRT (เฟิร์มแวร์: DD-WRT v24-sp2 (09/08/09) ขนาดเล็ก) ฉันได้รับการแก้ไขชื่อ DNS สำหรับระบบที่กำหนด DHCP ของฉันสำเร็จแล้ว แต่เมื่อฉันผ่านการรับรองโดเมนเหล่านั้น นี่คือแม้จะใช้ตัวเลือกเพิ่มเติม "ขยายโฮสต์" DNSMasq ซึ่งควรจะเปิดใช้งานฟังก์ชั่นที่แม่นยำนี้

นี่คือ dnsmasq.conf ของฉัน:

interface=br0
resolv-file=/tmp/resolv.dnsmasq
domain=example.com
dhcp-leasefile=/tmp/dnsmasq.leases
dhcp-lease-max=51
dhcp-option=lan,3,10.77.0.5
dhcp-authoritative
dhcp-range=lan,10.77.0.100,10.77.0.149,255.255.0.0,1440m
dhcp-host=00:1A:A0:1D:82:5A,astatichostname,10.77.1.40,infinite
expand-hosts

(FYI: example.com และ astatichostname เป็นตัวยึดตำแหน่งสำหรับชื่อจริงที่ฉันใช้เครือข่ายของฉันใช้ 10.77.0.0/16 เราเตอร์ของฉันอยู่ที่ 10.77.0.5)

ผล:

> nslookup astatichostname 10.77.0.5
Server:     10.77.0.5
Address:    10.77.0.5#53

** server can't find astatichostname: NXDOMAIN

> nslookup astatichostname.example.com 10.77.0.5
Server:     10.77.0.5
Address:    10.77.0.5#53

Name:   astatichostname.example.com
Address: 10.77.1.40

มีอย่างอื่นที่สามารถเพิ่มจำนวนการขยายโฮสต์ใน DNSMasq ได้หรือไม่

คำตอบ:


8

คำถามนี้เก่า แต่ก็เป็นหนึ่งในผลลัพธ์ของ google อันดับต้น ๆ สำหรับปัญหานี้และในที่สุดฉันก็หาได้

ปัญหาคือว่าไม่ใช่สิ่งที่expand-hostsจะทำ เอกสารเกี่ยวกับมันคลุมเครือมาก แต่สิ่งที่expand-hostsจะเพิ่มโดเมนไปยังรายการโฮสต์ใน/etc/hostsไม่แบบสอบถาม DNS ตัวอย่างเช่น

/ etc / hosts:

10.77.0.5 astatichostname

dnsmasq.conf:

expand-hosts
domain=example.com

จากนั้นแบบสอบถาม dns สำหรับastatichostname.example.comจะแก้ไขเป็น10.77.0.5(นอกเหนือจากการค้นหา DNS สำหรับเพียงastatichostname)



สารละลาย:

ดังนั้นวิธีแก้ไขคือรับ dd-wrt เพื่อสร้างรายการ/etc/hostsโดยไม่มีโดเมนจากนั้นให้บอก dnsmasq เพื่อพิจารณารายการโฮสต์เหล่านั้นเป็นส่วนหนึ่งของexample.comโดเมนเมื่อมีการสอบถามระเบียน DNS แบบเต็มคุณ
จะต้องทำสิ่งนี้ ต้อง:

  1. ใส่example.comโดเมนในฟิลด์ชื่อโดเมนบนหน้าการตั้งค่า -> การตั้งค่าพื้นฐานภายใต้การตั้งค่าเพิ่มเติม
  2. ที่ว่างเปล่าLAN โดเมนการตั้งค่าบนบริการหน้าภายใต้เซิร์ฟเวอร์ DHCP
  3. เพิ่มexpand-hostsไปยังตัวเลือก DNSMasq เพิ่มเติมในหน้าบริการภายใต้DNSMasq

ขั้นตอนที่# 1ควบคุมการdomain=ตั้งค่าที่ใส่ลงในdnsmasq.confไฟล์ ขั้นตอนที่ 2/etc/hostsเอาโดเมนจากรายการที่ได้รับการใส่ใน ขั้นตอนที่# 3 tacks โดเมนไปยังรายการใน/etc/hostsเมื่อมีการสืบค้น DNS แบบเต็ม


ฉันดีใจที่ dd-wrt ทำสิ่งนี้ดีและเรียบง่าย ...


2

งานต่อไปนี้สำหรับฉันใน DD-WRT ของฉัน:

expand-hosts
local=/lan/
domain=lan

ฉันคิดว่าเป็นเพราะคุณขาดการlocalตั้งค่า ฉันยังได้lanตั้งเป็น "โดเมน LAN" ของฉันใน GUI

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