第一章 簡介

一、DNS

domain name server,用來將計算機名稱或者域名解析成ip地址的服務協議。

用戶在使用域名訪問時會先通過DNS服務請求域名對應的ip地址,然后緩存下來,然后才通過ip地址進行通信。

最初域名解析是通過HOSTS文件來靜態綁定的。

DNS緩存的時間期限是由服務器端決定的,然后客戶端在時間到期后進行更新緩存信息。

二、DNS服務器角色類型:

緩存DNS服務器:只處理請求并遞歸查找,本身并不解析域名。可以直接安裝caching-nameserver來完成,也可以手動設置,實質就是添加三個區域。

主DNS服務器:創建、管理域名信息,并解析域名。

輔助DNS服務器:用來更新同步主DNS服務器的記錄。

轉發器:通常適用場景是局域網內存在域和子域的情況,當用戶請求的信息(父域名)發送到子域的DNS服務器上并無法解析的時候,子域DNS服務器會通過定義轉發的方式將請求轉發到指定的服務器上而不是根服務器上。

三、資源記錄類型:

A(address)記錄:主機名轉換成ip地址的記錄

AAAA:將主機名解析成ipv6地址的記錄

NS(name server):說明域內有幾個DNS服務器,可以有多個

SOA(start of authority recocrd):起始授權記錄,記錄域內的主dns服務器是誰,只能有一個用來表示“最高管理者”。

cname 別名記錄

PTR (pointer)指針記錄:將ip地址轉換成主機名的記錄。

mx(mail exchange):將主機名解析成郵件服務器地址的記錄,通過優先級來控制多個郵件服務器的等級。

注意:可以多個主機名對應一個ip地址,也可以多個ip地址對應一個主機名。

1、一個FQDN對應多個ip實現負載均衡

2、多個FQDN對應一個ip,通常用于多個域名對應一個ip地址,網站用。

宏定義:

用于定義區域內所有記錄的總特性,起到概括的作用

$TTL 600 用于定義所有記錄的ttl值是600,下面的600即可省去。

$ORIGIN magedu.com. 用于定義主機名后綴,這樣下面的主機名就可以省去magedu.com.直接寫成dns1,dns2,mail的形式。

資源記錄的格式

name ?[ttl] ?IN ? 資源記錄類型 ?value

?www.baidu.com 600 ?IN ? A ?192.168.42.199

1、起始授權記錄SOA

要求:指明域名的主DNS服務器,并在后面跟上郵箱地址。

