DNS服务器的搭建

DNS总览

1.权威名称服务器
存储并提供某区域(整个DNS域或DNS域的一部分)的实际数据。
权威名称服务器的类型包括:
Master:包含原始区域数据。有时称作“主要”名称服务器
Slave:备份服务器,通过区域传送从Master服务器获得的区域数据的副本。有时称作“次要”名称服务器

2.非权威/递归名称服务器
客户端通过其查找来自权威名称服务器的数据。
递归名称服务器的类型包括仅缓存名称服务器:仅用于查找,对于非重要数据之外的任何内容 都不具有权威性。
世界上一共13台根域名服务器

3.DNS系统中,常见的资源记录类型

主机记录(A记录)A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上
别名记录(CNAME记录)CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录
IPv4主机记录(A记录)用于将特定的主机名映射到一个主机的IPv4地址
IPv6主机记录(AAAA记录)与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址
服务位置记录(SRV记录)用于定义提供特定服务的服务器的位置,如主机(hostname),端口(port number)等
NAPTR记录它提供了正则表达式方式去映射一个域名,NAPTR记录非常著名的一个应用是用于ENUM查询
PTRIPv4/IPv6 地址至名称
MX用于名称的邮件交换器 (指向何处发送其电子邮件 )
NS| 域名的名称服务器

在进行以下实验时 请关闭selinux

搭建DNS高速缓存服务(非权威DNS)
作用: 每个主机在访问一个网站都需要向外部网站进行dns解析服务,这样会加大网络负载而且浪费大量的时间。而高速缓存可以使内部主机更快的访问外部网站,我们可以让一个内部主机作为服务器去解析ip地址,在得到地址的解析后,其他内部主机可以不需要去访问外部的主机,而是访问服务器的dns,服务器可以将得到的解析地址发送给其它的内部主机,这样就减少了访问的时间 提高了效率 ,还可以减少内部的网络消耗。

实验开始前准备:先给该台虚拟机联网(打开真机的防火墙伪装功能 路由功能 ) 设置虚拟机的ip 网关 在虚拟机中搭建yum源

DNS的服务:named
named服务的软件:bind
在server虚拟机上(此台虚拟机的ip为172.25.254.202)

yum install bind -y ##下载服务对应的软件
systemctl start named ##重启该服务  

有时候会重启不了服务,是因为加密字符的长度不够

ll /etc/rndc.key ##会提示没有这个文件或目录
cat /dev/random ##加密字符很短 /dev/random为 加密字符的存放位置

在这里插入图片描述
这时候我们可以重新打开一个shell在上面输入任意字母 加载加密字符 就可以重启服务

firewall-cmd  --permanent --add-service=dns
firewall-cmd --reload
firewall-cmd --list-all ##给防火墙添加dns服务

在这里插入图片描述

  vim /etc/named.conf ##配置named服务文件

打开53端口
允许任何用户使用此台高速缓存dns
当再此台虚拟机上找不到所需网址时此台虚拟机访问114.114.114.114
设定不进行安全检测 内部检测 (若都为内部主机,将其改为no,yes是为了防止外部主机篡改内部主机的数据或文件)
在这里插入图片描述
在这里插入图片描述

netstat -antulpe | grep named 

设定完成之后 重启服务 查看53端口开放

在这里插入图片描述

vim /etc/resolv.conf ##编辑dns服务配置文件
nameserver 114.114.114.114 ##写上域名解析地址

测试
再另一台内部虚拟机上(desktop)

vim /etc/resolv.conf ##编辑dns服务配置文件
nameserver 172.25.254.202 ##将刚才配置好的高速缓存虚拟机ip作为域名解析服务器地址

我们先再server虚拟机上dig www.baidu.com 有了百度缓ip缓存
然后我们在desktop虚拟机上djg www.baidu.com 查询百度ip
第一次访问百度时间为298毫秒
在这里插入图片描述
在这里插入图片描述
第二次访问百度时时间为0毫秒
在这里插入图片描述
在这里插入图片描述
可以看到第二次访问百度时时间大大减少。这就是高速缓存DNS的作用,可以快速的获得域名解析,而且会大大减少网络的负载。

DNS排错
Status中显示的状态显示来自DNS查找的详细信息,其中包括为什么查询失败:

NOERROR查询成功
NXDOMANDNS服务器提示不存在这样的名称
SERVFAILDNS服务器停机或DNSSEC响应验证失败
REDUSEDDNS服务器拒绝回答(也许是出于访问控制原因)

dig输出的部分内容
标题指出关于查询的问题和答案的信息,其中包括响应状态和设置的任何特殊标记(aa表示权威答案等)

QUESTION提出实际的DNS查询
ANSWER响应(如果有)
AUTHORITY负责域/区域的名称服务器
ADDITIONAL提供的其他信息,通常是关于名称服务器底部的注释指出发送查询的递归名称服务器以及获得响应所花费的时间

配置权威DNS(企业中是这样做的)

DNS正向解析
该实验我们作为企业 创建一个域名 让desktop可以访问的到该网址
步骤:

