目录
一、引言
二、本次实验要求
(1)实现DNS的正向解析服务
(2)实现DNS的反向解析服务
(3)实现DNS的主从服务器(配置从服务器)
三、搭建DNS域名解析服务器
(1)下载域名解析服务程序(Bind)
(2)Bind服务的关键文件
(3)设置关键文件的基本参数
① 设置/etc/name.conf 主配置文件
编辑
② 查看/etc/named.rfc1912.zones 文件
③查看/var/named文件夹
四、实验一:实验DNS正向解析
(1)第一步:修改/etc/named.rfc1912.zones文件
(2)第二步:编辑数据配置文件
1)复制
2)编辑刚复制的文件
3)重启服务
4) 客户端验证
1.修改客户端原有的 DNS 解析服务器 IP 地址
2.正向解析结果验证
五、实验二:实现DNS的反向解析服务
(1) 第一步:修改/etc/named.rfc1912.zones文件
(2) 第二步:编辑数据配置文件
1) 复制
2) 编辑刚复制的文件
3) 重启服务
4) 客户端验证
六、实验三:实现DNS的主从服务器
(1)第一步:在从服务器上搭建DNS域名解析服务器
(2)第二步:修改服务器的/etc/named.rfc1912.zones文件
(3)第三步:重启服务
(4)验证
结语
一、引言
在日常访问网站时,我们通常只需要输入一个容易记忆的域名,例如 www.example.com,而不需要记住复杂的 IP 地址。这背后依靠的就是 DNS 域名解析服务。DNS 的主要作用是将域名和 IP 地址进行对应转换,使用户能够更方便地访问网络资源。
本篇博客将以实验的方式,介绍如何在 Linux 系统中使用 BIND 搭建 DNS 域名解析服务器。文章会从 DNS 服务的基本配置文件入手,逐步完成正向解析、反向解析以及主从 DNS 服务器的配置。对于刚接触 DNS 的新手来说,可以通过这些实验了解 DNS 的基本工作流程,熟悉 BIND 服务的常用配置方法,并掌握客户端验证解析结果的基本操作。
二、本次实验要求
(1)实现DNS的正向解析服务
(2)实现DNS的反向解析服务
(3)实现DNS的主从服务器(配置从服务器)
三、搭建DNS域名解析服务器
(1)下载域名解析服务程序(Bind)
下载命令:
dnf install bind -y※※温馨提醒※※
如果使用的版本过高可能会出现以下的报错:
这是存在文件冲突,可以使用下列命令解决:
1.删除软件包缓存 dnf clean packages 2.文件替换 dnf swap openssl-fips-provider-so openssl-fips-provider -y(2)Bind服务的关键文件
- /etc/named.conf: 主配置文件,用于设置bind服务程序的运行
- /etc/named.rfc1912.zones:区域配置文件(zone),用于保存域名和IP地址对应关系文件的所在位置
- /var/named:数据配置文件目录,该目录存储保存域名和IP地址映射关系的数据文件
(如果你还是看不太懂这几个文件是做什么的,请继续看下去!!后面你会恍然大悟的)
(3)设置关键文件的基本参数
① 设置/etc/name.conf 主配置文件
vim /etc/named.conf本次实验我们只需要修改这个部分(10-20)
修改第11、12、19行,并配置DNS转发,命令如下:
# 修改为监听本机所有 IPv4 地址和 IPv6 地址 listen-on port 53{any;}; listen-on-v6 port 53{any;}; # 允许所有客户端向本服务器发送 DNS 查询 allow-query { any; }; # 开启 DNS 转发 forward only # 转发给 8.8.8.8 谷歌服务器 forwarders{8.8.8.8;};结果为:
② 查看/etc/named.rfc1912.zones 文件
vim /etc/named.rfc1912.zones在实验开始前无需设置。
③查看/var/named文件夹
在实验开始前无需进行设置。
四、实验一:实验DNS正向解析
实验准备:实现本实验我们需要三台虚拟机,一台主服务器和一台客户端。
实验一的本质就是要通过域名查看对应的 IP 地址
(1)第一步:修改/etc/named.rfc1912.zones文件
为了保证源文件的不变性,我们采用复制23-27行的方法:
# 进入末行模式 : # 将23-27行复制到28行之后 : 23,27 co 28该文件修改两个部分:
- 正向解析域名 (localhost的位置)
- 域名与IP地址规则文件存储位置(file后面部分)
zone "shaanxi.gov.cn" IN { type master; file "shaanxi.gov.cn.zone"; allow-update { none; }; };结果为:
(2)第二步:编辑数据配置文件
1)复制
利用cp -a命令把/var/named.localhost复制为我们上文写的shaanxi.gov.cn.zone文件。
操作命令如下:
cp -a /var/named/named.localhhost /var/named/正向解析域名 # -a 确保保留文件原有的所有属性 例: cp -a /var/named/named.localhhost /var/named/shaanxi.gov.cn.zone结果如下:
2)编辑刚复制的文件
vim /var/named/正向解析域名结果如下:
对上述图片内容的解析:
$TTL 1D # 生存时间为1天 @ IN SOA @ rname.invalid. ( # '@'表示zone域,现在表示域名 0 ; serial # 序列号,10位以内的整数 1D ; refresh # 更新频率为1天 1H ; retry # 失败重试时间为1小时 1W ; expire # 失效时间1周 3H ) ; minimum # 缓存时间为3小时 NS @ A 127.0.0.1 # A:表示IPv4地址, AAAA表示IPv6地址 AAAA ::1修改内容如下:
1 $TTL 1D 2 @ IN SOA ns.正向解析域名. 邮箱. ( 3 0 ; serial 4 1D ; refresh 5 1H ; retry 6 1W ; expire 7 3H ) ; minimum 8 NS ns.shaanxi.gov.cn. 9 ns.正向解析域名. IN A 域名解析服务器IP地址 10 www.正向解析域名. IN A 域名解析服务器IP地址 例如: 1 $TTL 1D 2 @ IN SOA ns.shaanxi.gov.cn. 1314520.qq.com. ( 3 0 ; serial 4 1D ; refresh 5 1H ; retry 6 1W ; expire 7 3H ) ; minimum 8 NS ns.shaanxi.gov.cn. 9 ns.shaanxi.gov.cn. IN A 192.168.236.132 10 www.shaanxi.gov.cn. IN A 192.168.236.1323)重启服务
命令如下:
systemctl restart named⚠ 如果没有任何提示,则成功重启,反之存在错误。⚠
4) 客户端验证
1.修改客户端原有的 DNS 解析服务器 IP 地址
# 修改DNS服务器IP地址 nmcli connection modify ens160 ipv4.dns DNS服务器IP地址 # 激活网卡 nmcli connection up ens160 # 例: nmcli connection modify ens160 ipv4.dns 192.168.236.135结果如下:
2.正向解析结果验证
操作命令如下:
nslookup 域名 # 例: nslookup www.shaanxi.gov.cn结果如下:
服务端成功解析出域名的 IP ,至此,实验一完成。
五、实验二:实现DNS的反向解析服务
实验准备:实现本实验我们需要三台虚拟机,一台主服务器和一台客户端。
实验二本质就是实验一的反向结果,通过 IP 地址获得对应的域名
(1) 第一步:修改/etc/named.rfc1912.zones文件
vim /etc/named.rfc1912.zones与实验一步骤基本相同这里仅展示结果(不进行赘述):
(2) 第二步:编辑数据配置文件
1) 复制
cp -a /var/named/named.loopback /var/named/192.168.236.arpa结果如下:
2)编辑刚复制的文件
vim /var/named/192.168.236.arpa结果如下:
3) 重启服务
systemctl restart named⚠ 如果没有任何提示,则成功重启,反之存在错误。⚠
4) 客户端验证
因为在实验一已经修改过客户端的DNS服务器 IP 地址,实验二就不在赘述修改。
验证结果如下:
服务端成功解析出 IP 所对应的域名 ,至此,实验二完成
六、实验三:实现DNS的主从服务器
实验准备:实现本实验我们需要三台虚拟机,一台主服务器、一台从服务器。
( 注:为了减少篇幅这里的主服务器就采用与实验二的主服务器一致,主要是讲解从服务器的配置方式。)
(1)第一步:在从服务器上搭建DNS域名解析服务器
操作详情请看第三章节👆的部分。
(2)第二步:修改服务器的/etc/named.rfc1912.zones文件
声明:本次实验中所使用的主服务器 IP 地址为:192.168.236.135,从服务器 IP 地址为:192.168.236.136 ,客户端 IP 地址为:192.168.236.134
操作命令为:
vim /etc/named.rfc1912.zones⏰修改部分已用框标识⏰
- 主服务器修改
将原来的allow-update { none;}改成allow-transfer{192.168.236.136;}
意思是:同步取本机的DNS区域解析记录到从服务器
从服务器修改:
(3)第三步:重启服务
重启服务命令:(注:主服务器和从服务都要进行重启)
systemctl restart named结果如下:
注意:当从服务器的 DNS 服务程序在重启后,就自动从主服务器上同步了数据配置文件,且该文件默认会放置在区域配置文件中所定义的目录位置中
(4)验证
将从服务器的DNS服务器IP地址改为自身
nmcli con modify ens160 ipv4.dns 192.168.236.136 nmcli con up ens160进行结果验证:
从服务器成功解析,至此,实验三完成。
结语
DNS 配置中最重要的是理解各个文件的作用,例如主配置文件、区域配置文件以及数据解析文件之间的关系。只要掌握了这些基本思路,再结合客户端测试命令进行验证,就能够更清楚地理解 DNS 服务的运行过程。后续如果继续深入学习,还可以进一步了解 DNS 缓存、转发、访问控制以及安全加固等内容,为实际网络服务部署打下基础。