bind搭建內網DNS伺服器架構(主從、子域授權、DNS轉發器)
實驗目的
- 模擬企業DNS服務架構伺服器及原理
實驗環境準備
實驗架構圖
實驗設備
- DNS伺服器4台
- 主伺服器master(centos8):IP_192.168.100.30,
- 從伺服器slave(rocky8):192.168.100.31
- 子域伺服器hn1(rocky8):192.168.100.36
- 其他域伺服器local(rocky8):192.168.100.12,用途:用於測試伺服器轉發
- 客戶端PC機2台
- PC1(win10):IP_192.168.100.1、DNS:[192.168.100.30、192.168.100.31]
- PC2(win10):IP_192.168.100.3、DNS:[192.168.100.12]
- 關閉SELinux、關閉防火牆、並時間同步
搭建內網DNS伺服器配置步驟
四台dns伺服器master、slave、hn1、loca安裝及通用配置
-
安裝bind軟體和工具
#centos/rocky安裝 yum -y install bind bind-utils #Ubuntu安裝 apt -y install bind9 bind9utils
-
主配置文件進行通用配置:/etc/named.conf
vim /etc/named.conf #注釋掉掉下列兩行,禁用listen-on:named服務埠可以讓其他主機訪問,禁用allow-query:允許任何人解析DNS服務記錄 #listen-on port 53 { 127.0.0.1; }; #allow-query { localhost; };
-
檢驗配置文件是否正常
#無資訊顯示配置文件正常 named-checkconf
-
設置開機啟動,並運行bind服務
systemctl enable --now named
-
驗證DNS埠服務是否正常
#DNS服務埠為udp/tcp:53埠、tcp:953埠 ss -utnlp|grep named
主(master)DNS伺服器搭建配置及驗證
-
master:配置DNS地址指向自身,並重啟網卡服務
vim /etc/sysconfig/network-scripts/ifcfg-ens32 #修改配置文件執行生效 nmcli connection reload #網路介面的啟用 nmcli connection up ens32 #驗證DNS是否生效 cat /etc/resolv.conf
-
master:配置主配置文件:/var/named/tyjz.net.zone
#1、同屬性複製配置模板文件named.localhos,修改文件名為:tyjz.net.zone cp -a /var/named/named.localhost /var/named/tyjz.net.zone #2、配置tyjz.net.zone文件 [03:44:18 root@centos8_30 ~]#vim /var/named/tyjz.net.zone 1 $TTL 1D 2 @ IN SOA master 1024320609.qq.com ( 20220839 1H 10M 1D 6H ) 3 NS master 4 master A 192.168.100.30 5 www A 192.168.100.31
-
master:配置主配置文件: /etc/named.rfc1912.zones
#1、編輯vim /etc/named.rfc1912.zones,增加下列配置參數 zone "tyjz.net" IN { type master; file "tyjz.net.zone"; };
-
master:檢驗主配置文件,並重載主配置文件和區域解析庫文件
#2、檢驗主配置文件 named-checkconf named-checkzone tyjz.net.zone /var/named/tyjz.net.zone #2、重載主配置文件和區域解析庫文件 rndc reload
-
PC1上驗證master伺服器是否正常解析域名
- PC1網路配置截圖
-
PC1:驗證ping www.tyjz.net 是否正常解析IP地址
-
PC1:驗證通過瀏覽器訪問 www.tyjz.net(備註:已在100.31伺服器安裝httpd服務)
從(slave)DNS伺服器搭建配置
-
slave:配置DNS地址指向自身和主域名伺服器,並重啟網卡服務
vim /etc/sysconfig/network-scripts/ifcfg-ens32 #修改配置文件執行生效 nmcli connection reload #網路介面的啟用 nmcli connection up ens32 #驗證DNS是否生效 cat /etc/resolv.conf
-
master:配置主配置文件:/var/named/tyjz.net.zone
#增加slave的NS記錄和A記錄,並修改版本序列號 [04:44:58 root@centos8_30 ~]#vim /var/named/tyjz.net.zone 1 $TTL 1D 2 @ IN SOA master 1024320609.qq.com ( 20220840 1H 10M 1D 6H ) 3 NS master 4 NS slave 5 master A 192.168.100.30 6 slave A 192.168.100.31 7 www A 192.168.100.31
-
master:檢驗主配置文件,並重載主配置文件和區域解析庫文件
#2、檢驗主配置文件 named-checkconf named-checkzone tyjz.net.zone /var/named/tyjz.net.zone #2、重載主配置文件和區域解析庫文件 rndc reload
-
slave:配置主配置文件: /etc/named.rfc1912.zones
#1、編輯vim /etc/named.rfc1912.zones,增加下列配置參數 zone "tyjz.net" IN { type slave; masters {192.168.100.30;}; file "slaves/tyjz.net.zone"; };
-
slave:檢驗主配置文件,並重載主配置文件和區域解析庫文件
#2、檢驗主配置文件 named-checkconf #2、重載主配置文件和區域解析庫文件 rndc reload #重載主配置文件後slav伺服器會自動向master伺服器拉取主配置文件:/var/named/slaves/tyjz.net.zone
-
驗證slave伺服器是否可以解析域名
-
PC1網路配置截圖,DNS指向192.168.100.31
-
對master伺服器進行斷網處理
-
PC1:驗證ping www.tyjz.net 是否正常解析IP地址
-
PC1:驗證通過瀏覽器訪問 www.tyjz.net(備註:已在100.31伺服器安裝httpd服務)
-
子域(hn)DNS伺服器搭建配置
-
hn1:配置DNS地址指向自身和主域名伺服器,並重啟網卡服務
vim /etc/sysconfig/network-scripts/ifcfg-ens160 nmcli connection reload #網路介面的啟用 nmcli connection up ens32 #驗證DNS是否生效 cat /etc/resolv.conf
-
master:配置主配置文件:/var/named/tyjz.net.zone
#添加hn1子域的NS記錄和A記錄,並增加版本序列號 [13:10:34 root@centos8_30 ~]#vim /var/named/tyjz.net.zone 1 $TTL 1D 2 @ IN SOA master 1024320609.qq.com ( 20220842 1H 10M 1D 6H ) 3 NS master 4 NS slave 5 hn NS hndns 6 master A 192.168.100.30 7 slave A 192.168.100.31 8 hndns A 192.168.100.36 9 www A 192.168.100.31
-
master:配置主配置文件:/etc/named.conf
#這兩項默認啟用安全模式設置為no dnssec-enable no; dnssec-validation no;
-
hn:配置子域配置文件:/var/named/hn.tyjz.net.zone
#1、同屬性複製配置模板文件named.localhost ,修改文件名為:hn.tyjz.net.zone cp -a /var/named/named.localhost /var/named/hn.tyjz.net #2、配置hn.tyjz.net.zone文件 [13:38:36 root@rocky8_36 ~]#vim /var/named/hn.tyjz.net 1 $TTL 1D 2 @ IN SOA master 1024320609.qq.com ( 20220842 1H 10M 1D 6H ) 3 NS master 4 master A 192.168.100.36 5 www A 192.168.100.10
-
hn:配置子域主配置文件: /etc/named.rfc1912.zones
#1、編輯vim /etc/named.rfc1912.zones,增加下列配置參數 zone "hn.tyjz.net" IN { type master; file "hn.tyjz.net.zone"; };
-
hn:檢驗子域主配置文件,並重載主配置文件和區域解析庫文件
#2、檢驗主配置文件 named-checkconf named-checkzone hn.tyjz.net.zone /var/named/hn.tyjz.net.zone #2、重載主配置文件和區域解析庫文件 rndc reload
-
驗證hn伺服器是否可以解析域名
-
PC1網路配置截圖,DNS指向192.168.100.30
-
PC1:驗證ping www.tyjz.net 是否正常解析IP地址
-
PC1:驗證通過瀏覽器訪問 www.tyjz.net(備註:已在100.10伺服器安裝httpd服務)
-
斷開master伺服器網路,再進行驗證是否能解析 www.tyjz.net域名
結果能夠正常解決,已驗證結果不符,其原因可能為Windows自帶帶緩
,因此需刷新Windows快取
-
DNS 轉發
-
實驗前說明
-
簡要說明
利用DNS轉發,可以將用戶的DNS請求,轉發至指定的DNS服務,而非默認的根DNS伺服器,並將指定 伺服器查詢的返回結果進行快取,提高效率。
-
注意
-
被轉發的伺服器需要能夠為請求者做遞歸,否則轉發請求不予進行
-
在/etc/named.conf的全局配置塊中,關閉dnssec功能
dnssec-enable no; dnssec-validation no;
-
-
轉發格式
-
全局轉發
Options { forward first|only; forwarders { ip;}; };
-
特定區域轉發
zone "ZONE_NAME" IN { type forward; forward first|only; forwarders { ip;}; };
-
選項說明
first:先轉發至指定DNS伺服器,如果無法解析查詢請求,則本伺服器再去根伺服器查詢 only: 先轉發至指定DNS伺服器,如果無法解析查詢請求,則本伺服器將不再去根伺服器查
-
-
實驗環境說明
1、快取伺服器:local伺服器 2、主伺服器:master伺服器 3、客戶端:PC2,DNS:192.168.100.12 4、實驗說明:先轉發至指定DNS伺服器,如果無法解析查詢請求,則本伺服器將不再去根伺服器查詢
-
-
master:主伺服器主配置文件配置
-
/var/named/tyjz.net.zone
-
/etc/named.rfc1912.zones
-
/etc/named.conf
-
-
local伺服器:配置:DNS指向自身:127.0.0.1
vim /etc/sysconfig/network-scripts/ifcfg-ens160 nmcli connection reload #網路介面的啟用 nmcli connection up ens160 #驗證DNS是否生效 cat /etc/resolv.conf
-
local伺服器:配置主配置文件:/var/named/tyjz.local.zone
#1、同屬性複製配置模板文件named.localhos,修改文件名為:tyjz.local.zone cp -a /var/named/named.localhost /var/named/tyjz.local.zone #2、配置tyjz.net.zone文件 [17:27:39 root@rocky8_12 ~]#vim /var/named/tyjz.local.zone 1 $TTL 1D 2 @ IN SOA master 1024320609.qq.com ( 20220842 1H 10M 1D 6H ) 3 NS master 4 master A 192.168.100.12 5 www A 192.168.100.10
-
local伺服器:配置主配置文件:/var/named/tyjz.local.zone
#1、編輯vim /etc/named.rfc1912.zones,增加下列配置參數 zone "tyjz.local" IN { type master; file "tyjz.local.zone"; };
-
local伺服器:配置主配置文件:/var/named/tyjz.local.zone
#1、編輯vim /etc/named.rfc1912.zones,增加下列前2行記錄以及2行關閉dnsec功能記錄 forward only; forwarders { 192.168.100.30;}; #關閉dnsec功能 dnssec-enable no; dnssec-validation no;
-
local伺服器:檢驗主配置文件,並重載主配置文件和區域解析庫文件
#2、檢驗主配置文件 named-checkconf named-checkzone tyjz.local.zone /var/named/tyjz.local.zone #2、重載主配置文件和區域解析庫文件 rndc reload
-
PC2,驗證local伺服器域名轉髮結果
-
PC2 DNS指向local伺服器
-
PC2 nslookup和ping master主伺服器域名:www.tyjz.net ,驗證local伺服器是否轉發master伺服器解析域名
-
為了驗證轉發特性,禁用master伺服器網路,驗證local伺服器在only模式下,轉發到master伺服器無法解析查詢請求,則local伺服器將不再去根伺服器查。
master伺服器網路未斷網前
master伺服器斷網後
-
為了驗證轉發特性,禁用master伺服器網路,驗證local伺服器在frist模式下,轉發到master伺服器無法解析查詢請求,則local伺服器將去根伺服器查。
master伺服器已禁用網路
-
DNS伺服器其他功能配置
CNAME別名配置,輪詢訪問IP地址,實現負載均衡(master伺服器測試為例)
-
實驗前說明
-
CNAME記錄格式
name: 別名的FQDN value: 真正名字的FQDN
-
實驗環境
1、實驗伺服器:master伺服器 2、別名(name):www,真正域名(value):websrc 3、別名對應的3個IP:192.168.100.10、192.168.100.30、192.168.100.31
-
-
master:配置主配置文件:
#增加master的別名CNAME記錄和主機A記錄,並增加版本序列號 [14:31:38 root@centos8_30 ~]#vim /var/named/tyjz.net.zone 1 $TTL 1D 2 @ IN SOA master 1024320609.qq.com ( 20220842 1H 10M 1D 6H ) 3 NS master 4 NS slave 5 hn NS hndns 6 www CNAME websrc 7 master A 192.168.100.30 8 slave A 192.168.100.31 9 hndns A 192.168.100.36 10 hndns A 192.168.100.36 11 websrc A 192.168.100.30 12 websrc A 192.168.100.31 13 websrc A 192.168.100.10
-
通過PC1驗證master解析別名
-
通過PC1 ping www.tyjz.net,驗證是否輪番IP地址
反向解析區域。
-
實驗前說明
-
簡要說明
反向區域:即將IP反向解析為FQDN(全稱域名) 區域名稱:網路地址反寫.in-addr.arpa.
-
配置文件格式
172.16.100. --> 100.16.172.in-addr.arpa.
-
使用環境說明
1、測試伺服器:master伺服器 2、域名解析網段:192.168.100.0 解析的ip地址: 192.168.100.10、192.168.100.30、192.168.100.31
-
區域定義格式
zone "ZONE_NAME" IN { type {master|slave|forward}; file "網路地址.zone" };
-
-
master:配置主配置文件:/var/named/192.168.100.zone,
#1、同屬性複製配置模板文件named.localhos,修改文件名為:192.168.100.zone cp -a /var/named/named.localhost /var/named/tyjz.net.zone #2、增加master的PTR記錄和主機A記錄,測並增加版本序列號 vim /var/named/192.168.100.zone 1 $TTL 1D 2 @ IN SOA master 1024320609.qq.com ( 20220826 3H 10M 1D 6H ) 3 NS master 4 master A 192.168.100.30 5 31 PTR www.oa.tyjz.net. 6 30 PTR www.ems.tyjz.net. 7 10 PTR www.hn.tyjz.net.
-
master:配置主配置文件:/etc/named.rfc1912.zones
#編輯vim /etc/named.rfc1912.zones,增加下列配置參數 zone "100.168.192.in-addr.arpa" IN { type master; file "192.168.100.zone"; };
-
master:檢驗主配置文件,並重載主配置文件和區域解析庫文件
#2、檢驗主配置文件 named-checkconf named-checkzone 192.168.100.zone /var/named/192.168.100.zone #2、重載主配置文件和區域解析庫文件 rndc reload
-
PC1:驗證master伺服器反向解析IP地址結果