[Zone transfer] 轄區同步後 Slave 的 Zonefile 出現亂碼

朋友傳給我一個檔案,他說他 Slave DNS 的 Zonefile 都變成亂碼!

用 vim 打開 Zonefile 後都是亂碼,但是系統跑起來沒有問題,BIND 在 9.9.x 之後的版本,因為效能考量,將 Slave 的 ZoneFile 儲存成二進位檔(Binary)格式,可以提高系統執行的速度,當 Zone transfer 的時候,由 Master 傳輸到 Slave 的 DNS ,就不是以文字格式儲存,而是以原始檔案 (RAW) 的方式儲存 。

如果你要讀取當中的內容,請用下列指令:

named-compilezone [options] -o filename zonename filename

範例:

named-compilezone -f raw -F text -o output.txt example.net example.net.raw

 

就可以在 output.txt 當中看到文字格式的 zonefile。

若您不想 BIND 使用 RAW 的方式儲存,請在 Slave 的 zone 設定中加入:

masterfile-format text;

完整範例:

        zone "example.com" in {
                type slave;
                notify no;
                file "data/example.com.db";
                masterfile-format text;
                masters { 192.168.1.1; };
        };

參考來源:http://geekdom.wesmo.com/2014/06/05/bind9-dns-slave-file-format/



發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *