我编译了'1'
v2.76,包括支持运行其权威的dns服务器(在Makefile中删除了NOAUTH)。
Wildcard subdomains with dnsmasq可用于服务器的缓存部分。
我试过了:
dnsmasq
host-record=*.domain.tld,1.2.3.4
host-record=.domain.tld,1.2.3.4
host-record=domain.tld,1.2.3.4
他们都没有返回www.domain.tld的预期答案。
如何为权威方配置通配符A记录?
答案 0 :(得分:2)
在要发布的dnsmasq 2.77版本中,CNAME记录会有一个通配符选项。
可以像这些示例一样进行配置:
cname=*.domain.tld,domain.tld
cname=*.otherdomain.tld,host.even-another-domain.tld
自commit b637d7815da89b5fb04c27b1d9a361fe5b2622a0星期二,2016年12月13日18:44:11 +0200,支持CNAME通配符。 Commit 2.77test4包含通配符代码的最新内容。
答案 1 :(得分:0)
正如dnsmasq man page中所述,只有一些选项用于填充权威区域的数据:
当dnsmasq配置为充当权威服务器时,以下数据用于填充权威区域。
--mx-host
,--srv-host
,--dns-rr
,--txt-record
,--naptr-record
,只要记录名称位于权威域中。
--cname
只要记录名称在权威域中。如果CNAME的目标不合格,则使用权威区域名称进行限定。来自/ etc / hosts(以及
--addn-hosts
)和--host-record
以及--interface-name
的IPv4和IPv6地址,前提是该地址属于--auth-zone
中指定的子网之一。DHCP租约的地址,前提是该地址属于
--auth-zone
中指定的子网之一。 (如果使用构造的DHCP范围,这取决于动态分配给接口的地址,则应使用通过接口的动态地址定义子网的--auth-zone
形式来确保满足此条件。)在默认模式下,DHCP租约具有非限定名称,并且可能是使用
--domain
构造的限定名称,因此权威区域中的名称由非限定名称和区域域构成。这可能与--domain
指定的相同或不同。如果设置了--dhcp-fqdn
,则使用与DHCP租约关联的完全限定名称,并且必须与区域的域匹配。
特别是host-record
,主机文件条目和DHCP租约可以生成A / AAAA记录,而--address
选项不会被考虑在内。不幸的是,--address
选项是为域及其所有子域指定A / AAAA响应的唯一方法。
dnsmasq没有其他DNS服务器(如bind)所知的通配符记录功能,如my answer to the question you linked中所述。