DD-WRT:DNSMasq扩展主机不起作用


12

我有一个运行DD-WRT的Linksys路由器(固件:DD-WRT v24-sp2(09/08/09)mini)。我已经成功解析了DHCP分配的系统的DNS名称,但是只有当我完全限定了这些域时才可以。尽管使用了“扩展主机” 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

(仅供参考: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中的expand-host吗?

Answers:


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在出现完全限定的A记录DNS查询时将这些主机条目视为域的一部分。
为此,您可以不得不:

  1. example.com域放在“ 设置” ->“ 基本设置”页面上“ 可选设置”下的域名”字段中。
  2. 在“ DHCP服务器”下“ 服务”页面上空白的“ LAN域”设置。
  3. 在“ DNSMasq”下的“ 服务”页面上添加expand-hosts其他DNSMasq选项

步骤1控制文件中的domain=设置dnsmasq.conf。第2步从放入的条目中删除域/etc/hosts。步骤3将域添加到/etc/hosts完全合格的DNS查询进入时的条目上。


我很高兴dd-wrt做到了这个漂亮又简单...


2

以下内容适用于我的DD-WRT:

expand-hosts
local=/lan/
domain=lan

我认为这是因为您缺少local设置。我还在lanGUI中将其设置为“ LAN域”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.