Domain-Name-System

BIND 區域文件錯誤

  • April 7, 2019

我對 BIND 中的區域文件有疑問。

這是區域文件,私人資訊被屏蔽。

$ORIGIN xx.com.
$TTL 60

@                       IN SOA  ns01.xx.com. hostmaster.xx.com. (
                           2019040702   ; serial number DATE PLUS SEQUENCENR
                           3600       ; refresh (15 minutes)
                           3600       ; retry (10 minutes)
                           86400      ; expire (1 day)
                           3600       ; minimum (1 hour)
                           )

                   NS      ns01.xx.com.
                   NS      ns02.xx.com.

; Mail-servers
@                       MX      10      ASPMX.L.GOOGLE.COM.
@                       MX      20      ALT1.ASPMX.L.GOOGLE.COM.
@                       MX      20      ALT2.ASPMX.L.GOOGLE.COM.
@                       MX      30      ASPMX2.GOOGLEMAIL.COM.
@                       MX      30      ASPMX3.GOOGLEMAIL.COM.

@                       A       1.2.3.4
www                     A       1.2.3.4

每當我執行 named-checkconf xx.com 時,我都會收到此錯誤:

xx.com:1: unknown option '$ORIGIN'
xx.com:5: unknown option 'serial'
xx.com:6: unknown option 'refresh'
xx.com:7: unknown option 'retry'
xx.com:8: unknown option 'expire'
xx.com:9: unknown option 'minimum'
xx.com:15: unknown option 'Mail-servers'
xx.com:24: unexpected token near end of file

然後 BIND 沒有啟動。

有人看到這個文件有什麼問題嗎?

顧名思義named-checkconf是檢查綁定配置文件,而不是區域文件!

要檢查區域文件,您需要使用named-checkzone

它會讓您知道您的區域有問題,因為您的轄區名稱伺服器沒有AAAAA記錄。

PS:不要把事情混淆得那麼厲害,1.2.3.4它們xx.com是當今存在的有效的全球公共標識符,而不是你的。有混淆的指南,看RFC2606和RFC5737

引用自:https://serverfault.com/questions/961857