Bind9 - 语法错误 NAPTR 记录

Bind9 - 语法错误 NAPTR 记录

目前我使用两台 DNS 服务器,一台作为主服务器,一台作为从服务器。他们俩都工作得很好。两者都是RedHat5,master运行的版本名为:BIND 9.3.4-P1,slave运行的版本为:BIND 9.3.3rc2。

现在我已经启用了新安装的服务器CentOS7,运行版本:BIND 9.9.4-RedHat-9.9.4-51.el7(扩展支持版本)

我已将其配置为从属设备,并且每次它尝试更新区域文件时,都会因语法错误而失败:

named[26484]: zone gab.bi/IN: refresh: retry limit for master 192.168.1.236#53 exceeded (source 0.0.0.0#0)
named[26484]: zone gab.bi/IN: Transfer started.
named[26484]: transfer of 'gab.bi/IN' from 192.168.1.236#53: connected using 192.168.1.30#42875
named[26484]: transfer of 'gab.bi/IN' from 192.168.1.236#53: failed while receiving responses: syntax error
named[26484]: transfer of 'gab.bi/IN' from 192.168.1.236#53: Transfer completed: 0 messages, 0 records, 0 bytes, 0.005 secs (0 bytes/sec)`

我决定只保留一条记录,并使用区域检查器检查它,看看发生了什么。单记录数据库文件如下所示:

$ORIGIN gab.bi.
000200b3009ge            A       11.0.76.2
                        TXT     "1509653923"
                        NAPTR   0 0 "GAB-62110" "v0 19275379 2.28 3.6.0.15" "4:7:18:30.36" 1509653923.

运行named-checkzone产生以下结果,因此NAPTR记录有问题。

-# named-checkzone gab.bi /etc/named/db.gab
dns_rdata_fromtext: /etc/named/db.gab:15: syntax error
zone gab.bi/IN: loading from master file /etc/named/db.gab failed: syntax     error
zone gab.bi/IN: not loaded due to errors.

很奇怪,它在主服务器上运行良好,“旧”从服务器能够使用上述格式更新他的数据库文件,但使用较新版本的named却失败了。

非常感谢您的帮助。

答案1

你的 NAPTR 显然是错误的。看一下RFC2915。首先,在顺序和偏好之后,第一个字符串与标志相关。您有“GAB-62110”,其中标志只能是 S、A、U 或 P。因此,无需进一步阅读,我们就会看到您的记录无效,正如该工具所说。但也很容易看出以下部分的记录也是错误的。你必须修正你的记录。

你确定你重新加载了master吗?因为由于相同的语法错误,它会以相同的方式失败,但如果您查看日志文件,您会发现它可能继续使用旧区域内容,因为新区域内容无效。

相关内容