vim /etc/resolv.conf
nameserver 172.25.254.202 ##写上自己的ip

vim /etc/named ##注释掉 114.114.114.114

在这里插入图片描述

vim /etc/named.conf 

因为将该DNS服务的文件都写在一起不够清晰明了 所以再该文件中 会编辑权威域名解析的指向性文件
在这里插入图片描述

vim /etc/named.rfc1912.zones ##编辑权威域名解析的指向性文件

复制模版 我们设定网址www.westos.com 的指向性文件 westos.com.zone
在这里插入图片描述
cd /var/named ##进入编辑该网址内容的目录
cp -p named.localhost westos.com/zone ##复制模版文件 要将权限也复制过去
vim westos.com.zone ##编辑网址内容
进入目录
在这里插入图片描述
复制模版
在这里插入图片描述
注意:复制模版 一定要将权限也复制过去

编辑网址内容
在这里插入图片描述
完成编辑后重启网络 在desktop虚拟机上dig该网址

在这里插入图片描述
dns在解析域名时会以轮询的工作方式来解析域名,在访问www.westos.com时,172.25.254.3与172.25.254.222会交替解析域名(交替解析)
网址内容

TTL 1D有效的日期为一天
@代表引号内的文字(westos.com),文件内不以“.”结尾的都会加上@代表的字符
SOA为起始授权 和 由谁来维护(出现问题去找谁)
Serial修改标识 当改行数字发生变化 才代表该文件被修改过
Refresh刷新周期
Retry再次访问时间
Expire过期时间
Minimum最小周期 最少多长时间可以修改
NSnameserver

网页重定向CNAME

外部域名www.baidu.com
内部域名www.a.shifen.com
在这里插入图片描述

现在我们将创建的域名进行重定向

vim /etc/var/named/westos.com.zone

在该文件中编辑重定向后的名字
将bbs.westos.com 重定向为 sudanni.westos.com
在这里插入图片描述
重启网络后dig
在这里插入图片描述

邮件的发送

邮件传输协议smtp 端口25

在dns服务器上面netstat -antluep | grep master 查看25端口是否开启

在这里插入图片描述

在DNS服务器的westos.com.zone文件中加入以下内容,并重启服务

在这里插入图片描述
测试:在客户端给服务器发送邮件

超文本传输协议
文件传输协议

dns 53

PTR反向解析

定义:通过ip查找对应的域名

vim /etc/named.rfc1912.local ##编辑指向文件中的反向解析指向内容
cd /var/named ##进入域名解析的自定义文件存放目录
cp -p named.lookback westos.com.ptr ##复制反向解析模版
vim westos.com.ptr ##编辑反向解析内容
复制模版 我们设定网址www.westos.com 的反向解析指向性文件 westos.com.ptr 反写网段
在这里插入图片描述
复制反向解析模版
在这里插入图片描述
反向解析内容
在这里插入图片描述

测试
可以观察到 172.25.254.11 172.25.254. 22 都对应着www.westos.com

在这里插入图片描述

在这里插入图片描述

双向解析

定义:让server访问该网站时,访问的是内网的ip,当desktop通过此台DNS高速缓存访问该网站时。访问的是外网的ip

cd /var/named ##进入域名解析的自定义文件存放目录
cp -p westos.com.zone westos.com.local ##将之前编辑的自定义域名解析文件复制一份作为本地解析使用 
vim westos.com.local ##替换全文的172.25.254为192.168.0 定义本地解析的ip地址为192.268.0.*
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.local ##将之前编辑的自定义域名解析指向文件复制一份  作为本地解析指向文件使用
vim /etc/named.rfc1912.local ##更改指向文件中的指向内容
vim /etc/named.conf ##编辑该文件 指定本地主机访问的是内网 其他物理机访问的是外网
systemctl restart named ##重启服务

本地解析文件内容

在这里插入图片描述
本地指向文件内容

在这里插入图片描述
指定本地主机访问的是内网读取内网对应文件 其他物理机访问的是外网 读取外网对应的文件
在这里插入图片描述
测试
在server:
dig www.westos.com ##显示内网ip 198.168.0.3

在这里插入图片描述

在desktop:
dig www.westos.com ##显示外网ip 172.25.254.3
在这里插入图片描述

辅助DNS
注释掉之前更改的双向dns配置 恢复之前的配置

再打开一台虚拟机(ip 172.25.254.102)

配置高速缓存DNS服务

yum install bind -y 
systemctl start named
firewall-cmd --permanent --add
 firewall-cmd --reload
vim /etc/named.conf ##编辑文件(any设定) 使其他的物理机能够使用该虚拟机的高速缓存
vim /etc/named.rfc1912.zones ##编辑指向文件 指定该虚拟机服务于172.25.254.202的虚拟机

指定该虚拟机服务于172.25.254.202的虚拟机 提供westos.com域名的解析服务
在这里插入图片描述

在server设定 不变默认为master
在这里插入图片描述

测试
将新打开的虚拟机的nameserver 改为 自身 dig
在这里插入图片描述

dns辅助的更新

dns更新

