公网VPS单IP场景下Bind9反向DNS区域文件配置求助
公网VPS单IP场景下Bind9反向DNS区域文件配置求助
我完全懂你现在的困扰——刚上手Bind9配置公网反向DNS,照着教程改完还一堆报错,太闹心了!先帮你把之前配置里的问题捋清楚,再给你一套能直接用的正确配置。
先说说你之前配置踩的坑:
- 检查命令用错了:执行
named-checkzone时,第一个参数必须是反向区域的完整域名(也就是121.23.123.31.in-addr.arpa),而不是你的公网IP31.123.23.121,这是导致第一个报错的核心原因。 - 注释和冗余内容搞混了:你写的
# Update your DNS server后面的空行被Bind当成了无效记录,而且还保留了教程里私有IP的示例100 IN PTR ...,这完全和你的公网IP不匹配,自然会报错。 - 记录格式不规范:NS记录没有用
@指代当前区域,重复写全域名容易出错,而且PTR记录的主机位也不对。
给你一套正确的反向区域文件配置
假设你的区域文件命名为db.121.23.123.31,内容如下:
$ORIGIN 121.23.123.31.in-addr.arpa. $TTL 86400 @ IN SOA ns1.myhostingdomain.com. staff.myhostingdomain.com. ( 2024052001 ; 序列号:建议用「日期+版本号」,每次修改必须递增 21600 ; 刷新时间:6小时后从主DNS同步 3600 ; 重试时间:同步失败后1小时再试 604800 ; 过期时间:1周后放弃同步 86400 ) ; 最小TTL:缓存失效时间1天 @ IN NS ns1.myhostingdomain.com. @ IN NS ns2.myhostingdomain.com. @ IN PTR server.myhostingdomain.com.
正确的检查命令
运行这条命令验证配置:
named-checkzone 121.23.123.31.in-addr.arpa db.121.23.123.31
额外注意事项
- 一定要确认Contabo已经把你的IP
31.123.23.121的反向DNS委托给了你的域名服务器(ns1.myhostingdomain.com和ns2.myhostingdomain.com),这一步是前提,不然你本地配置对了,公网也不会用你的Bind服务器解析反向DNS。 - 你的主域名
myhostingdomain.com的NS记录必须已经指向你的VPS IP,确保公网能正常解析到你的DNS服务器。 - 每次修改区域文件后,一定要递增SOA记录里的序列号,不然DNS服务器不会识别到配置更新。
备注:内容来源于stack exchange,提问作者Bestmank




