Centos 7.5 部署DNS

1 DNS簡介

域名系統(Domain Name System, DNS)是互聯網的核心應用層協議之一, 它用於查詢域名對應的IP地址.在使用域名訪問任何網絡資源時都需要先進行域名解析。DNS (Domain Name Server) 域名解析服務,他可以完成域名與IP地址的互換,可以通過IP地址解析到域名,也可以通過域名解析到IP地址,IP地址是平面結構,且不容易記住,DNS是層次化的結構,便於記憶。

2 DNS域名

Centos 7.5 部署DNS
• 層次型的命名機制
– FQDN(完全合格域名)=計算機名+主DNS後綴
– Fully Qualified Domain Name
– 例: mp3.baidu.com
andy.ent.sina.com
news.163.com

3 DNS樹狀結構圖

Centos 7.5 部署DNS

4 DNS查詢類型

4.1 遞歸查詢
DNS請求被服務器接受後,如果屬於此服務器管轄範圍則請求上級服務器依次傳遞請求,並且依次傳遞結果給發出請求的主機。
在一個遞歸查詢中,服務器要麼返回客戶請求的信息的答案,要麼返回一個指出該信息不存在的錯誤消息,DNS服務器不會嘗試聯繫別的服務器以獲取信息
Centos 7.5 部署DNS
4.2 迭代查詢
DNS請求被服務器接受後,如果不是自己管轄範圍,讓客戶端訪問根域服務器,然後跟域通知客戶端去訪問下級服務器,直到最後客戶端訪問管轄請求域名的服務器爲止。
Centos 7.5 部署DNS
注意:正反向解析是兩個不同的名稱空間,是兩棵不同的解析樹,因此,也不是同一個解析庫

5 DNS解析的工作原理

當用戶向網絡指定的DNS服務器發起一個域名請求時,通常情況下會有本地由此DNS服務器向上級的DNS服務器發送迭代查詢請求;如果該DNS服務器沒有要查詢的信息,則會進一步向上級DNS服務器發送迭代查詢請求,直到獲得準確的查詢結果爲止。

Centos 7.5 部署DNS

6 DNS之BIND解析配置

