实验目的
- 模拟企业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地址结果