高速缓存dns服务器的搭建

1.dns的一些概念

  • 域名系统(服务)协议(DNS)是一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换,以及控制因特网的电子邮件的发送
  • 大多数因特网服务依赖于 DNS 而工作,一旦 DNS 出错,就无法连接 Web 站点,电子邮件的发送也会中止
  • 是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串
  • 是Internet上解决网上机器命名的一种系统。就像拜访朋友要先知道别人家怎么走一样,Internet上当一台主机要访问另外一台主机时,必须首先获知其地址,TCP/IP中的IP地址是由四段以“.”分开的数字组成,记起来总是不如名字那么方便,所以,就采用了域名系统来管理名字和IP的对应关系

2.关于域名解析

  • 定义:
域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务
IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址
域名解析就是域名到IP地址的转换过程
域名的解析工作由DNS服务器完成
域名解析也叫域名指向、服务器设置、域名配置以及反向IP登记等等
说得简单点就是将好记的域名解析成IP,服务由DNS服务器完成,是把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定
互联网中的地址是数字的IP地址,域名解析的作用主要就是为了便于记忆
  • 流程:
域名解析的流程是:域名-----DNS(域名解析服务器)-----网站空间

3.关于dns的一些介绍

1.dns的分类

  • 权威名称服务器
  • 存储并提供谋区域(整个dns域或dns域的一部分)的实际数据
  • 权威名称服务器的类型包括:
  • Master:包含原始区域数据,有时称作“主要”名称服务器
  • Slave:备份服务器,通过区域传送从Master服务器获得的区域数据的副本,有时称作“次要”名称服务器
  • 非权威/递归名称服务器
  • 客户端通过其查找来自权威名称服务器的数据
  • 递归名称服务器的类型包括:仅缓存名称服务器:仅用于查找,对于非重要数据之外的任何内容都不具有权威性

2.dns的查找步骤

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

3.dns资源记录

  • dns区域采用资源记录的形式存储信息,每条资源记录均具有一个类型,表明其保留的数据类型
主机记录(A记录) 用于名称解析的重要记录,它将特定的主机名称映射到对应主机的ip地址上
别名记录(CNAME记录) 用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的记录
IPv4主机记录(A记录) 用于将特定的主机名映射到一个主机的IPv4地址
IPv6主机记录(AAAA记录) 与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址
服务位置记录(SRV记录) 用于定义提供特定服务的服务器的位置,如主机,端口等
PTR记录 IPv4/IPv6地址至名称
MX 用于名称的邮件交换器(向何处发送其电子邮件)
NS 域名的名称服务器
SOA “授权起始”,dns区域的信息(管理信息)
TTL值 全称是“生存时间(Time To Live)”,简单的说它表示DNS记录在DNS服务器上缓存时间

4.dns排错

  • 它显示来自dns查找的详细信息,其中包括为什么查询失败
NOERROR 查询成功
NXDOMAIN dns服务器提示不存在这样的名称
SERVFAIL dns服务器停机或DNSSEC响应验证失败
REFUSED dns服务器拒绝回答(也许是处于访问控制原因)

5.dig输出的部分内容

  • 标题指出关于查询和答案的信息,其中包括响应状态和设置的任何特殊标记(aa表示权威答案,等等)
  • 底部的注释指出发送查询的递归名称服务器以及获得的响应所花费的时间
QUESTION 提出实际dns查询
ANSWER 响应(如果有)
AUTHORITY 负责域/区域的名称服务器
ADDITIONAL 提供的其他信息,通常是关于名称服务器

4.安装部署dns服务

  • yum install bind -y #安装dns所需的软件
  • sysytemctl start named #开启服务
  • systemctl enable named #使服务生效
  • firewall-cmd --permanent --add-service=dns #在火墙中添加dns服务
  • firewall-cmd --reload #使火墙中的dns生效
  • firewall-cmd --list-all #查看dns是否添加成功
  • netstat -antlupe | grep named #查看服务的端口是否为53
  • 主配置文件:/etc/named.conf
  • 子配置文件:/etc/named.rfc1912.zones
  • 数据目录:/etc/named
  • 注:开启服务named时速度较慢,此时可以在主机中进行敲击键盘、打字等操作进行加速
    高速缓存dns服务器的搭建_第1张图片
    高速缓存dns服务器的搭建_第2张图片
    高速缓存dns服务器的搭建_第3张图片
    高速缓存dns服务器的搭建_第4张图片

