BIND9의 이진 영역 파일


8

DNS 마스터 영역 파일이 슬레이브로 전송되었지만 영역 파일을 읽을 수 없습니다.

> less db.example.com

"db.example.com "may be a binary file.  See it anyway?

이 명령을 사용한 후에 발생했습니다.

cp -r /usr/local/sbin/* /usr/sbin/.

V.9.6 대신 bind V.9.9를 설치했습니다. 영역 파일을 일반 텍스트로 읽을 수 있기를 원합니다.


6
cp -r /usr/local/sbin/* /usr/sbin/.그랬니 ??
Gevial

1
서버와 모든 것을 다시 설치하십시오. 바로 가기는 "world"(또는 "sbin"부분)를 다시 설치하고 "/ usr / local / sbin"에서 추가 된 모든 파일을 제거하는 것일 수 있습니다.
Ouki

그 DNS 파일은 실제로 이진 파일입니까 (또는 "일치 않게"일치시키지 않는 제어 문자가 있습니까?)
Ouki

BIND 9.9를 사용하고 있기 때문에 파일에 인쇄 할 수없는 제어 문자와 같은 간단한 것이거나 슬레이브의 영역 데이터가 실제로 원시 형식으로 저장 될 수 있습니다.이 경우 아래 답변을 참조하십시오. 파일을보고 싶다면 named.compilezone을 사용하여 한 형식에서 다른 형식으로 변경할 수 있습니다.
Michael McNally

답변:


23

BIND 9.9의 슬레이브 영역 데이터 파일은 기본적으로 "원시"형식입니다. BIND와 함께 제공되는 named-compilezone 유틸리티를 사용하여 "원시"형식 영역 파일을 "텍스트"형식으로 변환 할 수 있습니다.

원시 텍스트로 :

# convert raw zone file "example.net.raw", containing data for zone example.net,
# to text-format zone file "example.net.text"
#
#   (command)     (format options)   (output file)  (zone origin) (input file)
named-compilezone -f raw -F text -o example.net.text example.net example.net.raw

원본 텍스트 :

# convert text format zone file "example.net.text", containing data for zone
# example.net, to raw zone file "example.net.raw"
#
#   (command)     (format options)   (output file) (zone origin)  (input file)
named-compilezone -f text -F raw -o example.net.raw example.net example.net.text

감사합니다. 2 개의 파일이 있습니다. 첫 번째 파일은 db-HdPKbJ2m (원본이 아닌 바이너리) 및 db.example.com (이진)이며 다음과 같은 명령을 사용했습니다. named-compilezone -f raw -F text -o db.example.com db-HdPKbJ2m db.example.com그러나이 오류가 발생했습니다. dns_master_load: example.com: not at top of zone dns_master_load: not at top of zone zone db-HdPKbJ2m/IN: loading from master file db.example.com failed: not at top of zone zone db-HdPKbJ2m/IN: not loaded due to errors.
user1044942

시스템에서 어떤 방식 으로든 영역 파일이 손상되었을 수 있습니다. 파일을 올바르게 읽지 못하면 슬레이브에서 서버를 중지하고 손상된 영역 파일을 삭제하거나 원하는 경우 이름을 바꾸어 슬레이브 서버를 다시 시작하는 것이 좋습니다. 마스터에서 영역 내용을 다시 전송해야합니다.
Michael McNally

이 깨달음을 주셔서 감사합니다. 참고로 내쪽에 628 개의 항목이있는 11KB 영역 파일을 덤프하는 데 5 초 (!) 분 (!)이 걸립니다. 아니요, IO 또는 CPU 바운드가 아닙니다. (이것은 아마도 bind magic이라고 부릅니다.) 그리고 또 다른 흥미로운 질문 : 왜 영역 이름을 지정해야합니까? 이 정보가 이미 파일에 없습니까?!? (음, 이것을 어두운 바인드 비밀이라고 부릅시다.) PS : 옵션-i none 은 1 분의 1 초가 걸립니다.
티노

7

또는 named.conf를 편집하고이 옵션을 사용하십시오.

Masterfile-Format Text;

모든 Zone 옵션에서 동일하게 수행 할 수 있습니다.


전 세계적 으로이 작업을 수행 할 수 있습니까?
naught101

예, named.conf.options
VBnoob
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.