Magedu.com. 600 IN SOA dns.magedu.com. admin.magedu.com. (

12314121 ;(注釋符)serial number:用于驗證數據庫的版本信息,序列號大,版本新
1H ? ?;refresh time 表示更新時間,通知(notification):只通知給本區域內解析庫文件中定義為NS記錄的所有主機。
5M ? ?;重試時間,SOA沒有回應的情況下使用。
7D ? ?;過期時間
1D ? ?;否定的ttl,用于拒絕DNS服務器沒有的記錄的緩存時間。

??


2、NS記錄

要求:首先指定一個域名,并在數值段寫明DNS服務器的域名而不是ip地址,并緊隨一條A記錄。當然nds服務器可以有多個。

magedu.com. 600 IN? NS dns1.magedu.com.

magedu.com. 600 IN NS dns2.magedu.com.

dns1.magedu.com. 600 IN A 192.168.0.222

dns2.magedu.com. 60 IN A 192.168.0.223


3、MX記錄

要求:只能出現在正向文件中,同樣是指明一個域名,并在數值段中寫明郵件服務器的主機名,并緊隨一條A記錄,可以設置優先級。

magedu.com. 600 IN MX 10 mail.magedu.com.

Mail.magedu.com. 600 IN A 192.68.0.224

四、DNS程序

bind: berkeley internet name domain 流行的,標準的dns服務軟件。

端口:53

[root@node7.dtedu.com ~]#? yum install bind bind-libs bind-utils

已加載插件:fastestmirror

設置安裝進程

Loading mirror speeds from cached hostfile

?* base: mirrors.tuna.tsinghua.edu.cn

?* extras: mirror.bit.edu.cn

?* updates: mirror.bit.edu.cn

包 32:bind-9.8.2-0.62.rc1.el6_9.2.x86_64 已安裝并且是最新版本

包 32:bind-libs-9.8.2-0.62.rc1.el6_9.2.x86_64 已安裝并且是最新版本

包 32:bind-utils-9.8.2-0.62.rc1.el6_9.2.x86_64 已安裝并且是最新版本

無須任何處理


bind-chroot:主要功能是讓BIND服務只運行在dns自己的目錄下,保證系統的安全性。

DNS提供服務必須設置的三個區域:

根區域:配置文件為named.ca,如果/var/named/目錄 下沒有,可以通過dig -t NS . >/var/maned.ca的方法創建生成。

localhost正向區域

localhost反向區域

1、主配置文件

/etc/named.conf,默認是沒有的可以通過安裝caching-nameserver來生成一個配置文件,這里演示的是沒有安裝caching,手動編輯的情況。

定義區域、各區域的全局配置、定義視圖、日志。每一個語句使用分號結尾,否則視為錯誤

屬主是root

屬組:named

2、區域配置文件:/var/named/*

樣例:基本配置

named.conf

options?{

? ? ? ??listen-on?port 53 { 127.0.0.1; };

? ? ? ? directory ? ? ? "/var/named”; //定義zone區域配置文件目錄,此目錄必須存在。

? ? ? ? recursion yes;

};


zone?"." IN {

? ? ? ??type?hint;

? ? ? ??file?"named.ca”;

};

zone?"localhost" IN {

? ? ? ??type?master;

? ? ? ??file?"localhost.zone";

};


zone?"0.0.127.in-addr.arpa" IN{

? ? ? ??type?master;

? ? ? ??file?"named.local";

};


localhost.zone

[root@node7.dtedu.com /var/named]# vim localhost.zone


$TTL?600

@ ? ? ? IN? ? ??SOA?? ??localhost.? ? ??admin.localhost.?( 這里需要說明的是@表示的是named.conf文件中zone的“localhost”,當然也可以使用localhost.來替代@,注意是帶“.”的

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??20170607001

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??1H

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??199M

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??1W

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??1D?)

localhost.? ? ??IN? ? ??NS? ? ??localhost. 這里的localhost.如果和@相同,可以省略,我這里沒有省略。

localhost.?? ? ??IN? ? ??A?? ? ??127.0.0.1

~? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

named.local

[root@node7.dtedu.com /var/named]# vim named.local


$TTL?600

@ ? ? ? IN? ? ??SOA?? ??localhost.? ? ??admin.localhost.?(

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??20170607001

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??1H

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??199M

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??1W

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??1D?)

localhost.? ? ??IN? ? ??NS? ? ??localhost.

1?? ? ? ? ? ? ??IN? ? ??PTR?? ??localhost.


測試配置文件

[root@node7.dtedu.com /var/named]# service named configtest

zone localhost/IN: loaded serial 2990737817

zone 0.0.127.in-addr.arpa/IN: loaded serial 2990737817

zone magedu.com/IN: loaded serial 2940452917

zone magedu.com/IN: loaded serial 2940452917


4、配置DNS服務器

1、關閉/etc/named.conf主配置文件的,//表示注釋掉。

// ? ? ?listen-on port 53 { 127.0.0.1; };

// ? ? ?listen-on-v6 port 53 { ::1; };

? ? ? ? directory ? ? ? "/var/named";

? ? ? ? dump-file ? ? ? "/var/named/data/cache_dump.db";

? ? ? ? statistics-file "/var/named/data/named_stats.txt";

? ? ? ? memstatistics-file "/var/named/data/named_mem_stats.txt";

// ? ? ?allow-query ? ? { localhost; };

此過程后啟動服務service named start 會自動成為緩存DNS服務器,并且默認支持的用戶數是1000個,

2、自定義zone區域

2.1、主配置文件中聲明

可以將自定義區域放在/etc/named.rfc1912.zones中聲明,然后在/var/named/中創建zone命名的區域文件比如inno.com.cn.zone。

zone?"inno.com.cn" IN {

? ? ? ??type?master;

? ? ? ??file?"inno.com.cn.zone";

# ? ? ? allow-transfer { 10.40.0.0; }; //只允許指定服務器傳輸zone信息。

};


? ? ? ? ? ? ? ? ? ? ??

2.2、在默認目錄下/var/named下創建編輯inno.com.cn.zone文件

[root@node7.dtedu.com /var/named]# vim inno.com.cn.zone?


$TTL?600

$ORIGIN?inno.com.cn.

@ ? ? ??? ? ? ??IN? ? ??SOA?? ??dns.inno.com.cn.? ? ? ??admin.inno.com.cn.? ? ? (

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??20170607002

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??1H

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??10M

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??1W

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??1D?)

? ? ? ? ? ? ? ??IN? ? ??NS? ? ??dns

? ? ? ? ? ? ? ??IN? ? ??MX?10???mail

dns?? ? ? ? ? ??IN? ? ??A?? ? ??10.40.0.227

mail? ? ? ? ? ??IN? ? ??A?? ? ??10.40.0.225

www?? ? ? ? ? ??IN? ? ??A?? ? ??10.40.0.222

ftp?? ? ? ? ? ??IN? ? ??A?? ? ??10.40.0.222

pop?? ? ? ? ? ??IN? ? ??CNAME???mail

www?? ? ? ? ? ??IN? ? ??A?? ? ??10.40.0.223

~ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

2.3、修改inno.com.cn.zone文件權限640,屬組為named

2.4、檢查錯誤

[root@node7.dtedu.com /var/named]# named-checkzone "inno.com.cn" /var/named/inno.com.cn.zone?

zone inno.com.cn/IN: loaded serial 2990737818

OK

[root@node7.dtedu.com /var/named]# named-checkconf /etc/named.conf?


2.5、重啟加載配置文件

service named reload


3、轉發器配置(/etc/named.conf)

轉發器可以定義轉發指定區域的請求到指定DNS服務器,也可以定義全局轉發的情況。常見的轉發類型有first、only,first表示當本機DNS服務器請求發送到指定的其他DNS服務器上并沒有獲得結果的情況下自己進行根解析,而only則是如果沒有獲得結果的話就放棄。


區域轉發配置方法:(非options里)

zone?"magedu.com.cn" IN {

? ? ? ??type?forward;

? ? ? ??forwarders?{?10.40.0.20; };

};


全局轉發配置方法:

options?{

# ? ? ? listen-on port 53 { 127.0.0.1; };

# ? ? ? listen-on-v6 port 53 { ::1; };

? ? ? ??directory?? ? ??"/var/named";

? ? ? ??forwarders? ? ? {?114.114.114.114; };

# ? ? ? dump-file ? ? ? "/var/named/data/cache_dump.db";

# ? ? ? statistics-file "/var/named/data/named_stats.txt";

#? ? ? memstatistics-file "/var/named/data/named_mem_stats.txt";

# ? ? ? allow-query ? ? { localhost; };

? ? ? ??recursion?yes;


# ? ? ? dnssec-enable yes;

# ? ? ? dnssec-validation yes;


? ? ? ??/* Path to ISC DLV key */

# ? ? ? bindkeys-file "/etc/named.iscdlv.key";


# ? ? ? managed-keys-directory "/var/named/dynamic";

};