5.高速缓存dns部署

  • vim /etc/named.conf #编辑主配置文件
  • 编辑内容如下:
    高速缓存dns服务器的搭建_第5张图片
    在这里插入图片描述
  • systemctl restart named #重启服务
  • netstat -antlupe | grep named #查看服务的端口53是否为172.25.254.120开启
    高速缓存dns服务器的搭建_第6张图片
  • 测试:在另一台主机172.25.254.220上
  • vim /etc/resolv.conf #编辑本地解析文件
  • 编辑内容为:nameserver 172.25.254.120
  • dig www.baidu.com #根据域名www.baidu.com查找ip
    高速缓存dns服务器的搭建_第7张图片
    高速缓存dns服务器的搭建_第8张图片

6.正向解析服务器搭建

vim /etc/named.rfc1912.zones #编辑子配置文件添加解析的信息
cd /var/named/  #切换到服务的缓存目录下
ls  #查看都有什么内容
cp -p named.localhost westos.org.zone  #创建服务器主机的信息文件(-p是复制权限)将模版复制到信息文件中
vim westos.org.zone  #编辑文件,写入主机的名字和ip
systemctl restart named  #重启服务
  • 添加解析的内容如下:
    高速缓存dns服务器的搭建_第9张图片
  • 编辑文件westos.org.zone的内容如下:
    高速缓存dns服务器的搭建_第10张图片
  • TTL:本机缓存从其他主机获取数据时间
  • @表示在/etc/named.rfc1912.zones中编辑的zone下引号内的所有内容
  • serial最大位数为10位,并且数字只能增加,不能减少,标记zone文件更新
  • refresh刷新,slave复核serial是否有变化时间
  • retry表示如果refresh不能完成重新操作时间间隔
  • expire最大时间,slave无法取得master的练习还对外提供服务的时间
  • minimum对NXdomin是否回答的缓存时间
  • dns.westos.org后加 . 表示域名已经结束
    高速缓存dns服务器的搭建_第11张图片
  • 测试:在另一台主机172.25.254.220中
  • dig www.westos.org #找westos.org这个域里面的主机www的ip
  • dig aaa.westos.org #找westos.org这个域里面的主机aaa的ip
    高速缓存dns服务器的搭建_第12张图片
    高速缓存dns服务器的搭建_第13张图片
  • vim westos.org.zone #编辑文件,写入主机的名字和ip
  • systemctl restart named #重启服务
  • 编辑文件westos.org.zone的内容如下:
    高速缓存dns服务器的搭建_第14张图片
    在这里插入图片描述
  • 测试:在另一台主机172.25.254.220中
  • dig www.westos.org #找westos.org这个域里面的主机www的ip
  • dig aaa.westos.org #找westos.org这个域里面的主机aaa的ip
    高速缓存dns服务器的搭建_第15张图片
    高速缓存dns服务器的搭建_第16张图片
  • 规范域名转换:CNAME
  • vim westos.org.zone #编辑文件,添加需要转换的信息
  • systemctl restart named #重启服务
  • 编辑文件westos.org.zone的内容如下:
    高速缓存dns服务器的搭建_第17张图片
    在这里插入图片描述
  • 测试:在主机172.25.254.220中
  • dig www.westos.org #找westos.org这个域里面的主机www的ip
    高速缓存dns服务器的搭建_第18张图片
  • 关于发送邮件MX:
  • smtp:简单邮件传输协议,端口为25,以ip的方式进行发送
  • mx:邮件交换记录,有等级
  • mail+用户+@+域名 #发送邮件,输入完内容之后加 .
  • vim westos.org.zone #编辑文件,添加需要转换的信息
  • systemctl restart named #重启服务
  • 编辑内容如下:
    高速缓存dns服务器的搭建_第19张图片
    在这里插入图片描述
  • 测试:在主机172.25.254.220中
  • dig -t mx westos.org #查看mx是否设置成功
  • mail [email protected] #在客户端往服务器发邮件
  • 发送内容为:
