如何配置Unbound仅解析指定主域名而禁止其所有子域名解析(无需逐个列举子域名)
如何配置Unbound仅解析指定主域名而禁止其所有子域名解析(无需逐个列举子域名)
我完全懂你的痛点——要让Unbound只解析mydomain.tld这一个主域名,所有像www.mydomain.tld这类子域名都直接返回不可解析,还不想手动罗列所有可能的子域名,毕竟这种方式太不灵活了。
你之前尝试的几种配置没成功,问题出在transparent模式的逻辑上:当你把mydomain.tld设为transparent时,Unbound会去外部DNS查询这个域名的真实记录,同时默认允许查询它的子域名,哪怕你后面加了*.mydomain.tld always_nxdomain,也可能因为规则匹配顺序或者transparent的优先级问题,导致子域名还是被解析了。
下面给你一个可行的配置方案,完全不需要逐个列举子域名:
# 第一步:默认拒绝所有域名的解析 local-zone: "." always_nxdomain # 第二步:针对主域名配置静态解析,指定它的IP记录 local-zone: "mydomain.tld" static # 替换成你自己的主域名IPv4地址 local-data: "mydomain.tld IN A 192.168.1.100" # 如果需要支持IPv6,加上这条(替换成对应地址) # local-data: "mydomain.tld IN AAAA 2001:db8::1" # 第三步:显式拒绝所有子域名(static模式下子域名默认已不可解析,加这条更保险) local-zone: "*.mydomain.tld" always_nxdomain
配置各部分作用说明:
local-zone: "." always_nxdomain:将全局域名解析默认设为拒绝,确保除了我们指定的主域名,所有其他域名都返回NXDOMAIN(不可解析)。local-zone: "mydomain.tld" static:指定Unbound不通过外部DNS查询mydomain.tld,而是使用我们手动配置的本地记录来解析它。local-data:手动定义mydomain.tld的具体解析记录,你可以根据实际需求添加IPv4(A记录)、IPv6(AAAA记录)甚至邮件交换(MX记录)等类型。local-zone: "*.mydomain.tld" always_nxdomain:额外的保险机制,明确拒绝所有mydomain.tld的子域名解析,避免任何意外情况。
这样配置后,Unbound只会解析mydomain.tld本身,任何它的子域名都会被拒绝,完全不用逐个列举子域名,完美解决你的需求。
备注:内容来源于stack exchange,提问作者PePe
相关产品推荐
相关产品推荐

