linux---高速缓存DNS


DNS(Domain Name System, 域名系统 ),万维网上作为域名和 IP地址 相互映射的一个 分布式数据库 ,能够使用户更方便的访问 互联网 ,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在 UDP 协议之上,使用端口号53



配置高速缓存DNS服务器

1.配置yum源
2.查找DNS服务软件


3.下载dns

4.打开dns服务(需要手动输入新的密钥,才会开启成功)


5.打开网络配置文件 vim/etc/resolv.conf(配置指向dns缓存  ##114.114.114.114是运营商的dns服务器ip)


##客户端上的 Stub 解析器 将查询发送至 /etc/resolv.conf 中的名称服务器,如果名称服务器对于请求的信息具有权威性 , 会将权威答案发送至客户端,否则 , 如果名称服务器在其缓存中有请求的信息 , 则会将非权威答案发送至客户端,如果缓存中没有信息 , 名称服务器将搜索权威名称服务器以查找信息 , 从根区域开始 , 按照DNS 层次结构向下搜索, 直至对于信息有具有权威性的名称服务器 , 以此为客户端获得答案。在此情况中,名称服务器将信息传递至客户端并在自己的缓存中保留一个副本 , 以备以后查找。

6.打开dns配置文件
修改listen-on port 53 { any;};
      allow-query { any; };
添加 forwarders {114.114.114.114}

7.刷新
8.测试dig www.taobao.com

对比两次dig www.taobao,com ,由于第一次DNS缓存时需要从运营商(114.114.114.114)来得到反馈,所以较慢,由于本机也是一个DNS缓存设备,自动记录保存第一次,第二次重本地获取反馈 ,速度较快。这个过程称为高速缓存DNS


正向解析(给网址解析IP)

1. vim /etc/named.rfc1912.zones (修改域名为hehe.com)

2.将named。localhost 里的内容复制到hehe.com.zone (方便实验的进行,##备份)


3.vim/ hehe.com.zone
systemctl restart namde(刷新)

4 vim /etc/resolvs.conf  (修改dns缓存为172.25.254.135)

5。dig hello.hehe.com  和 dig dns.hehe.com (查看对应域名解析ip是否正确)

双解析(输入一个域名会有两个ip随机出现,这个可以有效的保证服务器的正常工作)

1. vim/ hehe.com.zone 
2 systemctl restart named (刷新)
3.测试 dig www.hehe.com

反向解析 (给ip 解析域名)

1. vim /etc/named.rfc1912.zones

zone "254.25.172.in-addr.arpa" IN {

type master;

file "westos.com.ptr";
allow-update { none; };
};


2   cd /var/named/

   ls

    cp -p named.loopback westos.com.ptr(备份)


3
4.刷新


5.测试 dig -x 172.25.254.111 和  dig -x 172.25.254.222 (查看反向解析是否成功)

基于DNS的内外网解析

##内外网看到的IP不同

虚拟机当dns端口 (内网)
1. cp -p hehe.com.zone hehe.com.inter   (将hehe.con.zone的内容复制到hehe.com.inter)
ls

2.vim hehe.com.inter
## 最下边%s/172.25.254/192.168.0/g (可以将其中的所有172.25.254的ip换成192.1368.0)

cat hehe.com.inter 

2. cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter (这一步同样是复制内容)


3.vim /etc/named.rfc1912.inter


4.vim /etc/named.conf

/*

zone "." IN {

type hint;

file "named.ca";

};

 

include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";      

*/      /* 中间所有命令无效*/

view localnet {

match-clients { 172.25.254.135; };

zone "." IN {

type hint;

file "named.ca";

};

include "/etc/named.rfc1912.zones";

};

 

view view {

match-clients { any; };

zone "." IN {

type hint;

file "named.ca";

};

include "/etc/named.rfc1912.inter";

};

 
5.systemctl restart named (刷新)


6测试. dig www.hehe.com

真机作为外网

 

 

1.vim /etc/resovly.conf (设置dns缓存来与172.25.254.135)

2. 测试 dig www.hehe.com (外网解析后为另一个IP)



DNS的集群 (用一个dns去分担另一个dns 的压力)


##打开另一个虚拟机和这个虚拟机共同进行DNS的缓存

打开一个新的虚拟机server,配置ip,yum源头,下载dns服务,关闭防火墙


1. vim /etc/named.conf

options {

listen-on port 53 { any; };(改称任意人都可以)

listen-on-v6 port 53 { ::1; };

directory "/var/named";

dump-file "/var/named/data/cache_dump.db";

statistics-file "/var/named/data/named_stats.txt";

memstatistics-file "/var/named/data/named_mem_stats.txt";

allow-query     { any; };




2.vim /etc/resolv.conf



3.vim /etc/named.rfc1912.zones

 

zone "hehe.com" IN {

type slave;

masters { 172.25.254.135; };

file "slaves/hehe.com.zone";

allow-update { none; };

};


4.systemctl restart named (需要手动)

在slave主机中


1.vim /etc/named.conf

2.vim /etc/named.rfc1912.zones

zone "hehe.com" IN {

type master;

file "hehe.com.zone";

allow-update { none; };

also-notify { 172.25.254.235; };

};


3. systemctl restart named(刷新)


设置完成后在salve主机中

1.vim hehe.com.zone (修改一次ip之后,看在另一个虚拟机中是否会有同步)

在另一个虚拟机中:

在salve中:
在另一个虚拟机中:

DNS更新同步

第一个虚拟机desktop
1.vim /etc/named.rfc1912.zones
  

2.systemctl restart named
chmod 770 /var/named/
ll -d /var/named/

真机中: (添加一个ip)


在另一个虚拟机desktop中测试是否同步: dig test.hehe。com

在另一个虚拟机server中测试是否同步 dig test.hehe.com

DNS的密钥

删除上一个实验的步骤并且还原(保证实验环境的干净)


在desktop虚拟机中(salve主机)

1. dnssec-keygen -a HMAC-MD5 -b 512 -n HOST hehe (生成一个名叫hehe的密钥)

  ls

  cat Khehe.+157+51046.key

 cat Khehe.+157+51046.private
 
2.cp /etc/rndc.key  /etc/hehe.key -p (将密钥的名字改为hehe)
vim /etc/hehe.key (将密钥的密码输入进去)

3.vim /etc/named.conf  (将密钥给进去生效)

4.vim /etc/named.rfc1912.zones (将密钥资格给172.25.254.235)

5.systemctl restart named(刷新)
6.scp Khehe.+157+51046.* [email protected]:/mnt(将密钥传给172.25.254.135

测试 (分别在真机中和sever虚拟机中测试)

server中可以创建
真机中(失败是因为没有密钥所以无法打开)

猜你喜欢

转载自blog.csdn.net/a939029674/article/details/80396305
今日推荐