3、多DNS服務器

3.1、如果有多臺DNS服務器,必須為每個DNS服務器建立NS記錄,否則其將無法接收通知;

3.2、從服務器通過定時更新數據的方式同步主服務器上的記錄

3.3、主服務器對于自己更新的內容會立即推送(通知)到從服務器上。

3.4、主服務器掛掉,從服務器并不會升級為主服務器,而是在過期時間到達后同樣掛掉(SOA的配置信息)

區域定義:

zone “區域名稱”IN {

? ? ? ? ? ? ? type salve;

? ? ? ? ? ? ? ?file “salves/zone_name.zone”;

? ? ? ? ? ? ? ?masters{master_dns_ip;};

? ? ? ? ? ? ? ?allow-transfer{192.168.1.9;}; ?//只允許指定服務器傳輸zone信息。

};

注意事項:

1、master DNS需要設置從DNS的NS記錄、A記錄。

2、SLAVE DNS在zone內設置masters的ip地址。

3、創建zone里面指定的文件,要求目錄為/var/named/slaves,配置文件中指定為?file “salves/zone_name.zone”;,此文件會在同步過程中自動生產,不要手動修改,修改需要修改master的配置文件。

DNS安全區域傳輸配置:

1、allow-transfer{}:限制允許指定傳輸的服務器

