1. 程式人生 > >Centos 7.5 部署DNS

Centos 7.5 部署DNS

loopback 聯網 修改dns images 均可 star fresh -s lld

1 DNS簡介

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

2 DNS域名

技術分享圖片
? 層次型的命名機制
– FQDN(完全合格域名)=計算機名+主DNS後綴
– Fully Qualified Domain Name
– 例: mp3.baidu.com

andy.ent.sina.com
news.163.com

3 DNS樹狀結構圖

技術分享圖片

4 DNS查詢類型

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

5 DNS解析的工作原理

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

技術分享圖片

6 DNS之BIND解析配置

BIND(Berkeley Internet Name Domain,伯克利因特網名稱域)服務是全球範圍內使用最廣泛、最安全可靠且高效的域名解析服務程序。DNS域名解析服務作為互聯網基礎設施服務,其責任之重可想而知,因此建議大家在生產環境中安裝部署bind服務程序時加上chroot(俗稱牢籠機制)擴展包,以便有效地限制bind服務程序僅能對自身的配置文件進行操作,以確保整個服務器的安全。

操作步驟如下:
6.1 環境準備
[root@DNS-servre ~]# cat /etc/redhat-release #查看系統版本
技術分享圖片
[root@DNS-servre ~]# uname -r #查看內核版本
技術分享圖片
[root@DNS-servre ~]# systemctl stop ebtables firewalld #關閉ebtables firewall防火墻
[root@DNS-servre ~]# systemctl disable ebtables firewalld #重啟不啟動ebtables firewall防火墻
技術分享圖片
[root@DNS-servre ~]# vim /etc/sysconfig/selinux 設置selinux 狀態為disabled
技術分享圖片
[root@DNS-servre ~]# setenforce 0 # 臨時將selinux設置為disabled
[root@DNS-servre ~]# getenforce #檢測selinux是否關閉
技術分享圖片
[root@DNS-servre ~]# ifconfig ens33 | awk -F ‘[ :]+‘ ‘NR==2{print $3}‘ #查看IP地址
技術分享圖片
[root@DNS-servre ~]# hostname #查看主機名
技術分享圖片
6.2 安裝bind軟件
[root@DNS-servre ~]# yum -y install bind
技術分享圖片
6.3 修改主配置文件
在Linux系統中,bind服務程序的名稱為named。首先需要在/etc目錄中找到該服務程序的主配置文件,然後把第13行和第19行的地址均修改為any,分別表示服務器上的所有IP地址均可提供DNS域名解析服務,以及允許所有人對本服務器發送DNS查詢請求。這兩個地方一定要修改準確。
[root@DNS-servre ~]# vim /etc/named.conf
技術分享圖片
6.4 修改解釋配置文件
bind服務程序的區域配置文件(/etc/named.rfc1912.zones)用來保存域名和IP地址對應關系的所在位置。在這個文件中,定義了域名與IP地址解析規則保存的文件位置以及服務類型等內容,而沒有包含具體的域名、IP地址對應關系等信息。服務類型有三種,分別為hint(根區域)、master(主區域)、slave(輔助區域),其中常用的master和slave指的就是主服務器和從服務器。將域名解析為IP地址的正向解析參數和將IP地址解析為域名的反向解析參數
技術分享圖片
正向解析參數
技術分享圖片
反向解析參數
編輯vim /etc/named.rfc1912.zones這個配置文件。設置正向解析和反向解析的文件存放位置。
[root@DNS-servre ~]# vim /etc/named.rfc1912.zones
技術分享圖片
6.5 修改DNS正向解析文件
[root@DNS-servre ~]# cp -a /var/named/named.localhost /var/named/vancen.com.zone #拷貝正向解析文件模板
技術分享圖片
[root@dns-server ~]#vim /var/named/vancen.com.zone #編輯正向解析配置文件
技術分享圖片
各選項解釋:
$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 #拷貝反向解析文件模板
技術分享圖片
[root@DNS-servre ~]# vim /var/named/192.168.1.arpa #編輯反向解析文件
技術分享圖片
各選項解釋:
$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服務狀態
技術分享圖片
Active (running)正在運行狀態
6.8 修改網卡DNS解析條目
[root@dns-server ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
技術分享圖片
6.9 重啟網卡服務
[root@dns-server ~]# systemctl restart network #重啟網卡服務
[root@dns-server ~]# systemctl status network #查看網卡服務狀態
技術分享圖片
6.10 測試DNS解析
[root@DNS-servre ~]# nslookup
技術分享圖片

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; };
};

技術分享圖片
重啟主服務器的DNS服務程序
[root@DNS-servre ~]# systemctl restart named
[root@DNS-servre ~]# systemctl status named
技術分享圖片
第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";
};
技術分享圖片
重啟DNS服務
[root@DNS-slave ~]# systemctl restart named
[root@DNS-slave ~]# systemctl status named
技術分享圖片
第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
技術分享圖片
修改從DNS服務器的DNS地址
[root@DNS-slave ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
技術分享圖片
重啟network服務
[root@DNS-slave ~]# systemctl restart network
[root@DNS-slave ~]# systemctl status network
技術分享圖片
測試DNS解析
[root@DNS-slave ~]# nslookup

技術分享圖片

Centos 7.5 部署DNS