BIND(Berkeley Internet Name Domain,伯克利因特網名稱域)服務是全球範圍內使用最廣泛、最安全可靠且高效的域名解析服務程序。DNS域名解析服務作爲互聯網基礎設施服務,其責任之重可想而知,因此建議大家在生產環境中安裝部署bind服務程序時加上chroot(俗稱牢籠機制)擴展包,以便有效地限制bind服務程序僅能對自身的配置文件進行操作,以確保整個服務器的安全。
操作步驟如下:
6.1 環境準備
[root@DNS-servre ~]# cat /etc/redhat-release #查看系統版本
Centos 7.5 部署DNS
[root@DNS-servre ~]# uname -r #查看內核版本
Centos 7.5 部署DNS
[root@DNS-servre ~]# systemctl stop ebtables firewalld #關閉ebtables firewall防火牆
[root@DNS-servre ~]# systemctl disable ebtables firewalld #重啓不啓動ebtables firewall防火牆
Centos 7.5 部署DNS
[root@DNS-servre ~]# vim /etc/sysconfig/selinux 設置selinux 狀態爲disabled
Centos 7.5 部署DNS
[root@DNS-servre ~]# setenforce 0 # 臨時將selinux設置爲disabled
[root@DNS-servre ~]# getenforce #檢測selinux是否關閉
Centos 7.5 部署DNS
[root@DNS-servre ~]# ifconfig ens33 | awk -F '[ :]+' 'NR==2{print $3}' #查看IP地址
Centos 7.5 部署DNS
[root@DNS-servre ~]# hostname #查看主機名
Centos 7.5 部署DNS
6.2 安裝bind軟件
[root@DNS-servre ~]# yum -y install bind
Centos 7.5 部署DNS
6.3 修改主配置文件
在Linux系統中,bind服務程序的名稱爲named。首先需要在/etc目錄中找到該服務程序的主配置文件,然後把第13行和第19行的地址均修改爲any,分別表示服務器上的所有IP地址均可提供DNS域名解析服務,以及允許所有人對本服務器發送DNS查詢請求。這兩個地方一定要修改準確。
[root@DNS-servre ~]# vim /etc/named.conf
Centos 7.5 部署DNS
6.4 修改解釋配置文件
bind服務程序的區域配置文件(/etc/named.rfc1912.zones)用來保存域名和IP地址對應關係的所在位置。在這個文件中,定義了域名與IP地址解析規則保存的文件位置以及服務類型等內容,而沒有包含具體的域名、IP地址對應關係等信息。服務類型有三種,分別爲hint(根區域)、master(主區域)、slave(輔助區域),其中常用的master和slave指的就是主服務器和從服務器。將域名解析爲IP地址的正向解析參數和將IP地址解析爲域名的反向解析參數
Centos 7.5 部署DNS
正向解析參數
Centos 7.5 部署DNS
反向解析參數
編輯vim /etc/named.rfc1912.zones這個配置文件。設置正向解析和反向解析的文件存放位置。
[root@DNS-servre ~]# vim /etc/named.rfc1912.zones
Centos 7.5 部署DNS
6.5 修改DNS正向解析文件
[root@DNS-servre ~]# cp -a /var/named/named.localhost /var/named/vancen.com.zone #拷貝正向解析文件模板
Centos 7.5 部署DNS
[root@dns-server ~]#vim /var/named/vancen.com.zone #編輯正向解析配置文件
Centos 7.5 部署DNS
各選項解釋:
$TTL 1D #生存週期爲1天
@ IN SOA vancen.com. root. vancen.com. (
#授權信息開始: #DNS區域的地址 #域名管理員的郵箱(不要用@符號)
0;serial #更新序列號
1D;refresh #更新時間
1H;retry #重試延時
1W;expire #失效時間
3H;)minimum #無效解析記錄的緩存時間
NS DNS-server. vancen.com. #域名服務器記錄
DNS-server IN A 192.168.1.242 #地址記錄(DNS-server.vancen.com.)
FTP IN A 192.168.1.112 #地址記錄(ftp.vancen.com.)
www IN A 192.168.1.242 #地址記錄(www.vancen.com.)
oa IN A 192.168.1.224 #地址記錄(oa.vancen.com.)
blog IN A 192.168.1.202 #地址記錄(blog.vancen.com.)
6.6 修改DNS反向解析文件
[root@DNS-servre ~]# cp -a /var/named/named.loopback /var/named/192.168.1.arpa #拷貝反向解析文件模板
Centos 7.5 部署DNS
[root@DNS-servre ~]# vim /var/named/192.168.1.arpa #編輯反向解析文件
Centos 7.5 部署DNS
各選項解釋:
$TTL 1D #生存週期爲1天
@ IN SOA vancen.com. root. vancen.com. (
#授權信息開始: #DNS區域的地址 #域名管理員的郵箱(不要用@符號)
0;serial #更新序列號
1D;refresh #更新時間
1H;retry #重試延時
1W;expire #失效時間
3H;)minimum #無效解析記錄的緩存時間
NS DNS-server. vancen.com. #域名服務器記錄
DNS-server IN A 192.168.1.242 #地址記錄(ns. vancen.com.)
242 PTR ns.vancen.com. #PTR爲指針記錄,僅用於反向解析中。
242 PTR www.vancen.com. #PTR爲指針記錄,僅用於反向解析中。
200 PTR blog.vancen.com. #PTR爲指針記錄,僅用於反向解析中。
112 PTR ftp.vancen.com. #PTR爲指針記錄,僅用於反向解析中。
224 PTR oa. vancen.com. #PTR爲指針記錄,僅用於反向解析中。
6.7 重啓DNS服務
[root@DNS-servre ~]# systemctl start named #重啓named服務
[root@DNS-servre ~]# systemctl enable named #下次重啓啓動named服務
[root@DNS-servre ~]# systemctl status named #查看named服務狀態
Centos 7.5 部署DNS
Active (running)正在運行狀態
6.8 修改網卡DNS解析條目
[root@dns-server ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
Centos 7.5 部署DNS
6.9 重啓網卡服務
[root@dns-server ~]# systemctl restart network #重啓網卡服務
[root@dns-server ~]# systemctl status network #查看網卡服務狀態
Centos 7.5 部署DNS
6.10 測試DNS解析
[root@DNS-servre ~]# nslookup
Centos 7.5 部署DNS

7 部署從服務器

作爲重要的互聯網基礎設施服務,保證DNS域名解析服務的正常運轉至關重要,只有這樣才能提供穩定、快速且不間斷的域名查詢服務。在DNS域名解析服務中,從服務器可以從主服務器上獲取指定的區域數據文件,從而起到備份解析記錄與負載均衡的作用,因此通過部署從服務器可以減輕主服務器的負載壓力,還可以提升用戶的查詢效率。
在本實驗中,主服務器與從服務器分別使用的操作系統和IP地址如下:
主機名稱 操作系統 IP地址
主服務器 Centos 7.5 192.168.1.242
從服務器 Centos 7.5 192.168.1.202
第1步:在主服務器的區域配置文件中允許該從服務器的更新請求修改allow-update {允許更新區域信息的主機地址;};參數,然後重啓主服務器的DNS服務程序。
[root@dns-server ~]# vim /etc/named.rfc1912.zones
zone "vancen.com" IN {
type master;
file "vancen.com.zone";
allow-update { 192.168.1.202; };
};

zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.arpa";
allow-update { 192.168.1.202; };
};

