Linux運維實戰之DNS(bind)服務器的安裝與配置

轉自http://sweetpotato.blog.51cto.com/533893/1598225linux

 

上次博文咱們討論了DNS的基礎,本次博文咱們重點來看看如何配置一臺DNS服務器。web


【本次博文的主要內容】算法

  • bind服務器簡介(包括客戶端工具dig的介紹)
  • 配置正向解析DNS服務器
  • 配置反向解析DNS服務器
  • 配置輔助DNS服務器並在主輔之間實現區域傳送

1、BIND服務器簡介:

Bind是Berkeley Internet Name Domain Service的簡寫,它是一款實現DNS服務器的開放源碼軟件。Bind本來是美國DARPA資助伯克利大學(Berkeley)開設的一個研究生課題,後來通過多年的變化發展,已經成爲世界上使用最爲普遍的DNS服務器軟件,目前Internet上半數以上的DNS服務器有都是用Bind來架設的。數據庫

【什麼是「服務」及服務的特性】windows

一、什麼是套接字:緩存

套接字socket,簡單來講就是IP:port(IP地址端口對)。以電話系統爲例,電話的通話雙方至關於相互通訊的兩個進程,區號是它的IP地址;區內一個單位的交換機至關於一臺主機,主機分配給每一個用戶的局內號碼至關於socket號。任何用戶在通話以前,首先要使用一部電話,至關於申請一個socket;同時要知道對方的號碼,至關於對方有一個固定的socket。而後向對方撥號呼叫,至關於發出鏈接請求(假如對方不在同一區內,還要撥對方的區號,至關於給出網絡地址)。對方假如在場並空閒(至關於通訊的另外一主機開機且能夠接收鏈接請求),拿起電話話筒,雙方就能夠正式通話,至關於鏈接成功。雙方通話的過程,是一方向電話機發出信號和對方從電話機接收信號的過程,至關於向socket發送數據和從socket接收數據。通話結束後,一方掛起電話至關於關閉socket,撤銷鏈接。安全

端口:服務器

TCP:0~65535網絡

UDP:0~65535負載均衡

小於1024的端口爲知名端口;Linux系統中0~1023的端口只有root用戶有開放關閉的權利(服務都是以root用戶身份啓動,以後以一個系統用戶的身份運行。)

例如:DNS服務監聽在tcp的53號端口(DNS區域傳送)和udp的53號端口,Web服務監聽在TCP的80端口。

二、服務的特性:

運行於後臺,處於監聽(listen)狀態

監聽的原理:

360截圖20141229141851230

如上圖所示,

(1)當DNS服務端程序安裝並啓動以後,它首先經過socket()系統調用向內核註冊使用一個套接字,並調用bind()系統調用將本地socket地址(包括本地主機地址和本地端口)與所建立的socket號聯繫起來。一旦註冊成功,守護進程named就處於監聽狀態(即named進程處於阻塞狀態,等待客戶端的鏈接)。注意,服務器必須首先啓動,直到它執行完socket()調用進入等待狀態後,方能接受客戶請求,假如客戶機先啓動,則connect()將返回出錯代碼,鏈接不成功。

(2)以後,DNS的請求報文發送到DNS的服務器的網卡上,而網卡是硬件,可以與硬件打交道的只有內核。內核內部的TCP/IP協議棧將請求報文解包查看其IP首部和TCP首部(即檢查請求報文中的套接字是什麼)。

(3)內核查看文件句柄fd(file deiscriptor)數據庫以確認是否有相關的應用程序進程註冊了該套接字。若是有,則將請求報文發送給該進程。

Tips:以上是我對監聽過程的簡單理解,不免有錯誤之處,如發現錯誤還望指正哈!

三、DNS服務器類型:

  • 緩存服務器:不負責解析,僅爲加速,不須要註冊
  • 主DNS服務器:負責解析本地客戶端請求
  • 輔助DNS服務器:輔助服務器的區域數據都是從主服務器複製而來,其數據都是隻讀的

 

四、bind詳解:

包名:bind

進程:named

協議:dns

使用端口:53(tcp,udp)

相關包:

bind-chroot:將named進程的活動範圍限定在chroot目錄,保證安全性。

bind-devel:與開發相關的頭文件和庫文件(編譯安裝bind時所需)

