DNS部署(二)DNS的解析(正向、反向、双向、邮件解析及域名转换)

1.DNS的正向解析

1.DNS中的配置文件:
#主配置文件:/etc/named.conf
#子配置文件:/etc/name.rfc1912.zones
#数据目录:/var/named
2.当DNS客户端请求解析某个域名时,DNS服务器通过正向查找,并返回给DNS客户端对应的IP地址

客户主机中进行:
<1>进入主配置文件中将forwarders这行的内容删除或注释掉,并使服务重启

[[email protected] named]# vim /etc/named.conf
[[email protected] named]# systemctl restart named

在这里插入图片描述
<2>进入数据目录并进行查看,然后将正向解析配置模板在此目录下复制以便于创建解析库文件

[[email protected] ~]# cd /var/named
[[email protected] named]# ls
[[email protected] named]# cp -p named.localhost westos.com.zone

在这里插入图片描述
注意:
1.复制时一定要注意加-p,因为要将其权限和属性一起复制
2.named.localhost中放的时172.0.0.1这个dns服务器
<3>进入到子配置文件中修改配置文件

[[email protected] named]# vim /etc/named.rfc1912.zones

在这里插入图片描述
在配置文件中增加以下内容:

zone "westos.com" IN {
        type master;
        file "westos.com.zone";
        allow-update { none; };
};

在这里插入图片描述
<4>进入解析库文件,修改其中的内容,其解析库文件中的语法相当严格,故意不在域名后加上点,利用日志文件查看其错误并解决
-1-修改解析库文件并生效,会发现无法重新启动服务

[[email protected] named]# vim westos.com.zone
[[email protected] named]# systemctl restart named

在这里插入图片描述在这里插入图片描述
查看配置文件,内容如下:

$TTL 1D
@       IN SOA  dns.westos.com. bai.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.westos.com
dns     A       172.25.254.166
www     CNAME   bbs.a.westos.com.
bbs.a   A       172.25.254.222

在这里插入图片描述

-2-清空日志文件后,再次重启服务,报错后,查看日志文件下的内容

[[email protected] named]# > /var/log/messages
[[email protected] named]# systemctl restart named
[[email protected] named]# cat /var/log/messages

在这里插入图片描述
分析:报错的原因是因为在域名后少加了个点,日志中的报错说明由于没有加点,故不认为字符串结束,会继续为其补充。
-3-根据日志中的报错再次修改后,重新启动服务成功

[[email protected] named]# vim westos.com.zone
[[email protected] named]# systemctl restart namedi

在这里插入图片描述
正确的配置文件中的内容如下:

$TTL 1D
@       IN SOA  dns.westos.com. bai.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.westos.com.
dns     A       172.25.254.166
www     CNAME   bbs.a.westos.com.
bbs.a   A       172.25.254.222

在这里插入图片描述
测试主机上:
<5>进入/etc/resolv.conf中,并为其添加解析域以及ip

[[email protected] ~]# vim /etc/resolv.conf

添加解析域以及ip:
在这里插入图片描述
<6>使用dig命令可以查看到www.westos.com解析的ip以及dns服务器名称和dns服务器ip

[[email protected] ~]# dig www.westos.com

在这里插入图片描述
分析:
1.DNS的正相解析
1.维护的域名叫.(即根)
2.域的设定相当于分离出来了,在主配置文件里面 include “/etc/named.rfc1912.zones“更好的被读取,在主配置文件里写的和在全局里写的一样
3.复制时要加-p(重启会报错,查询),权限参数
[email protected]:变量,在维护的域里面,引号中的内容,会自动填充
5.如果字符串的值不以.结尾,例如haha(即代表haa.westos.con),把域名省略掉,告诉字符串已经完成,不需要再补齐了
6.语法非常严格,一点都不能错
7.解析库文件中的解释:客户可以把信息保存1天,给当前维护的人查看,refresh刷新主机的缓存时间,retry1个小时之后可以重新测试,expire过期时间1万,minimum最小缓存时间是3小时,NS:nameserver(看到的服务器的名字)