Subject: qaz
qaz
qaz
.
EOT
  • mailq #查看
    高速缓存dns服务器的搭建_第20张图片
    高速缓存dns服务器的搭建_第21张图片
  • 显示设置成功,但发现与端口信息有关,因此接收邮件失败

7.反向解析

  • vim /etc/named.rfc1912.zones #编辑子配置文件添加反向解析的信息
  • cd /var/named/ #切换到服务的缓存目录下
  • ls #查看都有什么内容
  • cp -p named.loopback 172.25.254.ptr #创建服务器主机的信息文件(-p是复制权限)将模版复制到信息文件中
  • vim 172.25.254.ptr #编辑文件,写入主机的名字和ip
  • systemctl restart named #重启服务
  • 添加解析的内容如下:
    高速缓存dns服务器的搭建_第22张图片
  • 编辑文件westos.org.zone的内容如下:
    高速缓存dns服务器的搭建_第23张图片
    高速缓存dns服务器的搭建_第24张图片
  • 测试:在主机172.25.254.220中
  • dig -x 172.25.254.125 #根据设定的ip寻找域名
    高速缓存dns服务器的搭建_第25张图片

8.内网与外网都可以进行访问

  • 将desktop的ip设定为2个,分别为172.25.254.120,1.1.1.120,将server的ip设定为外网1.1.1.220,并更改/etc/reslov.conf中的nameserver为1.1.1.120
    高速缓存dns服务器的搭建_第26张图片
  • cd /var/named/ #切换到服务的缓存目录下
  • ls #查看都有什么内容
  • cp -p westos.org.zone westos.org.local.zone #创建服务器主机的信息文件(-p是复制权限)将模版复制到信息文件中
  • vim westos.org.local.zone #编辑文件,写入主机的名字和ip
  • 编辑内容为:
    高速缓存dns服务器的搭建_第27张图片
  • cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.local.zones #创建外网的子配置文件
  • vim /etc/named.rfc1912.local.zones #编辑文件添加外网解析信息
  • 编辑内容为:
    高速缓存dns服务器的搭建_第28张图片
  • vim /etc/named.conf #编辑主配置文件
  • systemctl restart named #重启服务
  • 编辑内容为:
    高速缓存dns服务器的搭建_第29张图片
    高速缓存dns服务器的搭建_第30张图片
  • 测试时,在desktop主机中:dig aaa.westos.org 发现解析的网段为172.25.254
  • 在server主机中:dig aaa.westos.org 发现解析的网段为1.1.1
    高速缓存dns服务器的搭建_第31张图片
    高速缓存dns服务器的搭建_第32张图片

9.建立辅助dns

  • 在desktop主机上注释掉之前的双向解析
  • 将server主机的ip改为172.25.254.220
  • 在server中进行如下操作:
yum install bind -y
vim /etc/named.conf
netstat -antlupe | grep named  #看53端口是否开启
vim /etc/named.rfc1912.zones
cd /var/named/salves
ls
systemctl restart named

在这里插入图片描述
高速缓存dns服务器的搭建_第33张图片
高速缓存dns服务器的搭建_第34张图片
高速缓存dns服务器的搭建_第35张图片
在这里插入图片描述
高速缓存dns服务器的搭建_第36张图片

  • vim slaves/westos.org.zone #查看文件内容是否被同步
    高速缓存dns服务器的搭建_第37张图片
  • dig www.westos.org
    高速缓存dns服务器的搭建_第38张图片

10.dns的远程更新

1.基于ip的更新

