1.DNS服務器簡介
域名系統(英文:Domain Name System,縮寫:DNS)是因特網的一項服務。它作為將域名和IP地址相互映射的一個分布式數據庫,能夠使人更方便的訪問互聯網。DNS 使用TCP和UDP端口53。當前,對於每一級域名長度的限制是63個字符,域名總長度則不能超過253個字符。
在dns出現之前,我們把域名和IP的對照存放在/etc/hosts文件裡邊,但是隨著IP的不斷增大,使用文件存放顯得不夠了。而且不利於和其他的主機進行同步,DNS應運而生。
DNS的結構:他是利用樹形目錄的架構。將主機名的管理分配在不同層級的DNS服務器,讓每一層的修改和查找都變得功能單一。
DNS查詢主機名的流程:
(1)先在本機有沒有記錄,沒有的話向(.root)查詢;
(2)向最頂層的.查詢;
(3)然後分層的查詢,每次只查詢它所對的下一層。
(4)查到之後記錄緩存,並且將路徑返回給用戶。
注:在系統中我們可以通過dig命令進行路徑追蹤。
工作流程如圖所示:
?2.搭建DNS服務器
?
?
?今天我們來自己搭建一個DNS服務器,這樣的需求在公司的內部還是有的。
?
?首先我們來查找安裝dns的包有那些:
?

?
?安裝dns服務器:
?

?
?開啟服務後看到dns服務開啟的端口號是53:
?

?
?接下來我們要修改配置文件提供相應的服務,這裡我們為了安全期間,在/var/named/chroot的目錄下修改配置文件,而不直接對/etc/named目錄下的文件進行修改,兩者是同步的,但是有一個約束條件,前者只有在dns開啟成功的情況下才能使用!!!
?
?

?
?我們在選項中關閉了ipv6的開放,而且允許任意用戶使用。
?
?

?
主配置文件的最後兩行分別是副配置文件和我們的dns加密文件:
?

?(1)DNS的正向解析:
?我們依次來查看:
?
?

?
?我們來設置自己的域名系統,上邊的是模板,底下的我們指定了域名配置文件的名稱,這個要自己創建,位置在/var/named/chroot/var/named下:
?
?

?
?這個目錄底下也有域名配置文件的模板,我們拷貝一份並進行設置:
?
?

?
這個是初始模樣,請務必記住,並且和修改之後的進行對比:
?
?

?
?修改之後的:
?
?

?
?注意:這裡的@等於example.com. 所以在最後兩行,如果沒有把域名補全的話,系統會把@所代表的值添加到末尾,並且注意每個com後邊還有一個點。
?
?這個時候我們重啟服務,並且查看火牆是否已經關閉:
?
?

?
?服務端設置好之後,我們在另外一台機子上訪問dns服務器。
?
?首先要做的就是修改ifcfg-eth0文件裡的DNS1參數為指定DNS服務器的IP:192.168.2.100.然後重新啟動network服務:
?
?

?
?

?重新啟動network:
?
?

?
?

?
?我們追蹤了一下,發現可以找到www.example.com,並且dns服務器為192.168.2.100這就說明我麼之前的dns服務器配置是沒有問題的。
?
?
?上述部分是dns服務器的正向解析,同時我們還知道dns具有反向解析的能力,那如何實現呢,當然還是要修改配置文件了,與正向解析的步驟差別不大。
?
?(2)DNS的反向解析:
?
?回到副配置文件中,在目錄/var/named/chroot/etc下:
?
?

?
?看到我們IP的書寫格式了麼,是的,既然是反向解析,IP的書寫順序也是相反的,並且指定了配置文件:
?
?

?
?跳轉到配置文件目錄,首先我們拷貝反向解析配置文件的模板,然後進行編輯:
?
?

?
?這個是模板的格式:
?
?

?
?我們修改之後的樣子:
?
?
?記住最後一行,它代表的意思是192.168.2.200所對應的域名是ptr.example.com.這個是我們等會檢驗配置是否正確的標准。
?
?退出保存後重啟dns服務:
?
?

?
?回到客戶機我們來反向解析一下192.168.2.200是什麼域名:
?
?

?
?小結:
?
? 如上所講,dns的正向解析和反向解析已經完成,但是這樣的功能有點單一化,事實上它還有些不使用,比如說如何去同步的修改,如何和dhcp共同協作提供ddns的服務,這些我們在下節講解。
?