1、什么是DNS?
==域名系统(服务)协议(dns)==是一种分布式网络目录服务,主要用于域名与IP地址的相互转换,以控制因特网的电子邮件的发送。
2、DNS的分类
(1)权威名称服务器,存储并提供某区域(整个DNS域或DNS域的一部分)的实际数据。
(2)权威名称服务器的类型包括:
Master:包含原始区域数据。有时称作‘主要‘名称服务器’
Slave:备份服务器,通过区域传送从Mster服务器获得的区域数据的副本,称作’次要‘名称服务器
(3)非权威/递归名称服务器
客户端通过其查找来自权威名称服务器的数据。递归名称服务器的类型包括仅缓存名称服务器:仅用于查找,对于非重要数据之外的任何内容都不具有权威性
重置一个虚拟机desktop,同时自己配置让虚拟机可以上网(具体操作点击此)
在访问网站的时候,我们的客户端主机每次都要去访问114.114.114.114或者更高级别的 dns,在一个内网中有很多主机,但输入只有一条,如果每个主机访问都通过自己去连接的话速度太慢,且太浪费资源,那么我们将这个局域网中的一个主机,与外网相连接,其他的内网主机要访问外网的时候,都通过这台主机去连接,比如有人去访问baidu,com,那么这台主机先去外网的dns去获取百度的ip地址,然后将获得的信息返回,访问百度的这台主机便实现了目的,又有第二台主机要访问百度,那么,这台公共主机便不会再去外网询问,而是将缓存信息中的百度直接返回给这第二台主机,这样就更加快捷,而这台主机便叫做 高速缓存DNS。
通俗地讲,就是讲我们经常访问的一些网站资源缓存下来,当我们的客户端再次访问的时候,不再需要从外网上获取相应的资源,而是通过之前的缓存得到相应的资源,整体下来,我们的访问速度会特别快,不会和其他客户端抢占资源。
DNS区域采用资源记录的形式存储信息。每条资源记录均具有一个类型,表明其保留的数据类型
模拟环境(在内网里面搭建一台高速缓存dns服务器,属于非权威dns,目的是为了提高内网的访问效率)
步骤一:安装dns软件服务
yum search dns
yum install bind -y
步骤二:开启dns服务,查看bind的配置目录与服务名字
步骤三:在服务打开之前,我们查找ls -l /etc/rndc.key是没有文件存在,只有systemctl start named之后此文件才会生成
ps:rndc的介绍:
rndc -- Remote Name Domain Controllerr
一个远程管理bind的工具。
通过这个工具可以在本地或者远程了解当前服务器的运行状况。
可以对服务器进行关闭、重载、刷新缓存、增加删除zone等操作。
rndc的密钥保存在/etc/rndc.key文件中
步骤四:在dns配置文件写/etc/resolv.conf nameserver 114.114.114.114,desktop中。
(我们使用的是模拟环境,所以我们在联网的情况下使用的是电信的dns)
步骤五:在火墙中添加dns服务
步骤六:vim /etc/named.conf修改配置文件(改四处内容)
重启服务
步骤七:netstat -antulpe | grep named(看53端口有没有这台虚拟机的开启)
步骤八:vim /etc/resolv.conf 添加nameserver 172.25.254.x(虚拟机ip)在真机里面,在真机里进行测试,在nameserver里写172.25.254.135,然后desktop已经访问到的网,再用真机去访问,速度非常快。
步骤九:dig提出问题
使135非权威DNS不再向114权威DNS询问,向自己询问。
步骤一:vim /etc/resolv.conf 将nameserver改成自己的ip
步骤二:将/etc/named.conf中的forwarders {114.114.114.114;};注释掉,重启服务
步骤三:vim /etc/named.rfc1912.zones
将上面的模板复制一份 写入自己创建的主机信息
步骤四:cd /var/named下 必须
步骤五:vim chen.com.zone
写入主机名,IP地址(在这个域名里什么主机就写什么)
测试:
在真机里面dig www.chen.com 找到chen.com这个域里面的主机
以上和DNS服务器相关的全部是正向解析,也就是通过域名找IP
vim /etc/named.rfc1912.zones 编辑此文件设置反向解析
vim chen.com.ptr
重启服务
测试 dig -x 172.25.254.111,发现给出的域名是www.westos.com.
再次dig -x 172.25.254.222,发现给出的域名是bbs.chen.com.
反向解析配置成功
设置一个内网,一个外网。当我们本机登陆网址时,就是自己设置的内网
当其他主机登陆时,显示的是我们设置的外网。(这个在其他主机上的配置文件要添加自己虚拟机的ip)
cp -p chen.com.zone chen.com.localnet
vim westos.com.zone 全文替换172.25.254为192.268.0
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.localnet
vim /etc/named.rfc1912.localnet
将原来的改为chen.com.localnet
vim /etc/named.conf
重启服务
先将双向解析注释掉 针对外网访问dns服务器来说,缓解访问dns服务器的压力
(首先我们reset server,将server虚拟机作为辅助dns,搭建好server实验环境,ip、yum源、在防火墙内开启dns服务,selinux是关闭状态,否则对后面的实验有影响,并修改配置文件,这些操作再desktop虚拟机中已经做了,所以详细过程就不说)
当辅助dns配置好后,我们在/var/named/slaves下面才会产生文件,同步过来了
在desktop上面设置
vim /etc/named.rfc1912.zones 写入 allow-transfer {172.25.254.135;}; 企业7之前的版本需要
also-notify {172.25.254.235;}; 也通知235主机
测试:在两端dig bbs.westos.com ,如果111上westos.com.zones里面的ip变了,必须改serial的数字,(只能往大的数字改,最大10位)才会使得辅助dns同步过来,改完重启named服务。
更新:允许其他物理机对主dns主机进行更新。
同步:在主dns上的更新会同步到辅dns上。
(在本次实验中,desktop为主dns,server为辅dns,)
步骤一:在主dns的/etc/named.rfc1912.zones配置文件里面添加内容。
步骤二:在物理机上进行更新
通过查看日志发现是权限不够
步骤三:测试,已经更新并且同步
步骤四:删除
(1)在主dns上先将/var/named/chen.com.zone拷贝一份
(2)查看,因为更新生成的文件
如果用ip进行更新,其他人可以通过改自己的ip更新我的dns
如何更加安全?
用ip不太安全,所以生成钥匙。
dns的key更新
步骤一:在主dns上:
重启服务
删除之前的ip更新:rm -rf westos.com.zone*
再将我们之前拷贝的重新复制一份:cp -p /mnt/westos.com /var/named (-p 为了将权限一起复制过来)
重启服务
步骤二:生成密钥:dnssec-keygen -a(加密方式) HMAN-MD5 -b(钥匙大小) 128 -n(名字类型) HOST chen(钥匙名称)
步骤三:生成自己的加密文件:
cp -p /etc/rndc.key /etc/chen.key
vim /etc/chen.key (填写自己的加密信息:自己的加密字符和名称)
步骤四:编辑dns配置文件,使其能识别钥匙
vim /etc/named.conf : include “/etc/chen.key”;
#在option语句块外
vim /etc/named.rfc1912.zones
(将自己之前的ip更新换成加密更新)
重启服务
步骤五:将钥匙送给你允许更新你dns的主机
步骤六:在更新主机上查看,测试
(更新时,会产生jnl日志文件,所以更新完后将实验环境还原,删掉jnl等文件)
动态分配dns ,ip,与dhcp结合起来
步骤一:恢复环境,将前面的更新文件删除
步骤二:在自己的主dns上面搭建dhcp服务
步骤三:在火墙中开启dhcp服务
步骤四:编辑dhcp配置文件
ddns-update-style interim;
key chen {
algorithm hmac-md5;
secret 自己生成的加密字符;
};
zone westos.com.{
primary 172.25.254.77;
key chen;
}
步骤五:测试:(在客户端上)
(1)修改网络为dhcp
(2)在火墙中打开dhcp
重启网络systemctl restart network
查看ip动态获取
重启网络
dig test.westos.com 看到与上面获取的ip相对应
(第一次dig不出ip,重启网络后,再dig)
再次修改dhcp的地址池,让客户端的ip改变,dig查看ip是否对应