You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何配置Unbound将本地无点主机名解析请求转发至本地DNS服务器

如何配置Unbound将本地无点主机名解析请求转发至本地DNS服务器

嘿,这个需求我刚好处理过,完美匹配你的场景——只把不带点的本地主机名转发到192.168.1.1,其他域名保持正常递归解析,还不用依赖DHCP添加域名。

具体配置很简单,你只需要在Unbound的配置文件(通常是/etc/unbound/unbound.conf/etc/unbound.conf,不同系统路径可能略有差异)里添加一段针对性的转发规则,同时避免全局转发的干扰:

# 仅转发无点的本地主机名到你的本地DNS服务器
forward-zone:
    name: ""
    forward-addr: 192.168.1.1

配置说明:

  • name: "" 这个规则会精准匹配所有不带点的单标签主机名(比如你提到的"foo"),这类请求会被直接转发到指定的forward-addr(也就是192.168.1.1)。
  • 所有带点的域名(比如example.comgoogle.com)会自动走Unbound默认的递归解析流程,完全不会被转发,刚好符合你的要求。

注意事项:

  1. 一定要检查配置文件里有没有全局转发规则(比如forward-zone: name: "."),如果有的话必须删掉,否则所有请求都会被转发到本地DNS,就达不到你要的效果了。
  2. 修改完配置后,记得重启Unbound服务让配置生效,比如执行命令:sudo systemctl restart unbound(基于systemd的系统)或者sudo service unbound restart

验证配置是否生效:

你可以用dig命令测试两种场景:

  • 测试无点主机名:dig foo @localhost,查看返回结果的SERVER字段,应该显示192.168.1.1。
  • 测试正常域名:dig example.com @localhost,查看SERVER字段,应该显示Unbound监听的本地地址(通常是127.0.0.1或::1),说明是递归解析的结果。

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

火山引擎 最新活动