bind-libs:bind服務器端和客戶端都使用到的公共庫文件

bind-utils :  bind客戶端工具

程序文件:/usr/sbin/named

bind權限相關:

安裝完named會自動建立用戶named系統用戶

42e6e723-fa06-4850-97f0-c63dedf6e668

Tips:早期Linux服務都是以root權限啓動和運行的,隨着技術的發展,各類服務變得愈來愈複雜,致使BUG和漏洞愈來愈多。黑客利用服務的漏洞入侵系統,能得到root級別的權限,從而控制整個系統。爲了減緩這種攻擊所帶來的負面影響,如今服務器軟件一般設計爲以root權限啓動,而後服務器進程自行放棄root,再以某個低權限的系統帳號(named)來運行進程。這種方式的好處在於該服務被攻擊者利用漏洞入侵時,因爲進程權限很低,攻擊者獲得的訪問權限又是基於這個較低權限。

【配置文件】

 

[root@CentOS01 ~]# rpm -qc bind
/etc/logrotate.d/named/etc/named.conf   #主配置文件
/etc/named.rfc1912.zones    #區域配置文件(用include指令包含在主配置文件)
/etc/named.root.key         #根區域的key文件以實現事務簽名;
/etc/rndc.conf                  #rndc(遠程名稱服務器控制器)配置文件
/etc/rndc.key                   #rndc加密密鑰
/etc/sysconfig/named  
/var/named/named.ca      #13個根服務器存放文件/var/named/named.empty  
/var/named/named.localhost
/var/named/named.loopback

重點只須要關心主配置文件:

主配置文件:named.conf,每一個語句都要使用分號結尾;其功能以下:

  • 定義區域
  • 定義各區域的全局配置
  • 定義視圖
  • 定義日誌

【bind客戶端工具】

[root@Centos ~]# rpm -ql bind-utils

/usr/bin/dig #最經常使用的DNS服務器測試工具

/usr/bin/host #一款輕量級DNS測試工具

/usr/bin/nslookup #DNS查詢工具,在衆多平臺上都有實現(windows上也有)

/usr/bin/nsupdate #更新工具

/usr/share/man/man1/dig.1.gz

/usr/share/man/man1/host.1.gz

/usr/share/man/man1/nslookup.1.gz

/usr/share/man/man1/nsupdate.1.gz

dig命令:

語法:dig -t 資源記錄類型  名稱 @server-ip

工做機制:

不加"@server-ip":根據/etc/resolv.conf配置的解析文件來查詢

例如:

000740cd-5cdc-4f47-b026-22aff502a4f2

6cdea5ca-84c2-4a61-b7a6-a16abf5301a8

說明:

(1)加"@server-ip":根據指定的DNS服務器來解析,繞過了本地解析庫中設置的DNS服務器。

(2)注意標誌位:

935117b9-d739-4d0a-a34b-2e728862f89e

注:dig命令不會查緩存,而是直接查服務器

例如:

22e0f9c0-4dcd-4473-a9c5-5ab54e3fe175

經常使用選項:

dig -x IP @server-ip:查詢反向解析

42e53693-6025-4d63-9080-e00217bacbda

dig - t 資源記錄類型 名稱 +trace追蹤解析過程

[root@CentOS01 ~]# dig -t A www.baidu.com +trace

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> -t A www.baidu.com +trace
;; global options: +cmd
#首先找根
.            480984    IN    NS    g.root-servers.net.
.            480984    IN    NS    j.root-servers.net.
.            480984    IN    NS    d.root-servers.net.
.            480984    IN    NS    k.root-servers.net.
.            480984    IN    NS    c.root-servers.net.
.            480984    IN    NS    h.root-servers.net.
.            480984    IN    NS    b.root-servers.net.
.            480984    IN    NS    l.root-servers.net.
.            480984    IN    NS    e.root-servers.net.
.            480984    IN    NS    m.root-servers.net.
.            480984    IN    NS    a.root-servers.net.
.            480984    IN    NS    i.root-servers.net.
.            480984    IN    NS    f.root-servers.net.
;; Received 496 bytes from 218.2.135.1#53(218.2.135.1) in 1654 ms
#而後找.com
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 491 bytes from 128.63.2.53#53(128.63.2.53) in 921 ms
#而後找baidu.com.
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.55.83.30#53(192.55.83.30) in 402 ms
#最後找到最終結果
www.baidu.com.        1200    IN    CNAME    www.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    ns3.a.shifen.com.
a.shifen.com.        1200    IN    NS    ns5.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 81 ms

