name-checkconf 在先前正常運作的前向區域檔案上拋出錯誤

name-checkconf 在先前正常運作的前向區域檔案上拋出錯誤

我想為我的 bind9 配置新增一個區域 (BIND 9.16.1)。我有大約 20 個網域由該名稱伺服器提供服務,其中大多數已運行超過 10 年。

named-checkconf 會在新的conf 檔案上拋出錯誤,也會在所有舊的conf 檔案上拋出錯誤,即使它們仍然有效。我沒有足夠的勇氣重新加載bind9,以防萬一我丟失了一些東西。

我收到以下錯誤:

root@ns:/var/cache/bind# named-checkconf test
test:1: unknown option '$ORIGIN'
test:18: unexpected token near end of file
root@ns:/var/cache/bind# cat test
$ORIGIN test.au.
$TTL 3h
@   IN  SOA ns1.example.com.au. david.example.com.au. (
            23042601    # serial
            3h      # refresh
            15m     # retry
            14d     # expire
            12h     # default_ttl
            )
@   IN  NS  ns1.example.com.au.
@   IN  NS  ns2.example.com.au.
@   IN  MX  50  mail.test.au.
@   IN  MX  100 ns.example.com.au.
@   IN  A   123.456.789.1
mail    IN  A   123.456.789.9
www IN  A   123.456.789.1
 
root@ns:/var/cache/bind#

如果我在開頭添加評論,則會收到不同的錯誤:

root@ns:/var/cache/bind# named-checkconf test
test:1: syntax error near ';'
root@ns:/var/cache/bind# cat test
; 230426 original
;
$ORIGIN test.au.
$TTL 3h
@   IN  SOA ns.example.com.au.  david.example.com.au. (
etc......

我覺得我錯過了一些明顯的東西。

答案1

named-checkconf您正在區域文件上運行,但named-checkconf被要求驗證配置文件,例如named.conf,只需使用named-checkzone即可。

你應該像這樣運行它named-checkzone test.au test

相關內容