cp -p westos.org.zone /mnt/  #为了安全起见,先将文件westos.org.zone复制到/mnt/下
getenforce  #关闭selinux,状态为Disabled
ls -ld /var/named/  #查看目录的权限
chmod 770 /var/named/  #更改权限为770
ls -ld /var/named/  #再次查看目录的权限是否更改成功
vim /etc/named.rfc1912.zones  #编辑子配置文件添加允许更新的主机ip
systemctl restart named  #重启
  • 编辑文件/etc/named.rfc1912.zones内容如下:
    高速缓存dns服务器的搭建_第39张图片
    高速缓存dns服务器的搭建_第40张图片
  • 进行更新(在允许更新的主机上进行):
[root@server slaves]# nsupdate  
> server 172.25.254.120  
> update add bbb.westos.org 86400 A 172.25.254.188
> send
> quit
#给172.25.254.120主机上添加bbb.westos.org且ip为172.25.254.188

在这里插入图片描述

  • 测试(在172.25.254.120的主机上):
  • dig bbb.westos.org #解析bbb.westos.org
    高速缓存dns服务器的搭建_第41张图片
  • vim westos.org.zone #查看文件发现并没有同步
    高速缓存dns服务器的搭建_第42张图片
  • systemctl restart named #重启
  • vim westos.org.zone #重启后再次查看文件发现同步
    高速缓存dns服务器的搭建_第43张图片
    在这里插入图片描述
    在这里插入图片描述
  • 进行更新(在允许更新的主机上进行):
[root@server slaves]# nsupdate
> server 172.25.254.120
> update delete bbb.westos.org
> send
> quit
#给172.25.254.120主机上删除bbb.westos.org且ip为172.25.254.188

在这里插入图片描述

  • 测试(在172.25.254.120的主机上):
  • dig bbb.westos.org #解析bbb.westos.org
    高速缓存dns服务器的搭建_第44张图片
  • vim westos.org.zone #查看文件发现并没有同步
    高速缓存dns服务器的搭建_第45张图片
  • systemctl restart named #重启
  • vim westos.org.zone #重启后再次查看文件发现同步
    高速缓存dns服务器的搭建_第46张图片
    在这里插入图片描述

2.基于key的更新

rm -rf westos.org.zone*  #删除掉生成的多余的文件
cp -p /mnt/westos.org.zone .  #将原有的文件复制到本级目录中
ls  #查看是否存在
systemctl restart named  #重启
cd /mnt/  #切换到/mnt/下,在此目录中生成钥匙
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos  #生成钥匙
ls  #查看钥匙是否生成成功
cat Kwestos.+157+62585.key  #查看加密文件
cp -p /etc/rndc.key /etc/westos.key  #生成自己的加密文件
vim /etc/westos.key  #编辑自己的加密文件,加入钥匙名字和加密字符
vim /etc/named.conf  #编辑配置文件,使其识别钥匙
systemctl restart named  #重启
vim /etc/named.rfc1912.zones  #编辑子配置文件,使其允许钥匙加密更新
systemctl restart named  #重启
scp Kwestos.+157+62585.* [email protected]:/mnt/  #将钥匙发送到进行更新的主机中

高速缓存dns服务器的搭建_第47张图片
在这里插入图片描述

  • 编辑/etc/westos.key 的文件内容如下:
    在这里插入图片描述
    在这里插入图片描述
  • 编辑文件/etc/named.conf的内容如下:
    在这里插入图片描述
    在这里插入图片描述
  • 编辑文件/etc/named.rfc1912.zones 的内容如下:
    高速缓存dns服务器的搭建_第48张图片
    高速缓存dns服务器的搭建_第49张图片
  • 进行更新(在允许更新的主机上进行):
cd /mnt/
ls
[root@server mnt]# nsupdate -k Kwestos.+157+62585.private
> server 172.25.254.120
> update add bb.westos.org 86400 A 172.25.254.188
> send
> quit
#给172.25.254.120主机上添加bb.westos.org且ip为172.25.254.188