dig -t axfr zone :驗證徹底區域傳送

host命令:

語法:host -t 資源記錄類型  名稱

例如:

894d4025-7cab-4f46-9d0a-d66433d6d7b4

2、DNS(bind)服務器的配置:

通過上面關於bind服務的介紹後,下面咱們就來具體配置bind服務哈。咱們的配置分四個:

  • 配置正向解析的bind
  • 配置反向解析的bind
  • 配置輔助bind
  • 實現主輔DNS之間的區域傳送

【實驗環境規劃】

VMware station 10

BIND服務器:兩臺CentOS 6.4虛擬機作主輔DNS

一臺windows server2008 R2 作輔助DNS

一臺windows 7作客戶端

Domain Name:test.com.                 192.168.1.0/24

主DNS:LinuxMaster.test.com.        192.168.1.58

輔助DNS:LinuxSlave.test.com.        192.168.1.59

Win2008Slave.test.com.   192.168.80.3  (在windows 2008 R2上實現 )

web主機:www.test.com.     192.168.1.58    192.168.1.59   192.168.80.3

ftp主機:ftp.test.com.   CNAME   www.test.com.

mx郵件服務器:mx.test.com.  192.168.1.58

一、配置正向解析

【將一臺主機配置成可正向解析的DNS之步驟】

第一步:使用YUM安裝DNS所使用的軟件包(BIND)

第二步:建立或修改主配置文件(/etc/named.conf)

第三步:建立區域數據文件(/var/named/***.zone)

第四步:使用相關命令(named-checkconf、named-checkzone)測試配置文件及區域文件是否存在語法錯誤

第五步:確保主配置文件和各區域解析庫文件的權限爲640,屬主爲root,屬組爲named;

第六步:重啓服務或從新加載配置文件

第七步:更改iptables和selinux的設置(若是不瞭解此兩項能夠暫時關閉它們) 

第八步:分別使用(dig/nslookup)在Linux/Windows主機進行查詢DNS相關資源記錄 

具體配置過程以下:

第一步:經過yum安裝bind:

[root@Centos ~]# yum install -y bind

Loaded plugins: fastestmirror, security

Loading mirror speeds from cached hostfile

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package bind.x86_64 32:9.8.2-0.17.rc1.el6 will be installed

--> Processing Dependency: portreserve for package: 32:bind-9.8.2-0.17.rc1.el6.x86_64

--> Running transaction check

---> Package portreserve.x86_64 0:0.0.4-9.el6 will be installed

--> Finished Dependency Resolution

 

Dependencies Resolved

 

==========================================================================================

Package Arch Version Repository Size

==========================================================================================

Installing:

bind x86_64 32:9.8.2-0.17.rc1.el6 cdrom 4.0 M

Installing for dependencies:

portreserve x86_64 0.0.4-9.el6 cdrom 23 k

 

Transaction Summary

==========================================================================================

Install 2 Package(s)

 

Total download size: 4.0 M

Installed size: 7.3 M

Downloading Packages:

------------------------------------------------------------------------------------------

Total 34 MB/s | 4.0 MB 00:00

Running rpm_check_debug

Running Transaction Test

Transaction Test Succeeded

Running Transaction

Installing : portreserve-0.0.4-9.el6.x86_64 1/2

Installing : 32:bind-9.8.2-0.17.rc1.el6.x86_64 2/2

Verifying : 32:bind-9.8.2-0.17.rc1.el6.x86_64 1/2

Verifying : portreserve-0.0.4-9.el6.x86_64 2/2

 

Installed:

bind.x86_64 32:9.8.2-0.17.rc1.el6

 

Dependency Installed:

portreserve.x86_64 0:0.0.4-9.el6

 

Complete!

第二步:本身建立或修改主配置文件(/etc/named.conf)  

首先咱們來看看主配置文件的內容哈:

[root@CentOS02 ~]# cat /etc/named.conf

// C/C++風格的語法,註釋用//或/* */

// named.conf

//

// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS

// server as a caching only nameserver (as a localhost DNS resolver only).

//

// See /usr/share/doc/bind*/sample/ for example named configuration files.

//

 

options {

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; }; //容許哪些主機查詢

recursion yes; //是否容許遞歸查詢

 

dnssec-enable yes;

dnssec-validation yes;

dnssec-lookaside auto;

 

/* Path to ISC DLV key */

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

 

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

};

 

logging { //定義日誌

channel default_debug {

file "data/named.run";

severity dynamic;

};

};

 

zone "." IN { //定義根區域文件名稱

type hint;

file "named.ca"; //使用的是相對路徑,默認存放在/var/named/named.ca

};

//把另外兩個文件也包含進來,做爲主配置文件的一部分

include "/etc/named.rfc1912.zones"; //定義區域配置文件

include "/etc/named.root.key"; //根區域的key文件,與事務簽名相關

註釋以下三行:

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

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

//allow-query     { localhost; };

401c6477-fac6-4d75-805f-17b35ed73c13

啓動named服務:

6ad5e3a6-d732-4d19-8bd0-2786aeed68e9 

驗證named服務是否已經啓動:

d2e19a70-fe97-4637-ba75-36e985844044

配置開機啓動:

601e01d6-8482-472b-8b19-684ab35afe3b

至此,一臺緩存DNS服務器就配置好了!

【編輯區域配置文件/etc/named.rfc1912.zones】

在裏面新建一個區域,格式以下:

zone "區域名稱" IN { 
    type master|slave|forward;  //注意每一個語句要以分號結尾 
    file "ZONE_NAME.zone";     
};  //注意要以分號結尾

咱們這裏新建的區域以下:

1a5ec2b3-808c-4d3c-8dbb-af48e4ee3a67

