dns
权威名称服务器
存储并提供某区域(整个DNS域或DNS域的一部分)的实际数据
权威名称服务器的类型包括:
Master:包含原始区域数据。有时称作‘主要‘名称服务器’
Slave:备份服务器,通过区域传送从Mster服务器获得的区域数据的副本,称作’次要‘名称服务器
非权威/递归名称服务器
客户端通过其查找来自权威名称服务器的数据。递归名称服务器的类型包括仅缓存名称服务器:仅用于查找,对于非重要数据之外的任何内容都不具有权威性
实验环境:
重置一个虚拟机,让虚拟机可以上网
高速缓存dns
在访问网站的时候,我们的客户端主机每次都要去访问114或者更高级别的 根 dns,在一个内网中有很多主机,但输入只有一条,如果每个主机访问都通过自己去连接的话速度太满,且太浪费资源,那么我们将这个局域网中的一个主机,与外网相连接,其他的内网主机要访问外网的时候,都通过这台主机去连接,比如有人去访问baidu,com,那么这台主机先去外网的dns去获取百度的ip地址,然后将获得的信息返回,访问百度的这台主机便实现了目的,又有第二台主机要访问百度,那么,这台公共主机便不会再去外网询问,而是将缓存信息中的百度直接返回给这第二太主机,这样就更加快捷,而这台主机便叫做 高速缓存DNS
配置desktop虚拟机,使它成为一个高速缓存dns
1.在desktop虚拟机安装提供高速缓存dns服务的软件bind
yum install bind -y
2.开启软件
systemctl start named
开启时可能会卡住,因为虚拟机reset重置的,因为他是新的,没法加密,这时在desktop虚拟机敲击键盘或移动鼠标,就会解决
3.管理火墙
firewall-cmd --list-all
firewall-cmd --permanent --add-server=dns ##添加dns服务
firewall-cmd --reload
4.打开另一个虚拟机server,将dns设置为172.25.254.113 desktop的ip
Vim /etc/resolv.conf
5.测试
dig www.baidu.com
会显示无法链接
解决方案:
在desktop虚拟机
netstat -antulupe |grep named 查看named服务的接口
可以看到接口没有对其他地址开启
配置named的配置文件
将13行 53接口对哪些用户开启 改为 any
Systemctl restart named
重启named,再进行dig操作发现可以连接但是被拒绝
解决方案;
将named的配置文件第17行,允许的用户改为any,允许其他用户登陆
因为是内网,所以我们将安全监测也关掉
测试
dig www.baidu.com
再将主机的/etc/resolve.conf也改为desktop的ip,让主机也通过desktop高速缓存dns
再
dig www.baidu.com
发现速度比server虚拟机快了很多,但还是很慢
解决方案
在18行添加 forwarders {114.114.114.114;}; ##让destop不去’ . '访问,而去中国的14去解析地址,
再次测试;
用server去 dig www.taobao.com
再去用主机 dig www.taobao.com
测试成功,目的达成,
权威dns配置
打开dns的配置文件
vim /etc/named.conf
在第57行可以看到它会读取/etc/named.rfc1912.zones文件
为了防止主配置文件过长,难读
所以我们在这个文件里进行配置
vim /etc/named.rfc1912.zones
在命令模式下第19行y6y ##复制六行
p 把它复制到25行
修改复制的6行
修改为:
25 zone "westos.com" IN {
26 type master;
27 file "westos.com.zone";
28 allow-update { none; };
29 };
##在westos.com域内的地址,去查看westos.com.zone这个文件
在/var/named目录下
cp -p named.localhost westos.com.zone
切记 -p
然后去编辑这个文件
1 $TTL 1D
2 @ IN SOA dns.westos.com. lee.westos.com. (
3 0 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS dns.westos.com.
9 dns A 172.25.254.113
10 www A 172.25.254.66
dns.westos.com. lee.westos.com. 谁为这个负责
@ 文件内如果不是以‘.’结尾,会在后面自动补齐 为westos.com.结尾
上面的www不是以.结尾的所以它会补齐为 www.westos.com
cname
编辑westos.com.zone
1 $TTL 1D
2 @ IN SOA dns.westos.com. lee.westos.com. (
3 0 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS dns.westos.com.
9 dns A 172.25.254.113
10 bbs A 172.25.254.66
11 www CNAME node1.westos.com.
12 node1 A 172.25.254.111
13 node1 A 172.25.254.222
cname是规范域名,将外部域名转化成内部域名,然后作解析
ptr 反向域名转换
将ip地址转化为域名
先配置vim /etc/named.rfc1912.zones
将37-41复制,粘贴在后面,然后编辑
43 zone "254.25.172.in-addr.arpa" IN {
44 type master;
45 file "172.25.254.ptr";
46 allow-update { none; };
47 };
再编辑172.25.254.ptr
在/var/named目录下
cp -p named.loopback 172.25.254.ptr
编辑文件172.25.254.ptr
1 $TTL 1D
2 @ IN SOA dns.westos.com. lee.westos.com. (
3 0 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS dns.westos.com.
9 dns A 172.25.254.113
10 66 PTR hello.westos.com.
做完后重启named
ptr测试 dig -x ip
MX
邮件交换器
vim westos.com.zone
1 $TTL 1D
2 @ IN SOA dns.westos.com. lee.westos.com. (
3 0 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS dns.westos.com.
9 dns A 172.25.254.113
10 bbs A 172.25.254.66
11 www CNAME node1.westos.com.
12 node1 A 172.25.254.111
13 node1 A 172.25.254.222
14 westos.com. MX 1 172.25.254.113.
然后在客户端
[root@localhost ~]# > /var/log/maillog
[root@localhost ~]# mail [email protected]
Subject: hahah
hahaha
hahhaha
. EOT
输入 . 后回车 邮件发送
mailq 查看
[root@localhost ~]# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
D5CFF17E85C 453 Sat May 11 02:55:58 [email protected]
(connect to 172.25.254.113[172.25.254.113]:25: No route to host)
[email protected]
-- 0 Kbytes in 1 Request.
双向解析
内网在访问dns是得到内网的网段,外网解析地址时访问得到外网网段
实验思路:
在内网网段的ip来访问时,读取属于内网的配置文件,为它解析成内网的ip
在外网网段的ip来访问时,读取属于外网的配置文件,为它解析成外网的ip
使内外分开
在此时实验中我们将与dns的ip处于同一网段的看为内网,为内网解析成172网段
外网解析为1网段
操作:(在实验中为我们为了方便,为本机解析一套地址,为接入的主机解析一套ip)
在/var/named下,
1.Vim /etc/named.conf
编辑named主配置文件
2
cp -p /etc/named.rfc.1912.zones /etc/named.rfc1912.inter.zones
编辑etc/named.rfc1912.inter.zones文件
cp -p westos.com.zone westos.inter.com.zone
编辑westos.inter.com.zone文件
将172.25.254. 换成1.1.1.
4.测试
用dns本机作(desktop)测试,dig node1.westos.com
用server虚拟机测试,dig node1.westos.com
辅助dns
当访问量过大时,一台dns服务器显然不能满足要求,就需要辅助dns来替主dns分担
实验步骤
1.在辅助dns服务器上配置好dns
(1)下载bind软件
修改主配置文件
options {
13 listen-on port 53 { any; };
14 listen-on-v6 port 53 { ::1; };
15 directory "/var/named";
16 dump-file "/var/named/data/cache_dump.db";
17 statistics-file "/var/named/data/named_stats.txt";
18 memstatistics-file "/var/named/data/named_mem_stats.txt";
19 allow-query { any; };
34 dnssec-validation no;
vim /etc/named.rfc1912.zones
zone "westos.com" IN {
type slave;
file "slaves/westos.com.zone";
masters {172.25.254.113;};
allow-update { none; };
};
2.在dns服务器主配置文件将做的双向解析的操作注释掉,并复原
(1)在/etc/named.rfc.1912.zones
测试
在主dns和辅助dns dig bbs.westos.com
功能可以实现,那么能否完成同步呢
修改在测试
在主dns修改
测试
可以看到并没有完成更新
修改srial值便可以更新,他的值增大才生效,最大为10位
远程更新
在desktop,dns服务器
1. cp -p westos.com.zone /opt/
2. vim /etc/named.rfc1912.zones
25 zone "westos.com" IN {
26 type master;
27 file "westos.com.zone";
28 also-notify { 172.25.254.213; };
29 allow-update { 172.25.254.113; };
30 };
做更改,盖好后重启named
清空日志
> /var/log/messages
然后
[root@dns named]# nsupdate
> server 172.25.254.113
> update add test.westos.com 86400 A 172.25.254.222
> send
update failed: SERVFAIL
> quit
失败,查看日志,看是什么问题
[root@dns named]# cat /var/log/messages
May 11 05:22:25 localhost named[4349]: client 172.25.254.113#53389: updating zone 'westos.com/IN': adding an RR at 'test.westos.com' A
May 11 05:22:25 localhost named[4349]: westos.com.zone.jnl: create: permission denied
May 11 05:22:25 localhost named[4349]: client 172.25.254.113#53389: updating zone 'westos.com/IN': error: journal open failed: unexpected error
这个文件需要建立文件,但他没有权限,需要给个权限
[root@dns named]# chmod 770 /var/named
[root@dns named]# nsupdate
> server 172.25.254.113
> update add test.westos.com 86400 A 172.25.254.222
> send
> quit
测试
通过密钥来更新key
上面的实验我们是通过ip来更新的,这样十分的不安全,那我们可以通过下面介绍的这种方法去更新
1.删除之前的ip更新
在/var/named目录下
rm -fr westos.con.zone*
然后将我们在/opt目录下的备份复制一份回来
2.生成自己的加密文件
cp -p /etc/rndc.key /etc/westos.key
3.在/mnt/目录下生成钥匙
[root@dns-server mnt]# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos
Kwestos.+157+56402
4.编辑加密文件
5.编辑主配置文件,使能读取钥匙文件
6.
vim /etc/named.rfc1912.zones
测试
ddns
思路:每次域名的ip地址发生改变,去手动修改文件显然是不现实的,那么如何在它ip地址发生改变后,自动的告诉dns域名和ip地址的对应关系呢,显然由dhcp去告知dns,这样在每次的域名好更改后,dhcp都将域名和IP地址的对应关系告诉dns
环境:做好了key
1。将之前做过的更新生成的文件删除,
2.将westos。com。zon从/opt复制过来,记得-p
3。服务端下载dhcp,修改配置文件
3.修改客户端主机名为test.westos.com
4.将客户端网络设置为dhcp,重启网络获得dhcpIP地址
5.测试:dig test.westos.com,查看它的ip和动态获得的ip是否一致