2.DNS域名转换(相当于一个域名对应两个ip,进行轮循)

<1>进入解析库文件修改文件内容并使服务生效(在客户端进行)

[[email protected] named]# vim westos.com.zone
[[email protected] named]# systemctl restart named

在这里插入图片描述
文件中修改的内容如下:

$TTL 1D
@       IN SOA  dns.westos.com. bai.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                NS      dns.westos.com.
dns             A       172.25.254.166
www             CNAME   bbs.a.westos.com.
bbs.a           A       172.25.254.222	
bbs.a           A       172.25.254.111

在这里插入图片描述
<2>检测域(在测试端进行)

[[email protected] ~]# dig www.westos.com	##首先检测域
[[email protected] ~]# dig www.westos.com	##过一会再检测域,发现ip的顺序发生了改变(有延时)

第一次检测:
在这里插入图片描述
第二次检测:
在这里插入图片描述

3.DNS邮件解析

<1>进入正向解析库文件,对文件的内容进行修改并进行生效

[[email protected] named]# vim westos.com.zone(在/var/named)
[[email protected] named]# systemctl restart named

在这里插入图片描述
添加MX记录,修改后的内容如下:

$TTL 1D
@       IN SOA  dns.westos.com. bai.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                NS      dns.westos.com.
dns             A       172.25.254.166
www             CNAME   bbs.a.westos.com.
bbs.a           A       172.25.254.222
bbs.a           A       172.25.254.11
westos.com.     MX 1    mail.westos.com.	##域名westos.com代表“发送邮件”的ip
mail            A       172.25.254.155		##mail代表邮件发送的ip为172.25.254.155(注意:ip为172.25.254.155的主机一定要关闭防火墙)

<2>给ip为172.25.254.155的主机发送邮件内容(输入一个域名,即会依次类推到最终要到达的ip)

[[email protected] named]# mail [email protected]

在这里插入图片描述
注意:输入“.”之后便会退出邮件的写入
<3>查看邮件是否发送,发现mail中没有邮件,说明邮件已经发送

[[email protected] named]# > /var/log/maillog	##清空邮件发送的日志
[[email protected] named]# mail	##查看邮件是否发送,当显示No mail for root说明邮件已经发送

在这里插入图片描述
<4>查看邮件队列。此时连接显示的刚才指定的ip,发现主机的ip为172.25.254.155的主机拒绝接收(如果要使邮件可以接收,需要配置信息,这里就不说了)

[[email protected] named]# mailq

在这里插入图片描述
<5>删除邮件队列中的内容并进行查看

[[email protected] named]# postsuper -d EBC70289921	##删除邮件队列中指定的Queue ID
[[email protected] named]# mailq

在这里插入图片描述
<6>检测要维护的域,发现成功

[[email protected] named]# dig -t mx westos.com

在这里插入图片描述
补充:
MX的记录也可以写成如下格式
<1>进入配置文件修改内容并使服务生效

[[email protected] named]# vim westos.com.zone
[[email protected] named]# systemctl restart named

在这里插入图片描述

配置文件中的内容如下:

$TTL 1D
@       IN SOA  dns.westos.com. bai.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                NS      dns.westos.com.
dns             A       172.25.254.166
www             CNAME   bbs.a.westos.com.
bbs.a           A       172.25.254.222
bbs.a           A       172.25.254.11
westos.com.     MX 10   mx1.westos.com.	##MX x(随意)
mx1             A       172.25.254.155

在这里插入图片描述
<8>检测要维护的域

[[email protected] named]# dig -t mx westos.com

在这里插入图片描述
注意:最后的dig一定要输入正确的域名

4.DNS反向解析

解释:用于IP地址到域名的映射,当DNS客户端请求解析某个IP地址时,DNS服务器通过反向查找,并返回给DNS客户端对应的域名
<1>进入/etc/named.rfc1912.zones进行修改

[[email protected] ~]# vim /etc/named.rfc1912.zones

在这里插入图片描述
在配置文件中加入以下内容:

zone "254.25.172.in-addr.arpa" IN {
        type master;
        file "172.25.254.ptr";
        allow-update { none; };
};

