搭建一個簡易的DNS服務
今天給大家介紹如何搭建一個DNS服務,以下圖為例,當一個小區客戶端去訪問www.jiabing.com時,DNS需要如何去搭建。
搭建前需要先把每臺服務器的防火墻和SELINUX關閉。
關閉防火墻:iptables -F
查看SELINUX是否關閉:getenforce 沒有關閉需要關閉:setenforce 0
除了客戶端,別的都需要安裝bind包:yum install bind
啟動服務:service named start
rpm - -import RPM-GPG-KEY-... 導出公鑰(新安裝的系統需要執行,導出公鑰後就可以安裝bind包了)
一、先配置web服務器(因為每配置一個服務器都需要去測試一下,容易排錯)
在/var/www/html/下創建一個index.html文件
vim index.html內容如下
順便再把httpd服務啟動起來:service httpd start
此時web服務器已經配好
二、配置主DNS服務器
配置DNS主配置文件/etc/named.conf
vim /etc/named.conf內容如下:
將53端口綁定到本地地址
linsten-on port 53 { localhost; };
允許所有人通過53端口連接本機
allow-query { any; };
只允許172.17.166.166從本機抓取數據庫
allwo-transfer { 172.17.166.166;};
配置/etc/named.rfc1912.zones文件,添加一個域
vim /etc/named.rfc1912.zones內容如下:
在/var/named/下創建一個與/etc/named.rfc1912.zones文件裏面配置域名字一樣的文件後面加個.zone
vim /var/named/jiabing.com.zone內容如下:
前面是SOA記錄,
後面需要配置兩個NS記錄,對應的兩個DNS服務器地址,一個指向自己172.17.177.177,另一個只想從DNS服務器172.17.166.166
最後配置域名地址並設置一個別名,ip地址指向web服務器
此時主DNS已經配置完畢,需要用dig www.jiabing.com @172.17.177.177去測試一下自己。(如果測試不成功的話,需要把DNS指向自己,因為還沒有配置根DNS)
三、配置從DNS服務器(當主DNS宕機的時候,從DNS可以工作)
同上需要配置主配置文件/etc/named.conf
vim /etc/named.conf內容如下:
將53端口綁定到本地地址
linsten-on port 53 { localhost; };
允許所有人通過53端口連接本機
allow-query { any; };
不允許任何人截取DNS數據庫
allow-transfer { none;};
從服務器配置只需要在/etc/named.rfc1912.zones裏面加個條件就行
vim /etc/named.rfc1912.zones內容如下:
指定類型
type slave
指定主DNSip地址
masters { 172.17.177.177;};
文件自動生成路徑
file “slaves/jiabing.com.zone”
此時從DNS已經配置成功
rdnc reload同步一下就直接生成/var/named/slaves/jiabing.com.zone文件
同時dig www.jiabing.com @172.17.166.166測試一下看能否訪問
四、配置comDNS服務器
配置DNS主配置文件/etc/named.conf
vim /etc/named.conf內容如下:
我們也可以把listen-on port 53 { 127.0.0.1; };和allow-query { localhost;};註釋掉,那樣就所有IP地址都監聽53端口。
如果是轉發的DNS服務器需要更改dnssec-enable yes和dnssec-validation yes換成dnssec-enable no 和 dnssec-validation no。
配置/etc/named.rfc1912.zones文件
添加一個com域,類同於上面配置主DNS的magedu域一樣
/var/named/下需要配置一個com.zone域文件
vim /var/named/com.zone內容如下:
前面是SOA記錄,類同於magedu.zone域。此時需要配置三個NS,一個dns1的IP地址指向自己172.17.254.77,一個dns2的地址指向主DNS服務 器172.17.177.177,另一個dns3的地址指向從DNS服務器172.17.166.166。
此時comDNS已經配置完畢
dig www.jiabing.com @172.17.254.77 測試一下是否能訪問
五、配置根DNS服務器
配置/etc/named.conf文件
vim /etc/named.conf內容如下:
此時根文件就是自己,所以要配置一個根域,(因為根域直接就在/etc/named.conf中,所以就不用去/etc/named.rfc1912.zones裏面更改了)
配置/var/named/下root.zone
vim /var/named/root.zone內容如下:
上面的SOA類同。需要有兩個NS記錄,一個dns1指向自己172.17.133.133,另一個指向子域com172.17.254.77。
配置/var/named/named.ca文件(因為自己當根,所以只有一個根服務器)
vim /var/named/named.ca內容如下:
並且這個文件需要給comDNS 主機DNS 從DNS 小區DNS,都需要更改/var/named/named.ca和根下的/var/named/named.ca一樣。
六、配置小區DNS服務器
只需要編輯/etc/named.conf文件
配置內容同上
七、配置客戶端DNS
vim /etc/resolv.conf內容如下:
將DNS指向小區DNS的IP地址
此時客戶端就能通過網頁訪問www.jiabing.com 了,到此一個DNS大框架也就配置成功。。
在以上實驗中如果哪一步測試失敗,失敗原因可能是一下幾種
1、NXDOMAIN: 不存在的域名
查看/var/named/下文件是否寫錯。
2、REFUSED: 拒絕訪問
查看網絡是否通
3、no servers could be reached : DNS不可到達
查看服務是否開啟
4、SERVFAIL:
可能是權限的問題,或者別的問題,需要檢查權限
5、檢查防火墻和SELINUX
搭建一個簡易的DNS服務