首頁 > 網際網路

Linux平台伺服器搭建:[3]DNS伺服器

2019-12-17 02:55:42

 CentOS(Community Enterprise  Operating System,中文意思是:社群企業作業系統)是Linux發行版之一,它是來自於Red Hat Enterprise Linux依照開放原始碼規定釋出的原始碼所編譯而成。由於出自同樣的原始碼,因此有些要求高度穩定性的伺服器以CentOS替代商業版的Red Hat Enterprise Linux使用。兩者的不同,在於CentOS並不包含封閉原始碼軟體。

 DNS伺服器是計算機域名系統 (Domain Name System 或Domain Name Service) 的縮寫,它是由域名解析器和域名伺服器組成的。域名伺服器是指儲存有該網路中所有主機的域名和對應IP地址,並具有將域名轉換為IP地址功能的伺服器。其中域名必須對應一個IP地址,而IP地址不一定有域名。域名系統採用類似目錄樹的等級結構。域名伺服器為客戶機/伺服器模式中的伺服器方,它主要有兩種形式:主伺服器和轉發伺服器。將域名對映為IP地址的過程就稱為「域名解析」。

1

第一步 ?在一台電腦上安裝linux 本文安裝的是centos 5.4 在安裝時選擇安裝NAT,DHCP,DNS等一系列伺服器軟體。安裝可檢視本作者經驗的 <<Linux平台伺服器搭建:[1]NAT伺服器>>

2

第二步、檢查相關軟體是否已經安裝

一、檢查相關軟體是否已經安裝

rpm -qa | grep bind

rpm -qa | grep caching


3

二、安裝軟體包:(這裡主要介紹 yum 安裝,使用光碟安裝注意安裝順序,yum 就不用)1、可以使用光碟自帶的軟體包?掛載光碟[root@localhost root]# mount /dev/sda5/ /hard/[root@localhost hard]# cdCentOS-5.4-i386-bin-DVD/CentOS2、使用 yum 源安裝?[root@localhost hard]# yum -y installbind-*[root@localhost hard]# yum -y installcaching-na*[root@localhost ~]# rpm -qa | grep bindbind-
utils-9.3.6-4.P1.el5bind-libbind-devel-9.3.6-4.P1.el5bind-9.3.6-4.P1.el5bind-chroot-9.3.6-4.P1.el5bind-devel-9.3.6-4.P1.el5bind-libs-9.3.6-4.P1.el5ypbind-1.19-12.el5bind-sdb-9.3.6-4.P1.el5[root@localhost ~]# rpm -qa | grep cachingcaching-nameserver-9.3.6-4.P1.el5[root@localhost ~]#?
evel-9.3.6-4.P1.el5bind-libs-9.3.6-4.P1.el5ypbind-1.19-12.el5bind-sdb-9.3.6-4.P1.el5[root@localhost ~]# rpm -qa | grep cachingcaching-nameserver-9.3.6-4.P1.el5[root@localhost ~]#?

4

三、修改組態檔://這裡要注意,是否使用chroot 環境,預設 5.0 以上的版本均使用 chroot 環境,相關組態檔目錄有所改變,named.conf 為主組態檔,位於/var/named/chroot/etc/下編輯 named.conf 檔案,一定要注意路徑[root@localhost ~]#cd /var/named/chroot/etc預設該目錄下是沒有 named.conf 檔案的,這裡就需要拷貝檔案了注意:cp –p 「-p」引數是保持原檔案的各種屬性,如果直接拷貝,不加 「-p」就需要手動更改檔案屬性了,否則最後你會發現 named 伺服器無法啟動,啟動失敗,且不報任何錯誤chown :n
amed named.conf //更改檔案屬性,其他檔案也是一樣的[root@localhost etc]# cp -pnamed.caching-nameserver.conf named.conf[root@localhost etc]# cp -pnamed.rfc1912.zones named.rfc1912.zones.bak[root@localhost etc]#gedit named.conf
ot@localhost etc]# cp -pnamed.rfc1912.zones named.rfc1912.zones.bak[root@localhost etc]#gedit named.conf

5

