How to dump DNS cache file of BIND9?

之前我們在"如何在 Linux server 上 turn on DNS (BIND) 的 Query logging"的文章中提過 rndc 這個好用的指令,這次也要用到這個小工具來 dump DNS 的 RR cache 資料。

基本上用法很簡單,依據 rndc 的使用說明可以看到如下:
dumpdb [-all|-cache|-zones] [view ...]
Dump cache(s) to the dump file (named_dump.db).
所以我們直接敲入 "rndc dumpdb -cache" 就行了,不過產生的 Cache db 檔並不像說明所列的 named_dump.db 而是 cache_dump.db,下面就是範例:
[root@ns1 named]# ls -alrt /var/named/chroot/var/named/data/
total 24
drwxr-x--- 4 named named 12288 Mar 31 12:23 ..
drwxrwx--- 2 named named 4096 Apr 8 13:24 .
[root@ns1 named]#
[root@ns1 named]# rndc dumpdb -cache
[root@ns1 named]# ls -alrt /var/named/chroot/var/named/data/
total 1376
drwxr-x--- 4 named named 12288 Mar 31 12:23 ..
-rw-r--r-- 1 named named 1379904 Apr 8 13:25 cache_dump.db
drwxrwx--- 2 named named 4096 Apr 8 13:25 .
[root@ns1 named]#
以下是 /var/named/chroot/var/named/data/cache_dump.db 檔案開頭的一小部分,僅供參考:
[root@ns1 named]# less /var/named/chroot/var/named/data/cache_dump.db
;
; Start view _default
;
;
; Cache dump of view '_default'
;
$DATE 20100408052518
; glue
ac. 19164 IN NS A.NIC.ac.
19164 IN NS A.NS13.NET.
19164 IN NS B.NIC.ac.
19164 IN NS B.NIC.IO.
19164 IN NS B.NS13.NET.
19164 IN NS NS1.COMMUNITYDNS.NET.
19164 IN NS NS3.ICB.CO.UK.
; glue
A.nic.ac. 19164 A 64.251.31.177
; glue
b.nic.ac. 15120 A 78.104.145.37
; glue
ae. 42322 NS NS1.AEDNS.ae.
42322 NS NS2.AEDNS.ae.
42322 NS SEC3.APNIC.NET.
42322 NS NS-AE.RIPE.NET.
42322 NS SNS-PB.ISC.ORG.
42322 NS NSEXT-PCH.AEDNS.ae.
; glue
NS1.AEDNS.ae. 42322 A 79.98.120.73
; glue
NS2.AEDNS.ae. 42322 A 79.98.121.73
; glue
NSEXT-PCH.AEDNS.ae. 42322 A 199.4.137.1
; glue
42322 AAAA 2001:500:7d::1
; answer
www.google.ae. 25355 CNAME www.google.com.
; authauthority
bittorrent.am. 32399 NS ns1.everydns.net.
32399 NS ns2.everydns.net.
32399 NS ns3.everydns.net.
32399 NS ns4.everydns.net.
; additional
y.am. 28607 NS ns1.mdnsservice.com.
28607 NS ns2.mdnsservice.com.
28607 NS ns3.mdnsservice.com.
; answer
curinfo.an. 40356 MX 0 wabi.curinfo.an.
; glue
AQ. 120558 NS NS1.DNS.AQ.
120558 NS FLAG.EP.NET.
報告完畢。
4 Responses
  1. 匿名 Says:

    洋蔥爸想請教一下snmp是否可以丟到mysql去存呢?


  2. 抱歉,我沒弄懂你的問題,
    請務問你指的snmp丟到mysql去存是什麼意思呢?


  3. aflyfish Says:

    推一個…找 SNMP Proxy 的時候順便逛到^^…同是苦命工程師(握),加油~~


  4. 感謝你的打氣,大家都加油啊~