天天看點

DNS伺服器架設

 這篇文檔,是我根據一個視訊教程作出來的筆記,上傳的PDF則為這個視訊的課件,想看看見不想看我這個的,可以下載下傳就是了,但下面所寫,均為我個人測試所得,有什麼問題,盡管可以回帖

DNS概述

DNS安裝

DNS常見名詞

DNS配置檔案詳解

配置主要DNS服務

DNS案例詳解

DNS域名系統簡介

四部分組成

    DNS域名空間

    資源記錄

    DNS伺服器

    DNS用戶端

DNS域名空間

根域-->頂極域-->子域-->主機

分成三個類型

    組織域--位址域--反向域

DNS查詢工作的原理

兩部分組成

    本地解析

    查詢DNS伺服器

        遞歸查詢    (伺服器與伺服器交流)

        疊代查詢(流量會增大,伺服器與用戶端的交流)

hosts檔案

/etc/hosts解析網絡中的IP位址跟域名

DNS伺服器bind及chroot的安裝

比較注意的一個caching-nameserver很多檔案已經配置好,比較友善,故此,需要裝上

rpm -q bind查詢是否安裝

yum -y install bind-*

yum -y install caching-nameserver-*

rpm -ql caching-nameserver

/var/name/named.ca根伺服器的配置檔案

安裝chroot軟體包

原因

優點

危害減少

啟動/停止/重新開機 DNS

資源記錄

區檔案

DNS緩存

正向解析

反向解析

/etc/named.conf

/var/named/named.ca

/var/named/localhost.zone

/var/named/name.local

/var/named/

SOA資源記錄

主配置檔案named.conf

options{

directory "/var/named"; 指定工作目錄

forwards {192.168.31.2} 指定查詢的目标DNS伺服器

allow-transfer   -->輔助DNS的時候用到

};

type字段指定的區域類型

master:定義的是主域名伺服器

slave:輔助域名伺服器

hint:網際網路中根域伺服器

forward:

stub:

delegation-only

DNS伺服器架設流程

    建立named.conf

    建立區域檔案

    重新加載配置檔案使配置生效

配置主要名稱伺服器的概述

主配置檔案

設定根區域

