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


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

 

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


【本次博文的主要內容】

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

一、BIND服務器簡介:

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

【什么是“服務”及服務的特性】

1、什么是套接字:

套接字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端口。

2、服務的特性:

運行於后台,處於監聽(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:以上是我對監聽過程的簡單理解,難免有錯誤之處,如發現錯誤還望指正哈!

3、DNS服務器類型:

  • 緩存服務器:不負責解析,僅為加速,不需要注冊
  • 主DNS服務器:負責解析本地客戶端請求
  • 輔助DNS服務器:輔助服務器的區域數據都是從主服務器復制而來,其數據都是只讀的

 

4、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

二、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

1、配置正向解析

【將一台主機配置成可正向解析的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服務器就配置好了哈!


2、配置反向解析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服務器配置好了哈(既可以正向解析又可以反向解析)

三、rndc的相關知識:

1、什么是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服務器的工作狀態

2、rndc的調試和日志:

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

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

提升調試級別:

rndc trace

rndc trace LEVEL

rndc notrace

打開查詢日志:記錄查詢動作(會增加磁盤I/O)

rndc querylog

例如:

6407caf1-a56e-4999-bb5b-6d305a1ee861

四、輔助DNS服務器的配置

注意輔助DNS是針對區域來說的;如果有多台DNS服務器,必須為每個DNS服務器建立NS記錄,否則主DNS將不向其發送通知;

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

1、區域的定義:

zone “區域名稱” IN {

type slave; #區域類型為輔助

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

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

MASTER_DNS_IP;

MASTER_DNS2_IP;

};

};

2、輔助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服務器的基本配置就這么多哈,下面來簡單總結下:

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

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

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

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

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

6、DNS的日志默認全部保存在/var/log/messege 文件中;

7、DNS的解析依賴於解析庫,所以就算是所配置的內容是完全不存在的也可以解析(且正向解析和反向解析的解析庫是各自獨立的)。需要注意,正向解析里沒有PTR記錄,而反向解析庫里不需要A記錄、MX記錄和CNAME記錄


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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM