首页 > 解决方案 > 使用反向区域文件绑定设置问题

问题描述

我正在为一些我认为主要是工作场景的网站设置内部 dns。但是,当我跑步时

rvw@ns1:/var/lib/bind $ named-checkzone rvw-inc.com 192.168.0.rev

我明白了

dns_rdata_fromtext: 192.168.0.rev:6: near eol: unexpected end of input

这是我的 192.168.0.rev 文件:

192.168.0.in-addr.arpa  IN SOA  rvw-inc.com. (
    1263187356      ; serial
    10800           ; refresh
    3600            ; retry
    604800          ; expire
    38400)

NS      ns1.rvw-rev.com.
$ORIGIN 0.168.192.in-addr.arpa.
142                     PTR     rvw-inc.com.

关于导致 38400 输入意外结束的任何想法)?注意:我也尝试过将最后一个括号放在新行上,结果相同

标签: dnsbind

解决方案


你的 SOA 记录是错误的。

这是一个来自维基百科的例子:

@   IN SOA master.example.com. hostmaster.example.com. (
    2017030300 ; serial
    3600       ; refresh
    1800       ; retry
    604800     ; expire
    600 )      ; ttl

请注意,“介于”SOA(您有两个标记:首先是 MNAME(或区域的主名称服务器),然后是 RNAME,它是区域维护者的电子邮件地址(@替换为 a .)。

如果您按以下方式修复您的记录,它应该可以工作:

0.168.192.in-addr.arpa.  IN SOA  ns1.rvw-inc.com. hostmaster.rvw-inc.com. (
    1263187356      ; serial
    10800           ; refresh
    3600            ; retry
    604800          ; expire
    38400)          ; ttl

请注意,您的所有者也错了,它应该是0.168.192.in-addr.arpa.而不是192.168.0.in-addr.arpa:您错过了最后一个点并且您忘记了反转 IP 地址中的字节顺序。

您可以通过dig请求查看示例:

$ dig SOA -x 192.168.1.1 +noall +auth

; <<>> DiG 9.12.0 <<>> SOA -x 192.168.1.1 +noall +auth
;; global options: +cmd
168.192.in-addr.arpa.   0 IN SOA localhost. root.localhost. (
                1          ; serial
                604800     ; refresh (1 week)
                86400      ; retry (1 day)
                2419200    ; expire (4 weeks)
                86400      ; minimum (1 day)
                )

dig以“zonefile”格式输出记录,以便您可以在文件中重复使用它们。


推荐阅读