DNS服務器是爲了網絡上的主機提供域名解析的服務的服務器。Solaris 10雖然自帶了BIND 9.2.4版本,但它並不是Sun公司的產品,Internet Software Consortium負責BIND軟件的更新,我們應當到www.isc.org網站下載最新版本的BIND軟件,因爲新的版本的軟件可以防止某些漏洞。
下面我們來介紹如何配置DNS服務器。
一、從源代碼安裝配置DNS服務器
(1)爲了下載最新的BIND軟件,我們到https://www.isc.org/products/BIND/下載,本例子下載的是bind-9.5.2.tar.gz。
(2)將下載的軟件放到系統中的某個目錄下,本例中放在usr/local/src目錄下。
#cd usr/local/src
# wget ftp://ftp.isc.org/isc/bind9/9.5.2/bind-9.5.2.tar.gz
# cp bind-9.5.2.tar.gz ..
# cd ..
# gzip -d bind-9.5.2.tar.gz
# tar -vxf bind-9.5.2.tar
# rm bind-9.5.2.tar
# cd bind-9.5.2
# ./configure
# make
# make install
# cd /usr/sbin
(3)生成的可執行文件位於/usr/local/sbin目錄下。最重要的可執行文件爲named和rndc。
# /usr/local/sbin/rndc-confgen > /etc/rndc.conf
# cat /etc/rndc.conf
輸出爲:
# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "y9xvvfQjdWv9f/Fo7wquBg==";
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
# End of rndc.conf
# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
# algorithm hmac-md5;
# secret "RkUOuQzY/HZeCh4d8V41FA==";
# };
# controls {
# net 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf
(9)創建rndc.key文件。將rndc.conf文件中註釋部分拷貝生成如下文件:
# vi /etc/rndc.key
key "rndc-key" {
algorithm hmac-md5;
secret "RkUOuQzY/HZeCh4d8V41FA==";
};
controls {
inet 127.0.0.1 port 953
allow {127.0.0.1;} keys {"rndc-key";};
};檢查rndc是否正常工作:
#/usr/local/sbin/named -g
Jan 11 11:56:45.075 starting BIND 9.5.2 -g
Jan 11 11:56:45.076 using 1 CPU
Jan 11 11:56:45.079 loading configuration from '/etc/named.conf'
......
#/usr/local/sbin/rndc status
(10)編輯named.conf配置文件。
# vi /etc/named.conf
第一段的內容如下:
// generated by named-bootconf.pl
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* port by default.
*/
// query-source address * port 53;
};
上面的部分是在這個文件開頭的options設定的,首先用directory指定了named的資源記錄(RR - Resource Record文件目錄所在位置爲:“/var/named”。也就是說,它會到這個目錄下面尋找DNS記錄文件)。所以,我們在後面部分所指定的文件,就無須使用絕對路徑了,但它們一定要放在這個目錄下面。
那一段被註釋文字,如果你仔細閱讀一下,它大致意思是如果你要設定的 DNS 服務器和client之間隔着防火牆的話,要將“//query-source address * port 53;”前面的註解符號“//”拿掉(當然,也必須要設定好你的火牆)。不過,這隻對早期的版本有影響,而在bind 8.1之後則無須擔心這個設定。接下來再讓我們看下一段句子:
//
// a caching only nameserver config
//
zone "." IN {
type hint;
file "named.root";
};
通過這幾行語句,我們爲named定義了DNS系統中的根區域“.”(root zone)的設定,同時它是一個internet(IN)的區域類別。這裏還指定了root zone的服務器種類(type)爲“hint”(也只有這個zone會使用這樣的種類)。最後,用file指定這個區域記錄文件爲:“named.root”,也就是“/var/named/named.root”文件。在root zone後面,你應該還會看到如下這兩段:
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
這裏是定義出關於本機名稱的DNS解釋:第一個zone是localhost的正解zone,其服務器種類是master,記錄檔名稱是localhost.zone(在/var/named目錄下面),但這個zone不允許客戶主機(或服務器)自行更新DNS的記錄。而第二個zone則是本機區域的反向解析zone。
再看下面的兩段,這兩段是tyedu.com.cn域的正向和反向解析。
zone "tyedu.com.cn" IN { //新加tyedu.com.cn的域
type master;
file "tyedu.com.cn.zone";
allow-update { none; };
};
zone "12.26.218.in-addr.arpa" IN { //新加域的反向解析
type master;
file "named.218.26.12";
allow-update { none; };
};
最後一行是bind 9.x版本的新功能,用來進行區域轉移或DNS更新所用的加密處理。
include "/etc/rndc.key";
(11)創建/var/named目錄。
# mkdir /var/named
# cd /var/named
(12)匿名登錄到ftp站點FTP.RS.INTERNIC.NET,獲取/domain目錄下的named.root文件,將該文件置於/var/named目錄下。
(13)創建localhost.zone文件。
# vi /var/named/localhost.zone
$TTL 86400
$ORIGIN localhost.
@ 1D IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
1D IN NS @
1D IN A 127.0.0.1
(14)創建named.local文件。
# vi named.local
$TTL 86400
@ IN SOA localhost. root.localhost. (
20091026 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
[root@Linux etc]# mkdir /var/named
//進入/var/named
[root@Linux etc]# cd /var/named
//建立localhost.zone文件
[root@Linux named]#vi localhost.zone
$TTL 86400
$ORIGIN localhost.
@ 1D IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
1D IN NS @
1D IN A 127.0.0.1
//建立named.local文件
[root@Linux named]#vi named.local
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 61.177.252 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
(15)創建tyedu.com.cn.zone文件。
# vi tyedu.com.zone.cn
$TTL 1D
@ IN SOA ns2.tyedu.com.cn. root.tyedu.com.cn. (
20091029 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS ns2.tyedu.com.cn.
IN MX 5 ns2.tyedu.com.cn.
;
ns1 IN A 218.26.12.61
ns2 IN A 218.26.12.62
www IN A 218.26.12.52
yx IN A 218.26.12.52
test IN A 218.26.12.119
(注意,
IN NS ns2.tyedu.com;
這一條必須有,來指定本域的域名服務器;
域名必須以"."結尾。
ns2 IN A 218.26.12.62
ns2 爲主機名,A代表地址類型爲IPV4地址,218.26.12.62是實際ip地址,這一條記錄的含義是ns2.tyedu.com.cn的ip地址爲
218.26.12.62
)
(16)創建named.218.26.12文件。
# vi named.218.26.12
$TTL 86400
@ IN SOA ns2.tyedu.com.cn. root.tyedu.com.cn.(
20031001;
7200;
3600;
43200;
86400);
@ IN NS ns2.tyedu.com.cn.
52 IN PTR www.tyedu.com.cn
61 IN PTR ns1.tyedu.com.cn.
62 IN PTR ns2.tyedu.com.cn.
(17)在Solaris 10操作系統中啓動DNS服務。
#svcadm enable /network/dns/server
查看:
# svcs -l /network/dns/server
fmri svc:/network/dns/server:default
name Internet domain name server (DNS)
enabled true
state online
next_state none
restarter svc:/system/svc/restarter:default
contract_id 25
dependency require_all/none svc:/system/filesystem/minimal (online)
dependency require_all/none file://localhost/etc/named.conf (online)
dependency require_any/error svc:/network/loopback (online)
dependency optional_all/error svc:/network/physical (online)
(18)測試DNS反向解析是否成功。
# host 218.26.12.62
62.12.26.218.in-addr.arpa domain name pointer ns2.tyedu.com.
(19)測試DNS解析是否成功。
# nslookup
> www.cjh.com
Server: 192.168.9.9
Address: 192.168.9.9#53
Name: www.cjh.com
Address: 192.168.9.9
>
出現上面的提示,說明DNS服務已經啓動成功。
應用說明:
Solaris 10 基本上就已經安裝好 Bind 9 DNS Server,所以,跟本就不存在安裝的問題。但爲什麼還要寫這編文章呢?在某程度上跟和 Solaris 10的新功能 Service Management Facility (SMF)有關,而且,這編文章也有助於對 SMF的深入瞭解。
Solaris 10 以前版本的DNS服務器啓動和停止方法是:
啓動 DNS Server 命令:
/etc/init.d/named start
停止 DNS Server命令:
/etc/init.d/named
Solaris 10版本的DNS服務器啓動和停止方法是:
啓動 DNS Server 命令:
svcadm enable dns/server 或 svcadm enable dns/server:default
停止 DNS Server命令:
stop svcadm disable dns/server 或 svcadm disable dns/server:default
(20)日誌配置
options {
……..
……
};
logging{
channel default_log {
file "log/named.log" versions 3 size 10M;
print-time yes;
print-category yes;
print-severity yes;
severity info;
};
channel xfer_log {
file "log/xfer.log" versions 3 size 10M;
print-time yes;
print-category yes;
print-severity yes;
severity info;
};
channel db_log {
file "log/db.log" versions 3 size 10M;
print-time yes;
print-severity yes;
severity debug 1;
};
category default {default_log; default_debug; };
category database { db_log; };
category dnssec { db_log; };
category xfer-in { db_log; };
category xfer-out { db_log; };
category notify { db_log; };
};
二、讓DNS 服務器在“牢監”中運行
所謂“監牢”就是指通過chroot機制來更改某個軟件運行時所能看到的根目錄,即將某軟件運行限制在指定目錄中,保證該軟件只能對該目錄及其子目錄的文件有所動作,從而保證整個服務器的安全。這樣即使出現被破壞或被侵入,所受的損傷也較小。將軟件chroot化的一個問題是該軟件運行時需要的所有程序、配置文件和庫文件都必須事先安裝到chroot目錄中,通常稱這個目錄爲chroot jail(chroot“監牢”)。如果要在“監牢”中運行dns,而事實上根本看不到文件系統中那個真正的目錄。因此需要事先創建目錄,並將dns文件複製到其中。
以下是具體步驟:
爲 DNS Server 建立監牢目錄
建立 /chroot/dns 目錄
# mkdir /chroot/dns
建立一個空殼目錄架構
# cd /chroot/dns
# mkdir -p etc/named var/run
複製 /etc/named.conf 到監牢中
# cp /etc/named.conf /chroot/dns/etc/named.conf
複製 /etc/named 目錄中的文件到 Jail監牢中
# cp /etc/named/* /chroot/dns/etc/named/
更改 /chroot/dns/var/run 目錄的權限
# chmod 770 /chroot/dns/var/run
# chown noaccess:root /chroot/dns/var/run
爲 Solaris 10 建立一個新服務
原本的 DNS Server Service 名稱爲 dns/server。
建立新服務後,以後要啓動舊版本的 DNS服務時,不能只啓動 dns/server,而要改爲 dns/server:default。
新 DNS Server Chroot 服務名稱爲, dns/server:chroot
開始建立新服務
# cd /var/svc/manifest/network/dns
# cp server.xml server-chroot.xml
編輯 server-chroot.xml
尋找
instance name='default' enabled='false'
改爲
instance name='chroot' enabled='false'
尋找
exec='/usr/sbin/named'
改爲
exec='/usr/sbin/named -t /chroot/dns'
尋找
privileges='basic,!proc_session,!proc_info,!file_link_any,net_privaddr,file_dac_read,file_dac_search,sys_resource' />
改爲
privileges='basic,!proc_session,!proc_info,!file_link_any,net_privaddr,priv_proc_chroot,priv_file_dac_read,file_dac_search,sys_resource' />
尋找
user='root'
改爲
user='noaccess'
保存文件退出。
停止原來的 DNS服務
# svcadm disable dns/server:default
加入新的 DNS Server Chroot service
# svccfg import server-chroot.xml
啓動 chroot DNS service
# svcadm enable dns/server:chroot
# svcs dns/server
STATE STIME FMRI
disabled 6:21:03 svc:/network/dns/server:default
online 6:27:01 svc:/network/dns/server:chroot
Bind 9 DNS Server 現在已經能夠在“監牢”環境中運行
三、DNS客戶端配置
在Solaris環境下,DNS客戶端程序的配置非常容易,它只需要幾個簡單的步驟就可以完成。
(1)除了對/etc/inet/hosts文件或NIS/NIS+的主機名映射或者主機名(hostnames)表文件進行檢查以外,還必須配置命名服務開關文件(/etc/nsswitch.conf),指定域名解析服務向DNS進行查詢。爲了確保DNS的正常工作,在/etc/nsswitch.conf文件中必須包括下行的內容:
hosts: files dns
這行的意思是如果需要命名服務,首先查找/etc/inet/hosts文件,如果找不到,就到DNS中去查找。
(2)我們需要將主機的本地域名輸入到/etc/defaultdomain文件中。例如,主機www.cjh.net的/etc/defaultdomain文件應有如下的輸入項:
cjh.net
(3)我們需要在/etc/resolv.conf文件中包含本地域名、本地基本DNS服務器的IP地址,以及輔助的DNS服務器的IP地址。這意味着本地DNS服務器出現故障,我們仍可以通過輔助的NDS服務器來提供最新的外部主機信息,而不必依賴/etc/hosts文件中的數據來解析本地地址。例如,/etc/resolv.conf文件的內容可能是這樣:
domain cjh.net
nameserver 202.104.0.20
nameserver 53.58.31.2
它表明本地域是cjh.net,本地域有兩臺基本DNS服務器。其中,202.104.0.20爲主DNS服務器,53.58.31.2爲輔助DNS服務器。
(4)下面我們可以啓動DNS客戶端軟件了。
#svcadm enable svc:/network/dns/client
(5)使用nslookup命令來檢查DNS客戶端配置是否正確。
#nslookup
> www. cjh.net
四、升級Solaris 10自帶BIND版本
升級Solaris 10自帶BIND 9.2.4版本到9.3.2的步驟
如果您正在使用Solaris 10自帶的BIND 9.2.4版本,升級步驟如下:
首先編譯源代碼同上。
# cd /usr/sbin
# mv named named.orig
# mv named-checkconf named-checkconf.orig
# mv named-checkzone named-checkzone.orig
# cp /usr/local/sbin/named .
# cp /usr/local/sbin/named-checkconf .
# cp /usr/local/sbin/named-checkzone .
檢查新安裝的 BIND 9 DNS Server 版本命令如下:
# /usr/sbin/named -v
BIND 9.3.2
從新啓動 Chroot Jail 了的 DNS服務
# svcadm disable dns/server:chroot
# svcadm enable dns/server:chroot
# svcs dns/server
STATE STIME FMRI
disabled 6:21:03 svc:/network/dns/server:default
online 6:27:01 svc:/network/dns/server:chroot
# ps -elf | grep named
noaccess 133 1 0 20:31:29 ? 0:00 /usr/sbin/named -t /chroot/dns
新的 Bind 9 DNS Server Version 9.3.2 現在已經安裝好了。
總結:本文介紹瞭如下內容:
怎樣啓動和停止 Bind 9 DNS Server?
如何設定 Bind 9 DNS Server?
什麼是監牢?
Bind 9 DNS Server 怎樣使用 Chroot Jail (保安監牢)功能來防止入侵者進入系統?
怎樣建立新的 SMF Service 來啓動 Chroot Jail後的 DNS Server?
DNS 客戶端設置
如何把 Solaris 10 內的 Bind 9 DNS Server升級到最新版本?
正如其他的Internet協議一樣,DNS由幾個Internet的RFC規範(最初是RFC 882、883和973)。不過要理解DNS服務器的工作原理最好的標準還是RFC 1035。你可以在Internet上的好幾個地方找到RFC 1035,比如在http://www.crynwr.com/crynwr/rfc1035/就有一個不錯的HTML版本。正如你可能想到的那樣,RFC具有相當的技術性,你不大可能會對超出DNS服務器一般操作的細節感興趣。但是如果你想做個服務器管理員,那麼就記住RFC吧。在Internet的命名服務中最常用的恐怕就是網絡域名服務(DNS)了,所以Solaris 10操作系統主要應用是BIND 9 DNS服務器。本文介紹如何設置和管理DNS服務器。
五、從服務器及子服務器配置
1、搭建從域名服務器開始。
配置好從服務器的網絡環境,確保主從之間能ping通。然後照着主服務器那樣,把最基本的配置搭建起來,就是dns
可以通過13個根節點進行迭代查詢。基本配置我就不在演示,按照我上面的方法你自己搭建一下就OK了.注意從服務器
hostname是ns2.magedu.com並且解析指向自己
可以通過scp命令將named.ca named.local localhost.zone拷貝過來,記得改屬組爲named
例如ns2]#cd /var/named/
ns2]#scp 192.168.0.181:/var/named/name.ca ./
接下來將它配置成從區域
]#dig –t AXFR magedu.com @192.168.0.181
]#dig –t AXFR 0.168.192.in-addr @192.168.0.181 <=確保區域傳送可以在兩服務器間進行數據傳遞
]#vim /etc/named.conf <=編輯主配置文件
options { ```` `````
```` ``````
};
zone “magedu.com” IN { <=添加一個正解區域
type slave; <=定義區域類型:從區域slave
file “slaves/magedu.com.zone”; <=工作目錄下的正解數據文件位置
masters { 192.168.0.181; }; <=指定主服務爲192.168.0.181
};
zone “0.168.192.in-addr.arpa” IN {
type slave;
file “slaves/192.168.0.zone”
masters { 192.168.0.181; };
};
配置文件配置完畢,接下來檢驗。
ns2]#named-checkconf
]#rndc reload <=此時沒有數據文件,執行此命令,會與主服務器同步,更新數據文件,沒有則會自動創建
ns2]#tail /var/log/messages
]#ll /var/named/slaves/ <=查看數據文件在此文件中
ns2]#vim /etc/resolv.conf <=編輯此文件,dns解析指向自己
nameserver 192.168.0.182
主從服務器配置到此完畢,每當主服務器數據修改本都會同步更新,dig命令進行檢測
ns2]#dig –t NS magedu.com
2、父域下的子域授權
萬一我們的網絡很大,是一個大的公司。我們有一個magedu.com的域名,我們公司有10000臺主機.如果這些主機都來
找我給他們設置,那我就會瘋掉的.那我可以這樣,根據各個部門,各分配一個子域.技術部分一個tech.magedu.com域
市場部分一個market.magedu.com域,各個部門有自己的dns服務器與管理員,我只需要將各部門的dns服務器的NS記錄
寫入到magedu.com域的數據文件中即可.員工到自己部門的管理員那添加記錄去.如此一來,在各部門的設置上會比較
靈活,我也省去了很多麻煩.
例如: magedu.com 公司計算機中心DNS負責的域
tech.magedu.com market.magedu.com 各部門DNS
www.tech.magedu.com ftp.tech.magedu.com www.market.magedu.com ftp.market.magedu.com
DNS: magedu.com域在ns1.magedu.com (ip :192.168.0.181)
tech.magedu.com域在ns.tech.magedu.com (ip :192.168.0.183)
market.magedu.com 域在 ns.market.magedu.com (ip :192.168.0.184)
技術部DNS服務器tech.magedu.com域下又有
www.tech.magedu.com 技術部web服務器A記錄
ftp.tech.magedu.con 技術部ftp服務器A記錄
市場部DNS服務器market.magedu.com域下又有
www.market.magedu.com 市場部web服務器A記錄
ftp.market.magedu.com 市場部ftp服務器A記錄
步驟很簡單,,如下配置:
先確保父域dns服務器與子域dns服務器網絡通暢,然後
ns1.magedu.com]#vim /var/named/magedu.com.zone <=在父域編輯正解區域數據文件
$TTL 86400
@ IN SOA ns1.magedu.com. admin.magedu.com. (
2011121001
1H
10M
7D
1H )
IN NS ns1
IN NS ns2
IN MX 10 mail
IN MX 20 mail2
ns1 IN A 192.168.0.181
ns2 IN A 192.168.0.182
mail IN A 192.168.0.254
0
0人
mail2 IN A 192.168.0.1
www IN A 192.168.0.1
www IN A 192.168.0.2
pop3 IN A 192.168.0.254
ftp IN A 192.168.0.254
www2 IN CNAME www
tech.magedu.com. IN NS ns.tech.magedu.com.
ns.tech.magedu.con. IN A 192.168.0.183
market.magedu.com IN NS ns.market.magedu.com.
ns.market.magedu.com IN A 192.168.0.184
我們先在父域DNS服務器上對子域DNS服務器進行授權。然後配置各個子域DNS服務器就行了。
配置子域dns服務器與配置主域名服務器相同,只是域不同而已。
子域dns配置步驟我就不說了,按照主域名服務器那樣配就行了。
當我們完成了父域與子域的正常解析時,通常父域是知道子域,而子域是不知道父域的,我們可以通過給子域添加一
個magedu.com的轉發域forward,從而使得子域可以直接從父域解析記錄,而不必要向根節點查詢。
DNS類型:主Master從Slave 轉發Forward
轉發域forward DNS:
這種類型的DNS主機沒有自己的數據庫,僅用於幫助客戶端向外部DNS主機請求數據。簡單的來說,可以把它看作是一
個代理人,通常設置在防火牆。
建立轉發域forward的方法:
在主配置文件/etc/named.conf中添加一個轉發的區域即可,我們給子域tech.magedu.com與market.magedu.com的主
配置文件中添加一個區域
ns.tech.magedu.com]#vim /etc/named.conf
添加以下內容
zone “magedu.com” IN {
type forward;
forwarders { 192.168.0.181; };
forward only; 或者forward first;
};
forward only爲進行遞歸轉發,你不給我返回結果,我就宣告失敗,然後結束。
forward first爲先進行遞歸轉發,你不返回我結果,我就去找根,進行迭代查詢。
forwarders { in_addr; in_addr; ...}; [empty list]
forward only|first; [first]
[first] 不用讓每臺名字服務器自己執行外部查詢,你可以將一臺或多臺服務器指定爲轉發器(forwarder)。一般服務器可以覈查其緩存的記錄以及它具有權威性的記錄,如果它沒找到要查找的答案,就會向一臺轉發器主機發送查詢。轉發器通過這種方式創建整個網點都可以利用的緩存。
forwarders選項列出了要用作轉發器的IP地址。他們被依次查詢。轉發器的使用繞過了從根服務器開始、沿着推薦關係鏈檢索的正常的DNS過程。注意不要出現轉發循環。
forward only服務器緩存數值並查詢轉發器,但是從不查詢其他任何機器。如果轉發器不響應,查詢便失敗。
forward first服務器側重於與轉發器打交道,但是如果有需要,還能直接處理查詢。既然forwarders選項沒有默認值,所以除非特意去配置它,否則不會進行轉發。你可以全局地或在個別zone語句中打開轉發功能。
六、日常維護及配置文件
以下列表介紹 rndc 命令。直接輸入rndc查看幫助
reload 重新裝入配置文件(named.conf)和區域文件
reload zone [class [view]] 重新裝入單個區域
refresh zone [class [view]] 安排區域的立即維護
reconfig 僅重新裝入配置文件和新區域
stats 將服務器統計信息寫入統計文件中
querylog 切換查詢日誌
dumpdb 將高速緩存轉儲到轉儲文件 (named_dump.db)
stop 將暫掛更新保存到主文件並停止服務器
halt 停止服務器,但不保存暫掛更新
trace 將調試級別增加一級
trace level 更改調試級別
notrace 將調試級別設置爲 0
flush 刷新服務器的所有高速緩存
flush [view] 爲某一視圖刷新服務器的高速緩存
status 顯示服務器的狀態
restart 重新啓動服務器(尚未實現)
等等。。。
例如:
1、重新加載配置文件
$sudo rndc reload
2、rndc dumpdb 讓named把它的數據庫轉儲到named_dump.db中。轉儲文件很大
,不僅包括本地數據,還包括名字服務器上積累的所有緩存數據。
$sudo rndc dumpdb
3、named有一些彙總信息,當它接到rndc命令的要求時,可以把這些信息轉儲到其工作目錄下的文件named.stats裏
$sudo rndc stats
配置文件1
options {
directory "/var/named";
pid-file "named.pid";
forward only;
forwarders {61.178.0.*;202.100.64.*;202.100.128.*;};
allow-query { any; };
Dump-file "/var/named/log/cache_dump.db";
zone-statistics yes;
statistics-file "/var/named/log/named.stats";
};
zone "petro*" {
type forward;
forwarders { 10.33.64.*; 10.33.64.*; };
};
zone "cnp*" {
type forward;
forwarders { 10.33.64.*; 10.33.64.*; };
};
logging{
channel default_log {
file "log/named.log" versions 3 size 10M;
print-time yes;
print-category yes;
print-severity yes;
severity info;
};
channel xfer_log {
file "log/xfer.log" versions 3 size 10M;
print-time yes;
print-category yes;
print-severity yes;
severity info;
};
channel db_log {
file "log/db.log" versions 3 size 10M;
print-time yes;
print-severity yes;
severity debug 1;
};
category default {default_log; default_debug; };
category database { db_log; };
category dnssec { db_log; };
category xfer-in { db_log; };
category xfer-out { db_log; };
category notify { db_log; };
};
include "/etc/rndc.key";
配置文件2
options {
directory "/var/named";
pid-file "named.pid";
forwarders {10.33.64.*; 10.33.64.*; };
allow-query { any; };
Dump-file "/var/named/log/cache_dump.db";
zone-statistics yes;
statistics-file "/var/named/log/named.stats";
};
logging{
channel default_log {
file "log/named.log" versions 3 size 10M;
print-time yes;
print-category yes;
print-severity yes;
severity info;
};
channel xfer_log {
file "log/xfer.log" versions 3 size 10M;
print-time yes;
print-category yes;
print-severity yes;
severity info;
};
channel db_log {
file "log/db.log" versions 3 size 10M;
print-time yes;
print-severity yes;
severity debug 1;
};
category default {default_log; default_debug; };
category database { db_log; };
category dnssec { db_log; };
category xfer-in { db_log; };
category xfer-out { db_log; };
category notify { db_log; };
};
zone "." IN {
type hint;
file "named.root";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "*yt.petro*" IN {
type master;
file "named.*yt.petro*";
allow-update { none; };
};
zone "82.10.in-addr.arpa" IN {
type master;
file "named.82.10";
allow-update { none; };
};
include "/etc/rndc.key";