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​​ 2013年

1
サーバーとすべてを再インストールします。ショートカットは、単に "world"(または "sbin"部分)を再インストールし、追加されたすべてのファイルを "/ usr / local / sbin"から削除することです。
Ouki

そのDNSファイルは本当にバイナリファイルですか(または、「不一致」を少なくする制御文字がいくつかあります)?
Ouki

BIND 9.9を使用しているため、スレーブのゾーンデータが実際の形式で保存されている可能性があります。この場合、以下の私の回答をご覧ください。ファイルを表示したいだけの場合は、named.compilezoneを使用して、ある形式から別の形式に変更できます。
マイケル・マクナリー、2013年

回答:


23

BIND 9.9のスレーブゾーンデータファイルは、デフォルトでは「raw」形式です。 BINDに付属のnamed-compilezoneユーティリティを使用して、「raw」形式のゾーンファイルを「テキスト」形式に変換できます。

生のテキスト:

# 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(binary)で、次のようなコマンドを使用しました: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 2013年

システム上の何かが何らかの理由でゾーンファイルを破損した可能性があります。私の推奨は、ファイルが正しく読み取れない場合は、スレーブのサーバーを停止し、破損したゾーンファイルを削除し(または、必要に応じてファイル名を変更して邪魔にならないように移動し)、スレーブサーバーを再起動することです。マスターからゾーンの内容を再転送する必要があります。
マイケル・マクナリー2013年

この啓蒙をありがとう。参考までに、私の側で628エントリの11 KBゾーンファイルをダンプするには、5(!)分(!)以上かかります。いいえ、IOもCPUもバインドされていません。(これはおそらくbind magicと呼ばれる必要があります。)そしてもう1つの興味深い質問:なぜゾーン名を指定する必要があるのですか?この情報はすでにファイルにありませんか?!?(まあ、これをダークバインドシークレットと呼びましょう。)PS:オプションを指定-i noneすると、ほんの一瞬で完了します
Tino

7

または、named.confを編集してこのオプションを使用するだけです。

Masterfile-Format Text;

すべてのゾーンオプションで同じことができます。


これをグローバルに行うことは可能ですか?
naught101

はい、それをnamed.conf.optionsに入れます
VBnoob
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.