이전에 작동하는 정방향 영역 파일에서 명명된-checkconf 오류 발생

이전에 작동하는 정방향 영역 파일에서 명명된-checkconf 오류 발생

바인드9 구성(BIND 9.16.1)에 영역을 추가하고 싶었습니다. 이 네임서버가 서비스하는 도메인이 약 20개 있는데, 그 중 대부분이 10년 이상 사용되었습니다.

명명된-checkconf는 새 conf 파일뿐만 아니라 모든 이전 conf 파일에서도 여전히 작동하지만 오류를 발생시킵니다. 뭔가 빠진 것이 있을 경우를 대비해 바인딩9를 다시 로드할 만큼 용감하지 않습니다.

다음 오류가 발생합니다.

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

관련 정보