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
注意:
实验做完后,一定要将主配置文件中的域的解析进行还原,否则会影响接下来的实验