1. 程式人生 > 實用技巧 >安全之路——Linux上搭建DNS伺服器及相關知識

安全之路——Linux上搭建DNS伺服器及相關知識

DNS相關知識

描述:將域名和IP地址進行相互對映的一個分散式資料庫,其中相互對映的意思就是,解析域名則映射出IP地址,解析IP地址則映射出域名。
執行埠:53 TCP/UDP
功能
(1)正向解析:根據域名查詢對應的IP地址 #dig www.baidu.com
(2)反向解析:根據IP地址查詢對應的域名 #dig -x 163.177.151.110,但是反向解析的時候,需要IP是能夠被反向解析的,否則就不會被解析出域名。
圖片.png
服務型別
(1)授權DNS:直接提供域名解析服務,併為遞迴DNS提供最終結果解答的DNS
(2)遞迴DNS:不直接提供域名解析服務,主要作用是快取已請求的域名解析結果,提供未解析域名的遞迴請求。

常見的記錄型別
A記錄:主機記錄,用於記錄指定主機(域名)對應的IP地址記錄
NS記錄:域名伺服器記錄,用於指定該域名由哪個DNS來進行解析
MX記錄:郵件交換記錄,其指向郵件伺服器,用於發郵件時根據收件人後綴來定位郵件伺服器
CNAME記錄:別名記錄 #將多個名字對映到同一臺主機上
TXT記錄:一般指的是主機名或域名的說明
PTR記錄:常被用於反向地址解析,是電子郵件系統中郵件交換記錄的一種
SOA記錄(起始授權機構):表明了DNS伺服器之間的關係、表明了誰是這個區域的所有者,比如www.baidu.com 中的baidu.com這個二級區域。一個DNS伺服器安裝後需要建立一個區域,以後這個區域的查詢解析,都是通過DNS伺服器來完成的,而剛剛提到的“區域的所有者”,就是誰對這個區域有修改許可權。常見的DNS伺服器只能建立一個標準區域,然後可以建立很多個輔助區域,其中標準區域是可以進行讀寫修改的,而輔助區域只能通過標準區域複製來完成,不能直接在輔助區域中進行修改,而建立標準區域的DNS就會有SOA記錄,或者準確地說,SOA記錄中的主機地址一定是這個標準區域的伺服器IP地址

相關示例
圖片.png
圖片.png
圖片.png
DNS的系統結構呈樹狀:
圖片.png
域和域名
描述: 點( . )是域,是所有其他域的起始點
例如:
com. 、net. 、info. 是域
acl.com. 、tool.net. 、yy.info. 也是域
www.acl.com. 、game.qq.com. 則是域名,從這裡可以解析出IP地址,同時它也是一個域,它有自己SOA記錄以及NS記錄。

:在DNS中域和域名沒有嚴格區分,其區別在於有沒有定義ZONE
Zone:是bind服務中所使用的資料庫,其中包含了所有的DNS記錄(但是不包括子域的記錄,例如www)

DNS解析過程兩種方式:(1)權威DNS (2)遞迴DNS
在這裡插入圖片描述

搭建DNS伺服器

預備知識
DNS伺服器的相關配置檔案

  • 主配置檔案:/etc/named.conf
  • 解析資料檔案儲存位置:/var/named

檢視主配置檔案/etc/named.conf 部分內容:
在這裡插入圖片描述
在這裡插入圖片描述
在解析檔案的存放位置/var/named/中,檢視根伺服器儲存地址named.ca的檔案內容
在這裡插入圖片描述
搭建步驟
1、yum install bind* ,安裝搭建DNS伺服器所使用的bind工具

2、systemctl start named
啟動服務,bind所對應的服務名稱為named,其埠為53埠

3、hostnamectl set-hostname ns.taobao.com
修改主機名,為後續的區域配置檔案做準備,若設定預設的主機名,可能會出現解析失敗的情況,hostname是本地使用者的名字,會限制dns對所有人都可以解析,通過hostname可以判斷當時伺服器在做什麼工作。
圖片.png
4、關閉網路管理服務
systemctl stop NetworkManager
systemctl disable NetworkManager
要關閉該服務,若不關閉該服務的話,重啟電腦之後,一些DNS及網絡卡的配置資訊會被該服務接管,NetworkManager 接管之後,就會篡改我們的一些資料,所以為了避免被 NetworkManager接管,就需要停止以及關閉自啟動該服務。

5、查詢是否正確關閉 NetworkManager服務
systemctl list-unit-files | grep NetworkManager
在這裡插入圖片描述
6、vim /etc/sysconfig/network-scripts/ifcfg-ens33
關閉NetworkManager服務之後,我們還需要單獨給網絡卡服務啟動,即,在該配置檔案的末尾新增 NM_CONTROLLED=“no”,拒絕 NetworkManager 接管網路

7、systemctl restart network
修改完成之後需要重啟網絡卡生效

8、vim /etc/named.conf
環境搭建完成之後,就需要配置一個我們的域名,即修改bind服務的配置檔案
在這裡插入圖片描述
9、修改完上面的配置檔案之後還需要重啟及設定自啟動named
systemctl restart named
systemctl enable named
PS: 若53埠被打開了,就表明bind服務能夠正常地對外進行域名解析了
在這裡插入圖片描述
10、測試是否能夠以本機IP地址為DNS伺服器,對www.baidu.com解析
在這裡插入圖片描述
11、上面測試結果成功,故表示能夠對外提供訪問了,但是不能單單隻提供對外訪問,還需要讓外邊的主機來訪問自己搭建的這個DNS伺服器,竊取個人資訊,這時候就需要給bind服務的配置檔案/etc/named.conf新增欺騙區(zone) ,其中修改及新增內容為下圖59行至67行:
在這裡插入圖片描述
12、進入到儲存解析檔案的資料夾/var/named下檢視一些其他的配置檔案:
在這裡插入圖片描述
/var/named 資料夾下有個叫 named.localhost 的檔案,該檔案就是我們生成每一個zone區的模板,需對它修改成我們自己的zone區:
cp -a named.localhost taobao.com.zone
#建立正向區域解析檔案
cp -a named.localhost 142.168.192.in-addr.arpa.zone
#建立反向區域解析檔案
在這裡插入圖片描述
13、建立正\反向區域解析檔案完成後,還需要對這兩個檔案進行宣告配置:
(1)配置正向解析:vim taobao.com.zone
在這裡插入圖片描述
(2)配置反向解析:vim 142.168.192.in-addr.arpa.zone
在這裡插入圖片描述
14、修改完成正\反向解析的區配置檔案後,還需要進行語法檢查:
named-checkconf
#檢查配置檔案(/etc/named.conf)是否存在問題
named-checkconf -z
#檢查正反向區域的配置檔案是否存在問題
在這裡插入圖片描述
15、檢查完成確定無報錯後,需要重啟服務生效並測試正向解析:
systemctl restart named
dig www.taobao.com @192.168.142.148
在這裡插入圖片描述
16、測試反向解析:
由於在反向解析區域配置中,設定177、190兩個反向IP所對映的的域名分別是mail.taobao.com與youku.taobao.com
即測試語句為:
dig -x 192.168.142.177 @192.168.142.148
dig -x 192.168.142.190 @192.168.142.148
在這裡插入圖片描述
在這裡插入圖片描述
至此,一個簡單的DNS伺服器搭建完成.

水平有限,學習小記一番,一起學習,一起成長.