1.直接更新主dns上westos.com 的ip
改变记录修改次数的参数 设置为有意义的数字(最多9位) 更改过后重启网络 在102虚拟机上dig 可以发现ip改变
在这里插入图片描述
更新的数据传到102 会到目录/etc/named/slaves 下
传输的数据是以加密的方式传输

在这里插入图片描述

在这里插入图片描述

vim /etc/named.rfc1912.zones ##在主dns上编辑在更新时 对谁进行通知
 also-notify { 172.25.254.102; };  ##对102通知

在这里插入图片描述

设定完成后 重启服务通知方生效 更改 westos.com 的ip 重启后 会立刻通知102辅助 102会对数据进行更新 (102去主dns拿数据)

linux7以及7以上的版本 在通知更新数据时 不需要使用

allow-transfer { 172.25.254.102; };  

在这里插入图片描述

允许辅助对主dns进行更新

vim /etc/named.rfc1912.zones ##在主dns上编辑允许谁进行更新
 allow-upadte { 172.25.254.102; }; ##允许102对主dns更新
 chmod 770 /var/named ##更改权限 给与named用户组对该文件满权限 这样更新的内容才能发送过来
 chgrp named /var/named ##更改用户组为named

注意:一定要更改权限和用户组

允许102对主dns更新
在这里插入图片描述
更改用户组为named
在这里插入图片描述

102向主dns发送更新内容
在这里插入图片描述发送过来后我们可以看到 内容是以日志的形式发送的
在这里插入图片描述
但是刚发送过来的数据 是不会将westos.com.zone中的内容改变 需要重启服务 重启服务后内容改变
在这里插入图片描述
在进行上述所有的实验操作步骤 都需要重新启动服务

DNS的key更新

接着上述实验操作步骤 恢复最初环境

rm -fr westos.com.zone* ##删除数据更新和传输的数据日志
cp -p /mnt/westos.com.zone /var/named ##恢复之前的文件
systemctl restart named

key更新步骤

dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos ##生成密钥 -a指定密钥类型 -b指定加密字符长度 -n指定密钥名称
cp -p /etc/rndc.key /etc/westos.key ##复制密钥模版文件 配置给刚生成的密钥
 vim /etc/westos.key ##编辑密钥文件
key "密钥名称" {
        algorithm hmac-md5;
        secret "自己生成的key加密字符";
};

vim /etc/named.conf ##在option语句块外 让服务读取key文件
include "/etc/westos.key";

vim /etc/named.rfc1912.zones
zone "wetsos.com" IN {
        type master;
        file "named.loopback";
        allow-update { key westos; }; ##更改ip更新为使用key认证更新
        also-notify { 172.25.254.102; };
};

systemtl restart named ##重启服务
scp Kwestos.* root@172.25.254.102:/mnt ##将生成的密钥传输给指定的虚拟机

生成密钥
在这里插入图片描述
密钥参数指定 -a指定密钥类型 -b指定加密字符长度
在这里插入图片描述
在这里插入图片描述

复制密钥模版文件 配置给刚生成的密钥

在这里插入图片描述 让服务读取key文件
在这里插入图片描述
更改ip更新为使用key认证更新
在这里插入图片描述
重启服务后将生成的密钥传输给指定的虚拟机 查看是否传输成功

在这里插入图片描述

在这里插入图片描述

测试

nsupdate -k Kwestos.+xxx.key ##更新使用密钥解密

测试上传过密钥的虚拟机 可以对主dns的数据进行更改
在这里插入图片描述
在这里插入图片描述

注意:HMAC-MD5 :对称式加密
生成的密钥是一致的:Kwestos.+xxx.key Kwestos.+xxx.private

因为服务在重启时的加密字符采用的是hmac-md5的加密方式 所以key加密方式相同 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190806163140541.png)

对称式加密 生成密钥一致
在这里插入图片描述

动态域名解析服务DDNS

定义:将固定的互联网域名和动态的ip地址实时对应的服务 因为dhcp分配的ip地址到时间期限后就会过期 当过期之后ip会改变,这时对应的域名解析将会发生混乱,为了避免混乱,设定在ip地址变化的同时对应的解析地址与ip地址实时对应

步骤:
在主dns上搭建dhcp服务

yum install dhcp -y
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf ##编辑dhcp的配置文件
ddns-update-style interim; ##打开端口 更改ddns的更新方式
 key 密钥名称 {
       algorithm hmac-md5;
         secret 生成的加密字符;
       };

       zone 维护的域名 {
         primary 127.0.0.1;
         key 密钥名称;
       };

编辑dhcp的配置文件
设定要维护的域 设定提供域名解析的ip地址 设定更新方式 设定ip池大小
key认证
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
更改的模版 man 5 dhcpd.conf
在这里插入图片描述

测试
在客户端desktop上:

vim /etc/sysconfig/network-scripts/ifcfg-eth0 ##修改网络为dhcp
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp

hostnamectl set-hostname mm.west.com ##设定主机名称
dig test.westos.com

修改网络后重启网络 查看ip
在这里插入图片描述
更改名称后 dig
在这里插入图片描述c重启主dns服务后 内容更新

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值