2、all-query{}:允許進行請求的客戶端

3、allow-recursion{}:允許做遞歸查詢的客戶端。

以上1/2一般放在區域里,進行安全DNS設置。

bind訪問控制列表:類似創建一個訪問組,然后將string的名稱給allow-transfer的{}里面去就可以了。

acl string {address_math}; ? //填寫ip地址。

子域授權

要實現公司內網的用戶主機可以通過主機名被互聯網訪問到,方法有兩個

1、直接申請一個主機名,然后讓服務器為你的主機名提供解析工作。

2、自己在服務提供商處注冊申請一個域名,然后自己搭建DNS服務器,并將將需要外網訪問的主機添加到dns服務器上,并在DNS服務器上與互聯網的服務器提供商dns進行通訊聯系。(需要靜態ip地址)

具體方法:

注冊地址:www.godaddy.com?(開放、低價)

實現dns轉發功能forwarding:

1、轉發所有針對非非本機負責解析的區域請求。

options{};

2、只轉發對特定區域的請求。

zone{?

type forward;

forwarders{ ip; };

forward only|first

};

轉發的前提:接受轉發請求的服務器能夠為請求者做遞歸查詢。

設置方法:

forwarders{

ip;

};

? ? ? ? dnssec-enable no; ? ? ? ? //默認是yes,是dns的一個安全驗證機制,需要到根服務器上驗證信息。

? ? ? ? dnssec-validation no; ? ?//

? ? ? ? dnssec-lookaside no; ? ?//

如果要只轉發某一個區域的信息:

zone "baidu.com"{

? ? ? ? type forward;

? ? ? ? forward only;

? ? ? ? forwarders{

? ? ? ? 8.8.8.8;};

};


子域授權:

域內劃分出來的依附于上級域的域稱為子域。

授權又稱為委派。

授權方法:

1、父域上設置NS記錄、A記錄(授權)

例如:

dep1.inno.com ? ?IN ? ?NS ? ?dns.dep1.inno.com

dns.dep1.inno.com ? ?IN ? ?A ? ?192.168.42.99

如果有多臺備份的dns子域服務器,如果要實現互聯網訪問功能,也需要在父域上進行授權。

forward only|first ? //only ,如果指定服務器沒有查詢到內容,不再進行查詢。first,如果指定服務器沒有查詢到,自己嘗試查詢根服務器。

在dns沒有合法注冊的情況下,子域查詢父域的資源設備是不能查找到的,因為按照dns解析原理看,他會首先查找根服務器,而你的父域并沒有在互聯網上注冊,所以沒有相關信息,查找不到。

但是可以通過父域查找子域的內容,原因是:授權,在自己服務器上本身有關于子域的授權信息,所以可以找到子域的信息。(當然也包括dns 服務器查找自己管理的資源信息了)。

那么如何實現局域網內部不同域間的解析工作呢,當然還是要有轉發了forwarding。

在子域內添加轉發條件,區域轉發,只轉發父域的信息。

