CentOS搭建DNS服務器實錄

一、安裝軟件

常見DNS服務器軟件有BIND NSDUnbound 等等,而BIND市場佔有率是最高的,後兩種是輕量級的快速DNS服務器。我這裏使的是BIND ,其他的類似。

centos上切換到root用戶(以下所有操作均在root用戶),執行 yum install bind dind-devel -y 安裝軟件。


待安裝完畢進行配置。

二、配置

1. 編輯配置/etc/named.conf


修改如下兩行(如下圖所示),

listen-on port 53 { 127.0.0.1; };

#127.0.0.1修改成本機實際IP 或者 any

allow-query     { localhost; };

#localhost 該成any


修改後如下:


2. 配置域名解析文件

域名解析分正向區域和反向區域正向區域是將域名解析爲IP地址的過程,反向區域則是客戶機根據一臺計算機的IP 地址搜索它的域名。在大部分的 DNS查詢中,客戶機一般執行正向區域解析。

正反向區域的配置,可以直接寫在/etc/named.conf中(不推薦),在/etc/named.conf最下方有兩句include語句,其中include "/etc/named.rfc1912.zones";就是用來配置正反向區域配置的文件,當然也可以自定義(自定義需要在/etc/named.confinclude),入下圖。


這裏我們使用默認的配置文件/etc/named.rfc1912.zones,執行

vim /etc/named.rfc1912.zones

編輯這個文件,加入(以下筆者以域名3jhx.cc爲例):

zone "3jhx.cc" IN {

    type master;

    file "3jhx.cc.zone";

};

這個是正向解析區域,


反向區域如下,這裏沒有增加, 

zone "1.168.192.in-addr.arpa." IN {

type master;

file "1.168.192.zone";

};

正反向解析區域文件都在/etc/named.conf directory 參數配置,默認是"/var/named"

編輯正向區域文件,內容如下圖,其中:ns1ns2爲解析的兩個DNS域名,在我們自定義域名DNS服務器的時候要用到。


;SOA後面的兩個參數分別是主DNS服務器主機名和管理者郵箱(root@3jhx.cc)。因爲@符號有特殊含義,所以寫成這樣。注意末尾的點。

;括號內的第一個參數是序號,代表本配置文檔的新舊,序號越大,表示越新。每次修改本文檔後,都要將這個值改大。

;第二個參數是刷新頻率,表示slave隔多久會跟master比對一次配置檔案,單位爲秒(在主從DNS架構中要用到

;第三個參數是失敗重新嘗試時間,單位爲秒

;第四個參數是失效時間,單位爲秒。

;第五個參數表示其它DNS服務器能緩存negative answers的時間,單位爲秒

以上七個參數可以按照圖中的寫法,亦可以直接寫成秒,兩種一樣。

;類型NS定義指定域的DNS服務器主機名,這裏是:ns1.3jhx.cc和ns2.3jhx.cc

A記錄是域名與IP地址的映射關係,如果IP地址是IPV6,則A記錄是AAAA

配置完畢後,保存。

反向區域文件配置示例:

(圖片來源於網絡)

 3重啓named服務

CentOS6.x 使用 service named restart重啓named服務,使用chkconfig named on讓服務開機啓動。

CentOS7.x 使用 systemctl restart named重啓named服務,使用systemctl enable named讓服務開機啓動。

 

4. 配置防火牆

開放防火牆53端口,注意需要同時開放TCP和UDP的53端口,如果是ECS雲服務器還需要開放安全組的TCP和UDP的53端口。

 

CentOS7.x 是:

[root@localhost~]# firewall-cmd --zone=public--add-port=53/tcp --permanent

[root@localhost~]# firewall-cmd --zone=public--add-port=53/udp --permanent

重啓防火牆以讓更改立刻生效:

[root@localhost~]# firewall-cmd –reload

可使用以下命令檢查配置是否成功:

[root@localhost~]# firewall-cmd --list-all

 

CentOS6.X是:

/sbin/iptables -I INPUT -p tcp --dport 53 -j ACCEPT

/sbin/iptables -I INPUT -p udp --dport 53 -j ACCEPT

保存規則:

/etc/rc.d/init.d/iptables save

重啓防火牆以讓更改立刻生效:

service iptables restart

三、驗證

要驗證我們配置的dns是否正確,在客戶機計算機上將DNS服務器地址手動修改成我們配置好的DNS服務器地址,然後使用命令nslookup命令或者dig命令測試

Linux系統直接在終端輸入nslookup命令,windows在cmd命令行輸入nslookup命令


四、配置域名自定義DNS服務器

爲了是實驗真實性,這裏筆者使用真實域名實驗。

進入到域名管理控制檯,筆者使用的是萬網,其他服務商類似。

自定義 DNS 服務器頁面創建兩個 DNS 服務器ns1.3jhx.cc和ns2.3jhx.cc


創建完成後需要在我們的DNS服務器解析NSA記錄,上文中我們已經解析。


點擊DNS修改,將域名的DNS修改成剛創建的兩個DNS地址(爲什麼是兩個, 國際域名最少填寫2個,最多填寫13個)

修改完成後需要些時間才能生效。

至此我們就可以使用我們創建的DNS服務器來解析我們的域名了。

注:筆者實驗中沒有創建從DNS服務器,只創建了主DNS服務器,從DNS服務器的創建和主DNS差不多,實際應用中需要主從結構。






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章