高速缓存区dns

来源:互联网 发布:超级优化基因液txt免费 编辑:程序博客网 时间:2024/06/01 17:29

一、DNS是什么

   DNS:(Domain Name System,域名系统),是互联网上存储域名和IP映射关系的一个分布式数据库,他负责把域名转换为IP地址,或IP转换为域名,工作于OSI应用层之上,DNS运行于UDP/TCP的53端口。其中,负责提供域名解析的为UDP协议的53端口,负责DNS服务器之间的区域传送采用TCP的53端口。

二、BIND是什么

     BIND(Berkeley Internet Name Domain)是DNS的开源实现,由两部分组成:     a、域名服务器(Name Server):提供域名解析服务     b、解析器(Resolver):负责发起查询和向调用他的应用返回IP地址或者别名等信息

三、DNS服务器的分类

1)权威名称服务器:存储并提供某区域的实际数据(类型包括:Master和Slave)2)非权威/递归名称服务器:客户端通过其查找来自权威名称服务器的数据

三、DNS的安装

step1: cd /etc/yum.repo/                 ##配置yum源step2:vim /etc/yum.repo/[rhel7.2]name=rhel7.2baseurl=file:///rhel7.2           ##/rhel7.2/为已经挂载好镜像的目录gpgcheck=0 step3:yum clean all                     ##清除yum缓存数据step4:yum search dns                    ##先查找有关dns的安装包信息step5:yum install bind.x86_64 -y        ##开始安装step6:sysemctl start named              ##开启服务step7:firewall-config                   ##改变防火墙策略,使dns可以访问或systemctl stop firewalld          ##关闭火墙

五、DNS中常见的缩写

A

address,将域名解析到IPv4的地址

AAAA

将域名解析到IPv6的地址

PTR

pointer,将IP地址转换为主机的FQDN

CNAME

Canonical name,别名

NS

Name Server ,用来指定操作DNS服务器的名称,需注意的是,不可以用IP地址来表示

六、DNS解析

1)静态解析

a、正向解析:输入域名得到相应的ip
1> vim /etc/named.conf          ##改变配置文件,使dns可以接受访问(listen-on port 53)和回答(allow-query)以及询问他人(forwarders)

这里写图片描述

2>  vim /etc/resolve.conf             ##指定dns服务器,本机即可

这里写图片描述

3>:检查服务端和客户端的防火墙是否关闭,在防火墙开着的情况下,检查防火墙策略是否加载成功
4> vim /etc/named.rfc1912.zones     ##编辑域名文件

这里写图片描述

5> cp -p /var/named/named.localhost /var/named/westos.com.zone              vim /var/named/westos.com.zone  ##使用模板,编辑正向解析文件

这里写图片描述

6>:  systemctl restart named     ##重启服务
7>:  dig +域名                    ##进行解析

正向解析结果:
这里写图片描述

第一次访问:

dig www.baidu.com           ##首次访问所需的时间长

这里写图片描述

第二次访问:

dig www.baidu.com           ##载次访问所需的时间明显减短

这里写图片描述

   上面dig操作得到的www.baidu.com的IP地址是通过forwarders:172.25.254.8进行的一次查询,如果,是本地解析的话,只需要,将www.baidu.com的IP地址自定义写在相应的文件中即可完成一次查询~   下面的实验,我们就来操作操作~
step1:将/etc/named.conf下的forwarders这一行注释掉,或者直接删除

这里写图片描述

step2: cd /var/named/                cp -p named.localhost westos.com.zone   ##注意此文件的权限十分特殊,所以,在复制的过程中,一定要加上参数p
step3: vim westos.com.zone        ##编辑本地解析文件

本地解析1>合法操作下:
这里写图片描述

本地解析:dig www.westos.com
这里写图片描述
解析的结果为:172.25.254.222,解析成功!
本地解析2>域名不合法时:
这里写图片描述

systemctl restart named     ##重启服务

这里写图片描述
CNAME:将不合法的名称(bbs.westos.com)转化为合法的名称(news.westos.com),从而进行查询,其结果为:172.25.254.111,解析成功!

本地解析3>IP轮叫机制

这里写图片描述

systemctl restart named     ##重启服务
第一次解析:dig news.westos.com     ##解析结果为:172.25.254.111

这里写图片描述

第二次解析:dig news.westos.com         ##解析结果为:172.25.254.123

这里写图片描述

b、反向解析
1> vim /etc/named.rfc1912.zones   ##编辑域名文件

这里写图片描述

2> cp -p /var/named/named.loopback /var/named/westos.com.ptr    vim /var/named/westos.com.ptr

这里写图片描述

systemctl restart named           ##重启服务

这里写图片描述
dns将172.25.254.208解析为heihei.westos.com,与原文件相符,解析成功!

C、双向解析
    双向解析的插话:为了缓解外网的压力,实现多台服务器公共作业,分为内网和外网,以此类推,也可以扩展为多向解析
