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

BIND 9.16.xx版本如何固定DNS查询出站源端口?

BIND 9.16.xx版本如何固定DNS查询出站源端口?

嗨,我来帮你搞定这个BIND版本升级后的源端口问题~

你遇到的情况很典型:BIND 9.11里用query-source port 53;就能固定出站查询的源端口,但到了9.16版本,这个写法被标记为废弃(deprecated)了,默认会随机选端口。不过别担心,官方提供了新的配置方式来实现同样的需求:

解决步骤

  1. 修改named.conf配置
    打开你的/etc/named.conf,在options块里替换掉原来的query-source address *;,添加(或修改)以下配置:

    options {
      ...
      # 固定UDP查询的源端口为53(如果只需要UDP就加这行)
      udp-source-ports 53;
      # 如果需要TCP查询也固定源端口,加上这行
      tcp-source-ports 53;
      ...
    }
    

    这里的udp-source-ports可以指定单个端口或者端口范围(比如53-53和直接写53效果一样),设置为53就会让所有UDP DNS查询都用53作为源端口。

  2. 确认端口可用性
    要确保53端口没有被系统上其他服务占用(比如如果本机还有其他DNS服务在运行的话),否则BIND启动会失败。可以用ss -ulpn | grep :53命令检查端口占用情况。

  3. 重启服务并验证
    重启named服务(比如systemctl restart named),然后再用tcpdump抓包测试,你应该能看到出站查询的源端口已经变成53了。

补充说明

BIND 9.16之所以废弃query-source port,是因为官方希望用全局的端口控制选项来统一管理UDP/TCP的源端口,这样配置更清晰也更灵活——如果之后需要调整端口范围,直接修改这两个全局选项就行,不用在每个视图或zone里重复设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 08:37:58