在这里插入图片描述
<2>进入/var/named目录,将反向解析的模板复制到172.25.254.ptr文件

[[email protected] ~]# cd /var/named
[[email protected] named]# cp -p named.loopback 172.25.254.ptr

在这里插入图片描述
<3>编辑172.25.254.ptr文件并生效

[[email protected] named]# vim 172.25.254.ptr
[[email protected] named]# systemctl restart named

编辑的内容如下:

$TTL 1D
@       IN SOA  dns.westos.com. root.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.westos.com.
dns     A       172.25.254.128
100     PTR     dns.westos.com.
111     PTR     www.westos.com.
222     PTR     bbs.westos.com.

在这里插入图片描述
<4>试图解析172.25.254.111,发现可以成功解析(要开启name的服务)

[[email protected] named]# dig -x 172.25.254.111

在这里插入图片描述
<5>试图解析172.25.254.222,发现可以成功解析

[[email protected] named]# dig -x 172.25.254.222

在这里插入图片描述

5.DNS双向解析

解释:双向解析即在不同的主机中,当访问同一个域名时,会出现不同的ip
<1>将正向解析库进行复制,并编辑文件中的内容(即修改别的主机访问时的ip)

[[email protected] named]# cp -p westos.com.zone westos.com.inter
[[email protected] named]# ls
[[email protected] named]# vim westos.com.inter

在这里插入图片描述
修改westos.com.inter中的内容(将所有的172.25.254修改成192.168.0)

$TTL 1D
@       IN SOA  dns.westos.com. bai.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                NS      dns.westos.com.
dns             A       192.168.0.166
www             CNAME   bbs.a.westos.com.
bbs.a           A       192.168.0.222
bbs.a           A       192.168.0.11
westos.com.     MX 1    mail.westos.com.
mail1           A       192.168.0.155

在这里插入图片描述
<2>将子配置文件进行复制,并编辑文件中的内容

[[email protected] named]# cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inters
[[email protected] named]# vim /etc/named.rfc1912.inters

在这里插入图片描述
修改的内容如下:

zone "westos.com" IN {
        type master;
        file "westos.com.inter";
        allow-update { none; };
};

在这里插入图片描述
<3>在服务端中进入主配置文件修改以下内容并生效

[[email protected] named]# vim /etc/named.conf
[[email protected] named]# systemctl restart named

在这里插入图片描述
修改的内容如下(将域的解析分成两部分,一部分为本机访问时的解析域名的配置,一部分为除了本机外的所有人访问时的解析域名的配置,根域名必须包含在view内):

/*
zone "." IN {	##将其根域名注释掉,分别放到以下两部分的域的解析
        type hint;
        file "named.ca";
};
*/
view localhost{
        match-clients {localhost;};
         zone "." IN {
          type hint;
          file "named.ca";
         };
        include "/etc/named.rfc1912.zones";	##将子配置文件分开放置
};
 view internet{
          match-clients {any;};
           zone "." IN {
            type hint;
            file "named.ca";
           };
          include "/etc/named.rfc1912.inters";	##将子配置文件分开放置
  };

在这里插入图片描述
<4>查看服务端和客户端的域名是否都是服务端

[[email protected] ~]# vim /etc/resolv.conf
[[email protected] ~]# vim /etc/resolv.conf

在这里插入图片描述
服务端解析文件:
在这里插入图片描述
客户端解析文件:
在这里插入图片描述
<5>查看服务端的火墙,如果是开着的,则关闭服务端的火墙

[[email protected] named]# systemctl status firewalld

在这里插入图片描述
<6>在服务端进行域名的解析,发现解析的网段与设置的localhost一样

[[email protected] ~]# dig www.westos.com

在这里插入图片描述
<7>在客户端进行域名的解析,发现同一个域名,但解析的内容不同,因为是文件中是除了本机外的所有主机,在访问时,都是另外一个网段

[[email protected] ~]# dig www.westos.com

在这里插入图片描述 注意: 实验做完后,一定要将主配置文件中的域的解析进行还原,否则会影响接下来的实验