zone "."{

    type hint;

設定主區域

zone "example.com"{

    type master;

設定反向解析區域

zone "16.168.192.in-addr.arpa"{

    file "192.168.16.arpa";

根伺服器資訊檔案named.ca

ftp下載下傳複制到/var/named/chroot/var/named/目錄下

正向區域檔案

反向解析區域檔案

/var/named/chroot/var/named/192.168.16.arpa

實作負載均衡功能

主要名稱伺服器的測試

1 測試前的準備

啟動DNS服務

配置/etc/resolv.conf

2 使用nslookup程式測試

3 host [-t type] hostname [server][ip]

4 dig [-t type] hostname [server][ip]

最簡單的伺服器配置

host 51CTO提醒您,請勿濫發廣告!

發現,逾時

cd /var/named/chroot/

cd etc;ls

建立named.conf檔案

options {

    directory "/var/named";

    file "named.ca"

ls -l named.conf

預設是root使用者組

如果沒有安裝chroot的包的話,比需要把檔案的權限更改掉

host ip

dig 51CTO提醒您,請勿濫發廣告!

nslookup 51CTO提醒您,請勿濫發廣告!

named-checkconf 檢查區域檔案

named-checkconf named.conf檢查

named-checkconf named.ca /var/named/chroot/var/named/named.ca

配置輔助名稱伺服器

    提供容錯能力

    分擔主伺服器的負擔

    加快查詢的速度

配置緩存cache-only伺服器

類似于代理伺服器

dirc

forward only;

forwarders{

    ip;

案例

執行個體1】技術部所在域為“tech.org”,部門内有三台主機,主機名分别是 client1.tech.org,client2.tech.org,client3.tech.org。現要求DNS伺服器dns.tech.org 可以解析3台主機名和IP位址的對應關系。

[root@localhost etc]# yum -y install bind-*

[root@localhost etc]# yum -y install caching-nameserver-*

[root@localhost /]# cd /var/named/chroot/etc/

[root@localhost etc]# ls

localtime  named.caching-nameserver.conf  named.rfc1912.zones  rndc.key

[root@localhost etc]# vim named.conf

        directory "/var/named";

        type hint;

        file "named.ca"

zone "tech.org"{

        type master;

        file "tech.org.zone";

zone "141.16.172.in-addr.arpa"{

        file "172.16.141.zone";

~           

建立區域檔案

[root@localhost etc]# cd ..

[root@localhost chroot]# ls

dev  etc  var

[root@localhost chroot]# cd var/named/

[root@localhost named]# ls

data              localhost.zone   named.ca         named.local  slaves

localdomain.zone  named.broadcast  named.ip6.local  named.zero

[root@localhost named]# vim tech.org.zone

$TTL 86400

@       IN              SOA             dns.tech.org.   root(

                                        2011071300

                                        3H

                                        1H

                                        0)

@       IN              NS              dns.tech.org.

dns     IN              A               172.16.141.132

client1 IN              A               172.16.141.133

client2 IN              A               172.16.141.134

client3 IN              A               172.16.141.135

建立反向區域

[root@localhost named]# vim 172.16.141.zone

@               IN              SOA             dns.tech.org.   root.tech.org. (

                                                2011071300

                                                3H

                                                1H

                                                1W

                                                0)

@                           IN              NS      dns.tech.org.

132.141.16.172.in-addr.arpa.            IN              PTR     dns.tech.org.

133                                     IN              PTR     client1.tech.org.

134                                     IN              PTR     client2.tech.org.      

135                                     IN              PTR     client3.tech.org.      

~                                                                                    

檢查區域檔案

[root@localhost named]# named-checkzone tech.org.zone /var/named/chroot/var/named/tech.org.zone

zone tech.org.zone/IN: loaded serial 2011071300

OK

[root@localhost named]# named-checkzone 172.16.141.zone /var/named/chroot/var/named/172.16.141.zone

/var/named/chroot/var/named/172.16.141.zone:9: ignoring out-of-zone data (132.141.16.172.in-addr.arpa)

zone 172.16.141.zone/IN: loaded serial 2011071300

[root@localhost named]#

[root@localhost named]# service named start

Starting named:                                            [  OK  ]

[root@localhost named]# dig -t PTR 133.141.16.172.in-addr.arpa

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> -t PTR 133.141.16.172.in-addr.arpa

;; global options:  printcmd

;; Got answer:

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

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

;; QUESTION SECTION:

;133.141.16.172.in-addr.arpa.   IN      PTR

;; ANSWER SECTION:

133.141.16.172.in-addr.arpa. 86400 IN   PTR     client1.tech.org.

;; AUTHORITY SECTION:

141.16.172.in-addr.arpa. 86400  IN      NS      dns.tech.org.

;; ADDITIONAL SECTION:

dns.tech.org.           86400   IN      A       172.16.141.132

;; Query time: 1 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Wed Jul 13 16:21:15 2011

;; MSG SIZE  rcvd: 109

執行個體2】企業采用多個區域管理各部門網絡,技術部屬于“tech.boobooke”域,市場部屬于“mart.boobooke”域,其他人員屬于“freedom.boobooke”域。

技術部門共有100人,采用的IP位址為192.168.31.1-192.168.31.100。

市場部門共有100人,采用IP位址為192.168.32.1-192.168.32.100。

其他人員隻有50人,采用IP位址為192.168.33.1-192.168.33.50。

現采用一台主機搭建DNS伺服器,其IP位址為192.168.31.134,要求這台DNS伺服器可以完成内網所有區域的正/反向解析,

并且所有員工均可以通路外網位址。

配置named.conf

        file "named.ca";

zone "tech.boobooke"{

        file "tech.boobooke.zone";

zone "mark.boobooke"{

        file "mark.boobooke.zone";

zone "142.16.172.in-addr.arpa"{

        file "172.16.142.zone";

zone "freedom.boobooke"{

        file "freedom.boobooke.zone";

zone "143.16.172.in-addr.arpa"{

        file "172.16.143.zone";

[root@localhost named]# mv tech.org.zone tech.boobooke.zone

[root@localhost named]# cp tech.boobooke.zone mark.boobooke.zone

[root@localhost named]# cp tech.boobooke.zone freedom.boobooke.zone

[root@localhost named]# cp 172.16.141.zone 172.16.142.zone

[root@localhost named]# cp 172.16.141.zone 172.16.143.zone

[root@localhost named]# vim tech.boobooke.zone

@       IN              SOA             dns.tech.boobooke.      root (

                                        1W

@       IN              NS              dns.tech.boobooke.

client1 IN              A               172.16.141.1

client2 IN              A               172.16.141.2

client3 IN              A               172.16.141.3

client100 IN            A               172.16.141.100

[root@localhost named]# vim mark.boobooke.zone

@       IN              SOA             dns.mark.boobooke.      root (

@       IN              NS              dns.mark.boobooke.

client1 IN              A               172.16.142.1

client2 IN              A               172.16.142.2

client3 IN              A               172.16.142.3

client100 IN            A               172.16.142.100

[root@localhost named]# vim freedom.boobooke.zone

@       IN              SOA             dns.freedom.boobooke.   root (

@       IN              NS              dns.freedom.boobooke.

client1 IN              A               172.16.143.1

client2 IN              A               172.16.143.2

client3 IN              A               172.16.143.3

client50 IN            A               172.16.143.50

然後編輯反向區域

@               IN              SOA             dns.tech.boobooke.      root.tech.boobooke. (

@               IN              NS              dns.tech.boobooke.

132             IN              PTR     dns.tech.boobooke.

1                               IN              PTR     client1.tech.boobooke. 

2                               IN              PTR     client2.tech.boobooke. 

3                               IN              PTR     client3.tech.boobooke. 

100                             IN              PTR     client100.tech.boobooke.

 [root@localhost named]# cp 172.16.141.zone 172.16.142.zone

cp: overwrite `172.16.142.zone'? y

cp: overwrite `172.16.143.zone'? y

[root@localhost named]# vim 172.16.142.zone

 $TTL 86400

@               IN              SOA             dns.mark.boobooke.      root.mark.boobooke. (

@               IN              NS              dns.mark.boobooke.

132             IN              PTR     dns.mark.boobooke.

1                               IN              PTR     client1.mark.boobooke.

2                               IN              PTR     client2.mark.boobooke.

3                               IN              PTR     client3.mark.boobooke.

100                             IN              PTR     client100.mark.boobooke.

[root@localhost named]# vim 172.16.143.zone

@               IN              SOA             dns.freedom.boobooke.   root.freedom.boobooke. (

@               IN              NS              dns.freedom.boobooke.

132             IN              PTR     dns.freedom.boobooke.

1                               IN              PTR     client1.freedom.boobooke.

2                               IN              PTR     client2.freedom.boobooke.

3                               IN              PTR     client3.freedom.boobooke.

50                              IN              PTR     client50.freedom.boobooke.

[root@localhost named]# named-checkconf /var/named/chroot/etc/named.conf

[root@localhost named]# named-checkzone 172.16.142.zone /var/named/chroot/var/named/172.16.142.zone

zone 172.16.142.zone/IN: loaded serial 2011071300

[root@localhost named]# named-checkzone 172.16.143.zone /var/named/chroot/var/named/172.16.143.zone

zone 172.16.143.zone/IN: loaded serial 2011071300

[root@localhost named]# named-checkzone tech.boobooke.zone /var/named/chroot/var/named/tech.boobooke.zone

zone tech.boobooke.zone/IN: loaded serial 2011071300

[root@localhost named]# named-checkzone mark.boobooke.zone /var/named/chroot/var/named/mart.boobooke.zone

zone mart.boobooke.zone/IN: loaded serial 2011071300

[root@localhost named]# named-checkzone freedom.boobooke.zone /var/named/chroot/var/named/freedom.boobooke.zone

zone freedom.boobooke.zone/IN: loaded serial 2011071300

[root@localhost named]# service named restart

Stopping named:                                            [  OK  ]

[root@localhost named]# host client1.tech.boobooke

client1.tech.boobooke has address 172.16.141.1

[root@localhost named]# host client1.mark.boobooke

client1.mark.boobooke has address 172.16.142.1

[root@localhost named]# host client1.freedom.boobooke

client1.freedom.boobooke has address 172.16.143.1

[root@localhost named]# host 172.16.141.100

100.141.16.172.in-addr.arpa domain name pointer client100.tech.boobooke.

[root@localhost named]# host 172.16.142.100

100.142.16.172.in-addr.arpa domain name pointer client100.mark.boobooke.

[root@localhost named]# host 172.16.143.100

Host 100.143.16.172.in-addr.arpa. not found: 3(NXDOMAIN)

[root@localhost named]# host 172.16.143.50

50.143.16.172.in-addr.arpa domain name pointer client50.freedom.boobooke.

【執行個體3】安裝基于chroot的DNS伺服器,并将其配置成緩存Cache-only伺服器,然後将客戶機的查詢轉發到202.100.138.68和202.100.128.68的DNS伺服器上。

配置named.conf檔案

删除所有檔案的内容,建立緩存伺服器

    forwarders {

        202.100.138.68;

        202.100.128.68;};

    forward only;

重新開機服務

[root@localhost etc]# host www.baidu.com

www.baidu.com is an alias for www.a.shifen.com.

www.a.shifen.com has address 220.181.111.148

www.a.shifen.com has address 220.181.112.143

【執行個體4】安裝基于chroot的DNS伺服器,并根據以下要求配置主要名稱伺服器。

(1)定義伺服器的版本資訊為“9.3.4”。

(2)設定根區域,以便DNS伺服器在本地區域檔案不能進行查詢的解析時,能轉到根DNS伺服器查詢。

(3)建立xyz.org主區域,設定允許區域複制的輔域名伺服器的位址為192.168.31.134。

(4)建立以下A資源記錄。

dns.xyz.org. IN A 192.168.31.1

www.xyz.org. IN A 192.168.31.2

mail.xyz.org. IN A 192.168.31.3

(5)建立以下别名CNAME資源記錄。

bbs IN CNAME www

(6)建立以下郵件交換器MX資源記錄

Xyz.org. IN MX 10 mail.xyz.org.

(7)建立反向解析區域31.168.192.in-addr.arpa,并為以上A資源記錄建立對應的指針PTR資源記錄。

        version "9.3.4";

        allow-transfer {172.16.141.139;};

zone "." {

zone "xyz.org" {

        file "xyz.org.zone";

zone "141.16.172.in-addr.arpa" {

[root@localhost named]# vim xyz.org.zone

@               IN      SOA     dns.xyz.org.    root (

                2011071400;

                3H;

                1H;

                1W

                1D)

@               IN      NS      dns

dns             IN      A       172.16.141.1

www             IN      A       172.16.141.2

mail            IN      A       172.16.141.3

bbs             IN      CNAME   www

xyz.org.        IN      MX      10      mail.xyz.org.

@               IN              SOA             dns.xyz.org.    root (

                                                2011071400

                                                1D)

@               IN              NS              dns.xyz.org.

1               IN              PTR             dns.xyz.org.   

2               IN              PTR             www.xyz.org.   

3               IN              PTR             mail.xyz.org.  

配置好之後,一定要留意/etc/resolve.conf中,

; generated by /sbin/dhclient-script

search localdomain

nameserver 127.0.0.1

nameserver一定要是本地的回環位址,不然會錯誤

執行個體5】安裝基于chroot的DNS伺服器,并根據以下要求配置輔助名稱伺服器。

(1)建立xyz.org從區域,設定主要名稱伺服器的位址為192.168.31.132。

(2)建立反向解析從區域31.168.192.in-addr.arpa,設定主要名稱伺服器的位址為192.168.31.132。

輔助域名伺服器的配置

[root@localhost yum.repos.d]# yum -y install bind-*

[root@localhost yum.repos.d]# yum -y install caching-nameserver-*

設定主配置檔案

        type slave;

        masters { 172.16.141.132; };

        file "slaves/xyz.org.zone";

        file "slaves/172.16.141.zone";

去到/var/named/slaves 中,此時

[root@localhost slaves]# ls

沒有檔案

[root@localhost slaves]# service named start

172.16.141.zone  xyz.org.zone

[root@localhost slaves]#

重新開機服務即可看到

[root@localhost slaves]# host dns.xyz.org

;; connection timed out; no servers could be reached

發現,解析不了,因為我們需要修改DNS

[root@localhost slaves]# vim /etc/resolv.conf

dns.xyz.org has address 172.16.141.1

即可實作

繼續閱讀