在子域的named.rfc1912.zones里添加轉發的信息。

比如:

zone "it.inno.com"{

? ? type forward;

? ? forward only;

? ? forwarders{

? ? 192.168.42.99;};

};


BC6471F7F3EA4237ACA6AFFE17F544A6


dig命令

-t:指定查看類型

A:表示查找域名記錄

NS:查找DNS服務器記錄

例如

查看www.baidu.com的ip地址

[root@node7.dtedu.com ~]# dig -t A www.baidu.com


; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -t A www.baidu.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49112

;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 5, ADDITIONAL: 5


;; QUESTION SECTION:

;www.baidu.com. IN A


;; ANSWER SECTION:

www.baidu.com. 600 IN CNAME www.a.shifen.com.

www.a.shifen.com. 600 IN A 119.75.217.109

www.a.shifen.com. 600 IN A 119.75.218.70


;; AUTHORITY SECTION:

a.shifen.com. 726 IN NS ns2.a.shifen.com.

a.shifen.com. 726 IN NS ns1.a.shifen.com.

a.shifen.com. 726 IN NS ns3.a.shifen.com.

a.shifen.com. 726 IN NS ns5.a.shifen.com.

a.shifen.com. 726 IN NS ns4.a.shifen.com.


;; ADDITIONAL SECTION:

ns1.a.shifen.com. 121 IN A 61.135.165.224

ns2.a.shifen.com. 574 IN A 180.149.133.241

ns3.a.shifen.com. 468 IN A 61.135.162.215

ns4.a.shifen.com. 17 IN A 115.239.210.176

ns5.a.shifen.com. 94 IN A 119.75.222.17


;; Query time: 2 msec

;; SERVER: 114.114.114.114#53(114.114.114.114)

;; WHEN: Tue Jun??6 21:11:42 2017

;; MSG SIZE??rcvd: 260


查看根DNS服務器

dig -t NS .

[root@node7.dtedu.com ~]# dig -t NS .


; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -t NS .

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58069

;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13


;; QUESTION SECTION:

;. IN NS


;; ANSWER SECTION:

. 49111 IN NS k.root-servers.net.

. 49111 IN NS g.root-servers.net.

. 49111 IN NS b.root-servers.net.

. 49111 IN NS m.root-servers.net.

. 49111 IN NS f.root-servers.net.

. 49111 IN NS c.root-servers.net.

. 49111 IN NS h.root-servers.net.

. 49111 IN NS e.root-servers.net.

. 49111 IN NS a.root-servers.net.

. 49111 IN NS d.root-servers.net.

. 49111 IN NS l.root-servers.net.

. 49111 IN NS i.root-servers.net.

. 49111 IN NS j.root-servers.net.


;; ADDITIONAL SECTION:

a.root-servers.net. 67332 IN A 198.41.0.4

a.root-servers.net. 68014 IN AAAA 2001:503:ba3e::2:30

b.root-servers.net. 69481 IN A 192.228.79.201

b.root-servers.net. 86395 IN AAAA 2001:500:200::b

c.root-servers.net. 62586 IN A 192.33.4.12

c.root-servers.net. 54579 IN AAAA 2001:500:2::c

d.root-servers.net. 80047 IN A 199.7.91.13

d.root-servers.net. 76234 IN AAAA 2001:500:2d::d

e.root-servers.net. 86390 IN A 192.203.230.10

e.root-servers.net. 49118 IN AAAA 2001:500:a8::e

f.root-servers.net. 71426 IN A 192.5.5.241

f.root-servers.net. 86387 IN AAAA 2001:500:2f::f

g.root-servers.net. 86388 IN A 192.112.36.4


;; Query time: 2 msec

;; SERVER: 114.114.114.114#53(114.114.114.114)

;; WHEN: Tue Jun??6 21:17:15 2017

;; MSG SIZE??rcvd: 508


查看www.baidu.com的DNS服務器

[root@node7.dtedu.com ~]# dig -t NS www.baidu.com


; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -t NS www.baidu.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37013

;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0


;; QUESTION SECTION:

;www.baidu.com. IN NS


;; ANSWER SECTION:

www.baidu.com. 1058 IN CNAME www.a.shifen.com.


;; AUTHORITY SECTION:

a.shifen.com. 365 IN SOA ns1.a.shifen.com. baidu_dns_master.baidu.com. 1706060041 5 5 86400 3600


;; Query time: 6 msec

;; SERVER: 114.114.114.114#53(114.114.114.114)

;; WHEN: Tue Jun??6 21:15:20 2017

;; MSG SIZE??rcvd: 115


-x:反向查找域名

dig -x 1.1.1.1

+trace:跟蹤查找過程。

[root@localhost?~]#?dig?-t?NS?www.baidu.com?+trace
;?<<>>?DiG?9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4?<<>>?-t?NS?www.baidu.com?+trace
;;?global?options:?+cmd
. 12884 IN NS d.root-servers.net.
. 12884 IN NS f.root-servers.net.
. 12884 IN NS j.root-servers.net.
. 12884 IN NS m.root-servers.net.
. 12884 IN NS e.root-servers.net.
. 12884 IN NS b.root-servers.net.
. 12884 IN NS l.root-servers.net.
. 12884 IN NS i.root-servers.net.
. 12884 IN NS c.root-servers.net.
. 12884 IN NS a.root-servers.net.
. 12884 IN NS h.root-servers.net.
. 12884 IN NS k.root-servers.net.
. 12884 IN NS g.root-servers.net.
;;?Received?228?bytes?from?8.8.8.8#53(8.8.8.8)?in?1074?ms

com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
;;?Received?503?bytes?from?193.0.14.129#53(193.0.14.129)?in?1103?ms

baidu.com. 172800 IN NS dns.baidu.com.
baidu.com. 172800 IN NS ns2.baidu.com.
baidu.com. 172800 IN NS ns3.baidu.com.
baidu.com. 172800 IN NS ns4.baidu.com.
baidu.com. 172800 IN NS ns7.baidu.com.
;;?Received?201?bytes?from?192.52.178.30#53(192.52.178.30)?in?1198?ms

www.baidu.com. 1200 IN CNAME www.a.shifen.com.
a.shifen.com. 1200 IN NS ns3.a.shifen.com.
a.shifen.com. 1200 IN NS ns5.a.shifen.com.
a.shifen.com. 1200 IN NS ns1.a.shifen.com.
a.shifen.com. 1200 IN NS ns2.a.shifen.com.
a.shifen.com. 1200 IN NS ns4.a.shifen.com.
;;?Received?228?bytes?from?61.135.165.235#53(61.135.165.235)?in?30?ms

dig -t azxfr zone:驗證完全區域傳送。

RNDC詳解

遠程DNS服務器控制工具,默認只允許本地操作。



DNS日志

/etc/named.conf文件內。

options?{

# ? ? ? listen-on port 53 { 127.0.0.1; };

# ? ? ? listen-on-v6 port 53 { ::1; };

? ? ? ??directory?? ? ??"/var/named";

? ? ? ??forwarders? ? ? {?114.114.114.114; };

? ? ? ? querylog? ? ? ? yes; //添加此參數并重新加載named即可

? ? ? ??recursion?yes;


};


開啟日志功能嚴重消耗系統性能,建議測試時排錯使用,生產環境不要使用。

例題:

定義一個channel,要求使用file來記錄日志,滾動數目為10,每個最大文件為10m,級別為dynamic,要求記錄額外信息。定義一個類別,并記錄查詢日志信息到前面的channel中。
logging{
channel “quer_log”{
file“/var/log/bind9/query.log" ? ?versions 10 size 10m;
severity dynamic;
print-category yes;
print-severity yes;
print-time yes;
};
category queries{ query_log;}
};

記住要將日志文件的權限修改成named可以讀寫的權限。