You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bind9配置问题:仅转发指定子域请求并拒绝其他所有请求

Bind9配置问题:仅转发指定子域请求并拒绝其他所有请求

嘿,我来帮你排查下之前配置出问题的原因,以及给出符合你需求的正确配置方案。

首先,你遇到的REFUSED错误,核心原因是没有在转发域的配置里加上forward only;。默认情况下,Bind9的forward类型域会使用forward first策略:先尝试用你指定的forwarder解析,如果失败,就会自己尝试递归查询根域服务器。但你全局设置了recursion no;,这时候递归查询被禁止,自然就返回REFUSED了。

接下来是修正后的完整配置:

1. 目标子域的转发配置

在你的Bind9配置文件(比如named.conf.local)里添加:

zone "a-test.subdomain.com" {
    type forward;
    forward only;  # 关键:只依赖指定的forwarder,不尝试自身递归
    forwarders {
        8.8.8.8;
    };
};

加上forward only;后,Bind9只会向8.8.8.8请求这个子域的解析,不会触发后续的递归尝试,完美适配你全局recursion no;的设置。

2. 全局核心配置

在named.conf.options里保持这些设置:

recursion no;
allow-query { any; };
allow-query-cache { none; };  # 可选:确保其他域名的请求不会被缓存
};

验证配置

配置完成后,重启Bind9服务,然后用dig命令测试:

  • 测试目标子域:dig @你的Bind9服务器IP a-test.subdomain.com,应该能拿到8.8.8.8返回的解析结果
  • 测试其他域名:dig @你的Bind9服务器IP example.com,会得到REFUSED响应,这正是你想要的——触发客户端自动 fallback到次级DNS服务器

备注:内容来源于stack exchange,提问作者James

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 10:10:29