问题区文件配置bind9

tme*_*com 1 configuration bind dns-zone

这是我的配置文件区

$TTL 604800
@  IN      SOA     SH.globaltic.tk.      root.globaltic.tk. (
                                         2011052501 ;serial
                                         604800     ; Refresh
                                         86400      ; Retry
                                         2419200    ; Expire
                                         604800     ; Negative Cache TTL )

@           IN      NS      SH.globaltic.tk.
@           IN      NS      mail.globaltic.tk.
@           IN      MX  10  mail.globaltic.tk.
SH          IN      A       192.168.1.1
mail        IN      A       192.168.1.2
Run Code Online (Sandbox Code Playgroud)

当我做测试时:

root@SH:/etc/bind#named-checkzone globaltic.tk db.globaltic.tk
dns_rdata_fromtext: db.globaltic.tk:7: near '@': extra input text
zone globaltic.tk/IN: loading from master file db.globaltic.tk failed: extra input     >>     text
zone globaltic.tk/IN: not loaded due to errors.
Run Code Online (Sandbox Code Playgroud)

每次出现“@??”时我都会擦除 每次都是一样的问题,我都做了改变。 一个答案?

wol*_*gsz 6

将右括号移到 604800 后面,如下所示:

604800 )    ; Negative Cache TTL
Run Code Online (Sandbox Code Playgroud)

它会起作用。

根据您编写区域文件的方式,右括号是注释的一部分,因此解析器无法将其视为 SOA 声明的一部分。当您将其移动到注释开始之前,解析器可以看到它。