options {//將原127.0.0.1 改為 any

listen-on port 53 { any; };

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";

 // Those options should be used carefully because they disable port

// randomization

 // query-source         port 53;

// query-source-v6 port 53;

//localhost 改為 any

allow-query           { any; };

//localhost 改為 any

allow-query-cache { any; };

forwarders            {202.96.134.33; };

// 此行預設沒有,如果內網使用此 dns 伺服器可以設定 dns 轉發,

forward only;

這裡一定是一個有效的 dns 伺服器地址,則新增這兩行};

logging {

channel default_debug {

file"data/named.run";

severity dynamic;

};

};

view localhost_resolver {

//localhost 改為 any

match-clients            { any; };

match-destinations { any; };

 recursion yes;

include "/etc/named.rfc1912.zones";

};

定義 dns 伺服器的區域組態檔


6

[root@localhost etc]# vinamed.rfc1912.zones

//在檔案最後新增以下內容,設定 dns 區域

//正向解析區域

zone "wangxiaobo.com" IN {

type master;

//區域組態檔

file "wangxiaobo.com.zone";

allow-update { none; };

};

 //反向解析區域


7

zone "0.168.192.in-addr.arpa" IN{type master;//區域組態檔?file "192.168.0.zone";allow-update { none; };設定正反向解析記錄檔案(注意-p 引數,以及檔案的目錄路徑)[root@localhost var]# cd/var/named/chroot/var/named/[root@localhost named]# cp -plocaldomain.zone wangxiaobo.com[root@localhostnamed]# cp -p named.local 192.168.0.zone?

8

[root@localhost named]# geditwangxiaobo.com

$TTL     86400

@                    IN SOA ns.wangxiaobo.com.root.wangxiaobo.com. (

42                   ;serial (d. adams)

3H                    ;refresh

15M                    ; retry

1W                     ; expiry

1D )                ; minimum

                      IN NS                ns.wangxiaobo.com.

www                   IN A                 192.168.0.251

mail                  IN A                 192.168.0.251

ftp                   IN A                 192.168.0.100

//設定反向解析記錄


9

[root@localhost named]# vi 192.168.0.zone

$TTL     86400

@         IN        SOA         ns.wangxiaobo.com.root.wangxiaobo.com.       (

1997022700 ; Serial

28800         ; Refresh

14400         ; Retry

3600000       ; Expire

 86400 )     ; Minimum

IN         NS        ns.wangxiaobo.com.

251     IN         PTR  www.wangxiaobo.com.

251     IN         PTR        mail.wangxiaobo.com

100     IN         PTR  ftp.wangxiaobo.com. 

設定完相關檔案後,dns 伺服器基本完成


10

四、啟動 bind 服務,伺服器名為 named

第一種方式啟動

[root@localhost named]# service namedrestart

五、測試 dns 伺服器

gedit /etc/resolv.conf

; generated by /sbin/dhclient-script

;nameserver 202.102.227.68

;nameserver 211.67.128.1

nameserver211.67.134.167

 


11

 [root@localhost ~]# service named restart

停止 named:                                               [確定]

啟動 named:                                              [確定]

[root@localhost ~]# nslookup

> wwww.wangxiaobo.com

Server:         211.67.134.167

Address:        211.67.134.167#53

Name:  www.wangxiaobo.com

Address: 192.168.0.251

> ftp.wangxiaobo.com

Server:         211.67.134.167

Address:        211.67.134.167#53

Name:  ftp.wangxiaobo.com

Address: 192.168.0.100

> mail.wangxiaobo.com

Server:         211.67.134.167

Address:        211.67.134.167#53

Name:  mail.wangxiaobo.com

Address: 192.168.0.251

> 192.168.0.100

Server:         211.67.134.167

Address:        211.67.134.167#53

100.0.168.192.in-addr.arpa      name = ftp.wangxiaobo.com.

> 192.168.0.251

Server:         211.67.134.167

Address:       211.67.134.167#53

251.0.168.192.in-addr.arpa      name = mail.wangxiaobo.com.

251.0.168.192.in-addr.arpa      name = www.wangxiaobo.com.

>

顯示正常,則說明 dns 伺服器正常執行。

最後要注意,如果要區域網內的 pc 使用該 dns,則需要設定 selinux,開放 53 號埠,如果是實驗,就可以

關閉防火牆 service iptables stop

可以使用 setup 來進行簡單的開放埠

DNS 伺服器到這裡就大功告成!!           



IT145.com E-mail:sddin#qq.com