在这里插入图片描述
在这里插入图片描述

  • 测试(在172.25.254.120的主机上):
  • dig bb.westos.org #解析bb.westos.org
    高速缓存dns服务器的搭建_第50张图片
  • vim westos.org.zone #查看文件发现并没有同步
    高速缓存dns服务器的搭建_第51张图片
  • systemctl restart named #重启
  • vim westos.org.zone #重启后再次查看文件发现同步
    高速缓存dns服务器的搭建_第52张图片
  • 进行更新(在允许更新的主机上进行):
[root@server mnt]# nsupdate -k Kwestos.+157+62585.private
> server 172.25.254.120
> update delete bb.westos.org
> send
> quit
#给172.25.254.120主机上删除bb.westos.org且ip为172.25.254.188

在这里插入图片描述

  • 测试(在172.25.254.120的主机上):
  • dig bb.westos.org #解析bb.westos.org
    高速缓存dns服务器的搭建_第53张图片
  • vim westos.org.zone #查看文件发现并没有同步
    高速缓存dns服务器的搭建_第54张图片
  • systemctl restart named #重启
  • vim westos.org.zone #重启后再次查看文件发现同步
    高速缓存dns服务器的搭建_第55张图片

11.动态域名解析:DDNS(DNS+DNCP)

  • DDNS(Dynamic Domain Name Server)是动态域名服务的缩写
  • DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上
  • 用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序
  • 服务器程序负责提供DNS服务并实现动态域名解析
  • 一般动态分配ip,那么dns域名解析的ip就变了,客户会访问不到,我们要把域名与ip的对应关系做好
  • dhcp将哪个ip给被访问域名,dhcp告诉dns,这样客户端才会正常访问一个域名内的主机
  • 注意:
  • selinux状态为disabled
  • 测试主机域名为westos.org
  • dhcp可以有多个钥匙
  • 当dhcp与dns在一台主机上时,所更新的主机ip应写为回环接口127.0.0.1(速度较快,且更为安全)
  • 当dhcp与dns不在一台主机上时,所更新的主机ip应写为dns主机的ip
在dns主机中:
yum install dhcp -y  #在安装有dns的主机上安装dhcp,给测试主机分配ip
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf  #复制模版到dhcp的配置文件
vim /etc/dhcp/dhcpd.conf  #编辑配置文件
systemctl restart dhcpd  #重启dhcpd
systemctl status dhcpd  #查看dhcpd的状态
  • 编辑文件/etc/dhcp/dhcpd.conf 的内容如下:(删除27、28行及35行之后的内容)
    在这里插入图片描述
    在这里插入图片描述
    高速缓存dns服务器的搭建_第56张图片
    高速缓存dns服务器的搭建_第57张图片
在测试主机中:
vim /etc/sysconfig/network-scripts/network-scripts/ifcfg-eth0  #编辑网络配置的文件更改ip方式为dhcp
systemctl restart network  #重启网络
ifconfig eth0  #查询ip是否分配成功
hostnamectl  #查询域名是否为westos.org
dig server.westos.org  #根据测试主机的域名查找ip发现ip并未同步
  • 编辑文件/etc/sysconfig/network-scripts/network-scripts/ifcfg-eth0的内容如下:
    高速缓存dns服务器的搭建_第58张图片
    在这里插入图片描述
    高速缓存dns服务器的搭建_第59张图片
    高速缓存dns服务器的搭建_第60张图片
    高速缓存dns服务器的搭建_第61张图片
在dns主机中:
man 5 dhcpd.conf  #查看dhcpd.conf文件的使用方式
vim /etc/dhcp/dhcpd.conf  #编辑配置文件
systemctl restart dhcpd  #重启dhcpd
  • 编辑内容如下:
ddns-update-style  interim;
key westos {
     
         algorithm hmac-md5;
         secret 加密字符串==;  ##使用cat /etc/westos.key查看
       };
zone westos.org. {
     
         primary 127.0.0.1;
         key westos;
       }  

在这里插入图片描述
高速缓存dns服务器的搭建_第62张图片
在这里插入图片描述

在测试主机中:
dig server.westos.org  #根据域名查找ip发现ip已经同步

高速缓存dns服务器的搭建_第63张图片

你可能感兴趣的:(服务详解)