Centos 7.5 部署DNS
重啓主服務器的DNS服務程序
[root@DNS-servre ~]# systemctl restart named
[root@DNS-servre ~]# systemctl status named
Centos 7.5 部署DNS
第2步:在從服務器中填寫主服務器的IP地址與要抓取的區域信息,然後重啓服務。
注意此時的服務類型應該是slave(從),而不再是master(主)。masters參數後面應該爲主服務器的IP地址,而且file參數後面定義的是同步數據配置文件後要保存到的位置,稍後可以在該目錄內看到同步的文件。
[root@DNS-slave ~]# vim /etc/named.rfc1912.zones
zone "vancen.com" IN {
type slave;
masters { 192.168.1.242; };
file "slaves/vancen.com.zone";
};
zone "1.168.192.in-addr.arpa" IN {
type slave;
masters {192.168.1.242; };
file "slaves/192.168.1.arpa";
};
Centos 7.5 部署DNS
重啓DNS服務
[root@DNS-slave ~]# systemctl restart named
[root@DNS-slave ~]# systemctl status named
Centos 7.5 部署DNS
第3步:檢驗解析結果。當從服務器的DNS服務程序在重啓後,一般就已經自動從主服務器上同步了數據配置文件,而且該文件默認會放置在區域配置文件中所定義的目錄位置中。隨後修改從服務器的網絡參數,把DNS地址參數修改成192.168.1.202,這樣即可使用從服務器自身提供的DNS域名解析服務。最後就可以使用nslookup命令順利看到解析結果了。
[root@DNS-slave ~]# cd /var/named/slaves/
[root@DNS-slave slaves]# ls
192.168.1.arpa vancen.com.zone
Centos 7.5 部署DNS
修改從DNS服務器的DNS地址
[root@DNS-slave ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
Centos 7.5 部署DNS
重啓network服務
[root@DNS-slave ~]# systemctl restart network
[root@DNS-slave ~]# systemctl status network
Centos 7.5 部署DNS
測試DNS解析
[root@DNS-slave ~]# nslookup

Centos 7.5 部署DNS

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