DNS域名解析服务以及Bind服务程序
一般来讲域名比IP地址更加的有含义、也更容易记住,所以通常用户更习惯输入域名来访问网络中的资源,但是计算机主机在互联网中只能通过IP识别对方主机,那么就需要DNS域名解析服务了。
DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析:
正向解析:根据主机名(域名)查找对应的IP地址。
反向解析:根据IP地址查找对应的主机名(域名)。
域名解析服务Bind的程序名称叫做named,服务程序的配置文件如下:
主程序: /usr/sbin/named
主配置文件: /etc/named.conf
区域配置文件: /etc/named.rfc1912.zones
DNS正向解析实验:
(根据主机名(域名)查找对应的IP地址)
域名解析服务bind的程序名称叫做named
第1步:yum install bind-chroot 下载bind服务程序
第2步:配置主配置文件 /etc/named.conf
将下图中原来参数都改为any
listen-on里的参数修改为any,代表允许监听任何IP地址。
allow-query里的参数修改为any,代表允许任何主机查询。
第3步:配置区域数据信息
[root@linuxprobe ~]# vim /etc/named.rfc1912.zones
zone "centos.com" IN { #代表centos.com域名的正向解析区域
type master; #服务类型
file "centos.com.zone"; #域名与IP地址解析规则保存的文件位置
allow-update {none;}; #允许哪些客户机更新解析信息
}
第4步:配置解析数据信息
我们可以直接复制正向解析模板文件:”/var/named/named.localhost“,填写信息后即可直接使用。
切换工作目录到bind(named)数据目录:
[root@zhaizewen ~]# cd /var/named/
查看区域数据文件的权限:
[root@zhaizewen named]# ls -al named.localhost
-rw-r-----. 1 root named 152 Jun 21 2007 named.localhost
执行cp命令时加入-a,代表连通复制原来文件的属性、所有者、组等信息:
[root@zhaizewen named]# cp -a named.localhost centos.com.zone
编辑centos.com域名的区域数据文件:
[root@zhaizewen named]# vim centos.com.zone
重启named服务让配置文件立即生效:
[root@zhaizewen named]# systemctl restart named
配置完以后重新启动named服务并查看其状态。
第5步:检验解析结果
(1)现在windows下尝试检验
打开cmd尝试ping 虚拟机IP(192.168.2.100)
ping www.centos.com(这是网站上就有的,可以看到IP跟我们设的不一样,我们需要改一下 C/windows/system32/drivers/etc/hosts 我们需要再里面加一行文本如下图)
再ping的时候IP地址就变成我们在文件里改的IP
同样也可以在”网络“一> ”更改适配器设置“一> "以太网属性"一> "将首选DNS服务器改为局域网的网段(192.168.2.100)" 然后重新启用一下网卡也是可以实现上面的检验操作的(注意named.conf文件里监听的端口号如果是0.0.0.0的话需要将网关改成any)。
如果想在虚拟机中检验的话
需要nslookup命令,首先需要nmtui命令编辑ens33网卡,将里面的DNS域名换为192.168.2.100。
DNS反向解析实验:
反向解析的作用是根据IP地址查找到对应的主机名(域名),在区域文件(named.rfc1912.zones)中默认已存在一些注释内容与区域信息,可不需要删除上面实验及默认区域信息,直接在下面追加即可。
第1步:配置区域数据信息(区域数据文件 named.rfc1912.zones)
需要自己添加五行(命令模式中5yy+p)如下图 注意IP地址需要反写
第2步:配置解析数据信息(复制模板)
反向解析数据文件模版为:”/var/named/named.loopback“,我们可复制并填写信息后即可直接使用:
编辑192.168.10.0/24网段的数据文件:
[root@linuxprobe named]# vim 192.168.2.zone
配置成如下图
保存退出后重启named服务并查看状态
第3步:在虚拟机用nslookup检验结果
(也可在cmd中用nslookup检验结果,前提配置好DNS)