1> vim /etc/named.conf     ##编辑dns的主配置文件,实现不同的用户看到不同的文件,在这里,我们使用命令view,文件其他内容不变,在文末添加如下图所示代码,第一部分的localnet为内网,这里指定IP172.25.254.208(即本机),通过此IP访问的用户查看的是:/etc/named.rfc1912.zones这个文件;通过其他IP访问的用户查看的是:/etc/named.rfc1913.zones

这里写图片描述

2> cp -p /etc/named.rfc1912.zones /etc/named.rfc1913.zones   vim /etc/named.rfc1913.zones    ##将file中的westos.com.zone改成westos.com.inter

这里写图片描述

3> cp -p /var/named/westos.com.zone /var/named/westos.com.inter   vim /var/named/westos.com.inter   ##为了实验效果更加明显,将所有的172.25.254转换为1.1.1%s/172.25.254/1.1.1/g  

这里写图片描述

4> 在另一台主机,设定其dns172.25.254.208,然后进行dig解析

这里写图片描述
这里写图片描述

5> IP172.25.254.208的机子上进行解析:dig www.westos.com

这里写图片描述
通过实验对比可以看出:172.25.254.208看的是/var/named/westos.com.zone这个文件,而其他的外网用户则看的是/var/named/westos.com.inter这个文件

D、解析集群

1)主服务器为:Master
辅助服务器为:Slave

step1: 在辅助服务器端将DNS改为自己的主机IP,安装DNS,关闭防火墙,或者在防火墙开启的状态下,写防火墙策略
step2: vim /etc/named.rfc1913.westos.zones  ##编写dns的主从复合关系

这里写图片描述

step3: dig www.westos.com   ##辅助服务器端

主服务器/var/named/westos.com.inter:
这里写图片描述

辅助服务器解析www.westos.com:
这里写图片描述
解析完全正确,说明辅助dns搭建成功!

   更改的问题:在主服务器如果更新了数据,辅助服务器不能及时的更新数据,从而,会出现相同的问题两个答案的现象,为了避免这个问题的出现,必须在主服务器数据更新后,及时地告知辅助服务器,这样的DNS集群才称的上是合法的!下面,我们就来介绍这一套操作~
1> vim /etc/named.rfc1913.zones     ##主服务器端

这里写图片描述

2> vim /var/named/westos.com.inter     ##主服务器端

这里写图片描述
将news.westos.com的IP改为1.1.1.123,并且,要改变serial的值,最多为10位
这里写图片描述

3> dig news.westos.com     ##辅助服务器端

这里写图片描述

4> systemctl restart named    ##主服务器端
5> dig news.westos.com     ##辅助服务器端

这里写图片描述
实时同步完成~

2)动态解析DDNS

    在这里先给大家介绍一款收费软件:花生壳(Oray)

这里写图片描述
这里写图片描述
这里写图片描述

   花生壳的工作机理其实就是DDNS(Dynamic Domain Name Server:动态域名服务),让dhcp去分配IP给开启DHCP服务的机子,然后,便可以通过DNS来找到这台机子的域名(或IP),下面,我们就来操作一下,看看如何自己动手搭建一款"花生壳"
    首先,要有两台虚拟机,其中一台为服务端,另一台为客户端: 1) 服务端需要搭建DHCP和DNS服务:  yum intall dhcp bind -y           ##yum源配好的前提下,进行下载  systemctl start named             ##开启dns服务  systemctl enable named            ##设置开机启动  systemctl start dhcpd             ##开启dhcp服务  systemctl enable dhcpd            ##设置开机启动 2)客户端只需要将获取IP的方式设置为DHCP即可:  vim /etc/sysconfig/network-script/ifcfg-westos  NAME=westos  BOOTPROTO=dhcp  ONBOOT=yes  DEVICE=eth0  :wq  systemctl stop NetworkManager.service  systemctl restart network 3)关闭两台虚拟机的防火墙     systemctl stop firewalld  

step1:

在服务端修改以下内容:

  vim /etc/named.conf

这里写图片描述

vim /etc/named.rfc1912.zones

这里写图片描述

   cd /var/named   ls   cp -p named.localhost westos.com.zone   vim westos.com.zone

这里写图片描述

dig dns.westos.com    ##先检测本机dns解析是否正确

这里写图片描述

本机解析成功后,再建立加密实现dns解析:

chmod g+w /var/named       setsebool -P named_write_master_zones oncd /mnt/dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westoscp -p /etc/rndc.key /etc/westos.keycat /etc/westos.key

这里写图片描述

vim /etc/westos.key 

这里写图片描述

vim /etc/named.conf

这里写图片描述

step2:

nsupdate:测试key是否更新成功

nsupdate -k Kwestos.+157+57326.private>server 172.25.254.108>update add haha.westos.com 86400 A 172.25.254.111>send>quit

这里写图片描述

  dns加密解析成功后,再继续设置dhcp服务,到这里,才有可能真正意义上实现"花生壳"的作用~

编辑dhcp的配置文件:
这里写图片描述
这里写图片描述

step3:

dhcp自动分配查看是否成功:
客户端成功获取到了来自dhcp的IP:172.25.254.201
这里写图片描述

在服务端dig客户端的域名可以正确解析到他的IP
这里写图片描述

至此,DDNS服务搭建成功~

原创粉丝点击