第三步:建立區域數據文件(/var/named/***.zone)

在/var/named下創建「ZONE_NAME.zone」文件,一般只包含宏定義和資源記錄,且第一個記錄必須是SOA記錄(格式以下);

 

$TTL 600; 
name  [TTL]  IN  RR_Type  value
 

(1)一個FQDN可對應同多個IP;(負載均衡) 

(2)多個FQDN可對應一個IP:(一臺主機有多個名稱,且能夠用CNAME定義)

ede44c7e-906d-4dcc-aaa6-1c368911eded

注:以上各資源記錄的寫法及含義在上次博文中已經詳細討論過(http://sweetpotato.blog.51cto.com/533893/1596973),這裏再也不贅述了哈!

第四步:使用相關命令(named-checkconf、named-checkzone)測試配置文件及區域文件是否存在語法錯誤

b2f3d629-8ea5-4aaf-b2c7-04c204700ad5

第五步:確保主配置文件和各區域解析庫文件的權限爲640,屬主爲root,屬組爲named;

(1)檢查主配置文件的權限:

cc1f1ee1-9de3-4ac7-9329-0dab1b51145c

(2)檢查區域解析庫文件/var/named/test.com.zone的權限:

b6db215d-c3d7-40ee-b1ab-4896887b4589

更改權限:

85e8a4b2-8bcb-4af3-bb9c-f8f18cdcee79

第六步:從新啓動服務或從新加載配置文件:

50f07610-91b2-454d-9b9d-81870c1bdbc0

第七步:更改iptables和selinux的設置(若是不瞭解此兩項能夠暫時關閉它們) 

e3c5b4b7-79fa-4c69-a405-ca77978e8bae

第八步:分別使用(dig/nslookup)在Linux/Windows主機進行查詢DNS相關資源記錄 

(1)使用dig命令在Linux主機上進行DNS資源查詢:

606a1fcf-720a-4f9c-950e-2ec3ce7e3f66

(2)使用nslookup命令在Windows系統平臺下測試DNS相關資源記錄:

dca9883c-fbdb-4bdb-bcdd-11c2067c8b58

df672d2a-af16-43cd-b0a0-44126d081796

至此,一臺可以正向解析的bind服務器就配置好了哈!


二、配置反向解析bind服務器:

正向解析與反向解析各自採用不一樣的解析庫,一臺DNS服務器能夠只有正向解析庫或只有反向解析庫,也能夠同時提供正向/反向解析。

反向區域的區域名稱格式:

ReverseIP.in-addr.arpa. 

例如:假設網絡地址爲172.16.100.1 那麼規則命名爲100.16.172.in-addr.arpa

這裏我本地的內網IP爲192.168.1.0, 因此則寫成1.168.192.in-addr.arpa

第一步:修改配置文件/etc/named.conf,添加反向解析區域配置文件

f0e6cfc2-ee8d-4494-a2f6-206a3a116099

第二步:建立反向區域解析文件168.192.zone

7267461c-70db-4035-9834-c5bb21ae43f8

第三步:檢查語法錯誤

d43abb6e-de12-4511-bed7-9db0615f8bf8

第四步:設置權限

2dcff70a-096f-4683-9037-da0d51a47540

第五步:從新加載配置文件

4b9fa689-05f1-45d0-b406-7ed241694fc6

第六步:用windows客戶端驗證解析:

a9322296-50fa-469e-bbb7-50fe2dbb4a7b

至此,咱們就把主bind服務器配置好了哈(既能夠正向解析又能夠反向解析)

3、rndc的相關知識:

一、什麼是rndc:

Remote Name Domain Controller,遠程名稱域控制器

rndc 經過一個 TCP 鏈接與名字服務器通訊,發送通過數字簽名認證的命令。在當前版本的rndc 和 named 中,惟一支持的認證算法是 HMAC-MD5,在鏈接的兩端使用共享密鑰。它爲命令請求和名字服務器的響應提供 TSIG類型的認證。全部經由通道發送的命令都必須被一個服務器所知道的 key_id 簽名。

監聽端口:953/tcp

語法:

rndc [-b address] [-c config] [-s server] [-p port]

[-k key-file ] [-y key] [-V] command

command is one of the following:

reload Reload configuration file and zones. #從新加載配置文件和區域文件

reconfig Reload configuration file and new zones only. #從新加載配置文件和新的區域文件

freeze Suspend updates to all dynamic zones.

stats Write server statistics to the statistics file. #將服務器統計信息寫入統計文件中

stop Save pending updates to master files and stop the server.

halt Stop the server without saving pending updates.

flush Flushes all of the server's caches. #清空DNS緩存

status Display status of the server. #顯示bind服務器的工做狀態

二、rndc的調試和日誌:

調試:顯示程序運行中的詳細信息(會產生I/O,正常狀況下建議關閉)

調試級別:0,1,2,3...

提高調試級別:

rndc trace

rndc trace LEVEL

rndc notrace

打開查詢日誌:記錄查詢動做(會增長磁盤I/O)

rndc querylog

例如:

6407caf1-a56e-4999-bb5b-6d305a1ee861

4、輔助DNS服務器的配置

注意輔助DNS是針對區域來講的;若是有多臺DNS服務器,必須爲每一個DNS服務器創建NS記錄,不然主DNS將不向其發送通知;

主輔DNS之間的區域傳送原理在上次博文中已經詳細討論過,這裏就不在贅述。想要了解的能夠看上一篇博文http://sweetpotato.blog.51cto.com/533893/1596973

一、區域的定義:

zone 「區域名稱」 IN {

type slave; #區域類型爲輔助

file "slaves/ZONE_NAME.zone"; #區域文件必須保存在slaves目錄下,放在其餘目錄沒有權限

masters { #指出主服務器是誰,注意:花括號先後要有一個空格

MASTER_DNS_IP;

MASTER_DNS2_IP;

};

};

二、輔助DNS和區域傳送的配置:

第一步:先建立一個輔助DNS(分別在LinuxSlave和win2008的虛擬主機中實現)

(1)在LinuxSlave主機上安裝bind服務並作相應的配置:編輯/etc/named.rfc1912.zones,添加以下記錄:

427b2985-58da-414e-a7e9-cb38e3298883

檢查語法錯誤:

0b690d38-a3df-492f-b6ac-baf29a39b1af

(2)在主DNS服務器所在的LinuxMaster主機上的區域文件/var/named/test.com.zone和/var/named/168.192.zone中添加相應的記錄:

4d48695c-b0ed-45f3-9285-4b3a7e6037e6

ab944535-9af4-4619-804e-916b3e43d980

檢查語法錯誤、重讀配置文件:

aa13ef2b-cf14-4da7-8d89-160087c207d6

在主DNS服務器上,用dig命令作下檢測,看看新增長的記錄是否出現:

00f7ba6c-f0d7-46a0-80ca-4ed956cc52f0

d485ced0-e09f-4702-9d2c-f5356406fd2f 

【在windows server 2008 R2上配置輔助DNS】

準備工做:配置好網絡,使得win2008虛擬機可以ping通主DNS服務器並安裝好DNS相關組件。

c3467793-be64-4ac5-aa84-b8a25d37d211

打開DNS管理工具,建立輔助區域:

c0fd79fd-19ff-4f75-960b-526d95009e69

3c7f616c-db8c-40b0-b628-a17fcfd845f5

a9b88005-7e51-48a1-be02-cc825707312e

e5822897-543f-47cb-8515-527c7d677d0c

完成後右鍵區域點擊刷新即從主DNS同步了區域:

a709c63e-65a0-4237-91f0-c366d11f23c4

隨便點擊幾個資源記錄看一下,發現都是灰色的沒法編輯哈(輔助DNS的數據來自於主DNS,通常是隻讀的)

181e8af5-7b85-4941-acad-17233f965114cb102a8d-3b78-41ec-9b0d-2a7df8d1a58c

在主DNS服務器上查看日誌,檢驗主輔DNS之間的區域傳送:

360截圖20141231192446306

第二步:實現從主DNS服務器徹底同步區域數據文件,查看日誌文件驗證輔助服務器是否完成同步:  

說明:如下的實驗沒有windows輔助DNS參與了,所以相應的NS記錄和A記錄被我手動刪除了哈!

在輔助DNS服務器上用dig命令檢測下是否能從主DNS服務器同步數據(徹底區域傳送)

eb72724b-1b98-4c57-aff7-34bf095a4664

在輔助DNS服務器上查看對應的區域文件是否已經有了:

e59cdb3c-f20f-46d1-9308-7e234414d1e8

再來看看輔助DNS上這些區域文件的內容是什麼:

3bd9299e-fc72-45c2-97d5-5aace863ce24

查看日誌:

a05ac58d-7ed2-42ba-8abe-499701104bda

第三步:在主DNS服務器上新增一條資源記錄並查看日誌文件,而後到輔助DNS服務上查看日誌是否完成增量區域數據同步 

d34095d5-401a-4803-87e1-ecaf05a552fa

查看日誌/var/log/messages發現,因爲我忘記把序列號加1了,因此報錯說序列號沒有更改,同步到輔助DNS失敗

992b58bc-7b07-42b9-9e81-52b8f1e812cc

把序列號加1後再來看日誌:

d8a65d77-fbfa-4370-9592-ffd6504b004b

在輔助DNS服務器上查看日誌狀況:

17c4c318-b06a-41b5-9563-22ca0299eb56

查看輔助DNS服務器上的區域文件:

39978b30-43ab-4c05-8eba-84f5de020efd

一切OK哈!

第四步:在windows客戶端用nslookup命令來驗證輔助DNS的配置:

3de7d8bb-c4fc-4c58-b039-05718083e223

一切OK哈!


DNS服務器的基本配置就這麼多哈,下面來簡單總結下:

一、每一個DNS服務器必需要有一個對應的NS資源記錄;

二、建立slave的時候,其配置文件類型必須是type slve; 必須指定主服務器的 IP地址 ;

三、可使用dig -t axfr test.com @server_IP 從主DNS服務器拉取全部解析庫資源記錄;

四、主輔同步完成後,將自動在slave服務器上的slaves/目錄下生成zone文件,這些區域文件是從主DNS同步過來的,通常爲只讀,不建議更改slave的zone文件;

五、在主DNS上修改區域文件時,必須將SOA記錄的serial加1 由於slave是經過serial值來進行判斷更新的(windows系統上是自動完成的);

六、DNS的日誌默認所有保存在/var/log/messege 文件中;

七、DNS的解析依賴於解析庫,因此就算是所配置的內容是徹底不存在的也能夠解析(且正向解析和反向解析的解析庫是各自獨立的)。須要注意,正向解析裏沒有PTR記錄,而反向解析庫裏不須要A記錄、MX記錄和CNAME記錄


本次博文的內容就這麼多,下次博文主要討論DNS安全、子域受權、acl、view、轉發域及日誌子系統。歡迎各位大大拍磚~~

本文出自 「技術日誌」 博客,請務必保留此出處http://sweetpotato.blog.51cto.com/533893/1598225

相關文章
相關標籤/搜索