Linux运维--DNS详解

一、高速缓存DNS

1 DNS

Domain Name System,域名系统。

万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网。他主要负责把域名和IP的相互转换,DNS运行与TCP|UDP的53端口上。

2 DNS分类

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

(2)非权威/递归名称服务器(非权威dns里边没有客户需要的答案,但他会通过114.114.114.114等权威DNS找到答案给客户)
客户端通过其查找来自权威名称服务器的数据

3 高速缓存DNS

DNS服务器可以高速缓存从其他DNS服务器收到的DNS记录,也可以在DNS客户服务中使用高速缓存,将其作为DNS客户端保存在最近的查询过程中得到的信息

高速缓存DNS的作用就是当一个主机第一次访问一个网页的时候,该主机的DNS服务器以从远处的服务器拿到数据,并进行高速缓存;这样在主机或者其他主机进行下一次访问的时候,可以直接从该主机的高速缓存中直接获取,这样的方式叫做高速缓存。

主配置文件:/etc/named.conf
子配置文件:/etc/named.rfc1912.zones
数据目录:/var/name
使用端口:53

4、DNS排错

dig时显示的信息,显示来自dns查找的详细信息,其中包括为什么查询失败

错误信息含义
NOERROR查询成功
NXDOMAINDNS服务器提示提示不存在这样的内容
SERVFAILDNS服务器停机或DNSSEC响应验证失败
REFUSEDDNS服务器拒绝回答(也许是出于访问控制原因)

5 DNS资源记录

DNS区域采用资源记录的形式存储信息。每条资源记录均具有一个类型,表明其保留的数据类型

类型含义
A名称至IPV4地址
AAAA名称至IPV6地址
CNAME名称至“规范名称“(包含A/AAAA 记录的另一个名称)
PTRIPV4/IPV6地址至名称
MX用于名称的邮件交换器(向何处发送其电子邮件)
NS域名的名称服务器
SOA”授权起始“,DNS区域的信息(管理信息)

二、DNS高速缓存的部署

1 安装部署DNS

安装,服务的开启与火墙设置:

 yum install bind.x86_64 -y
 systemctl start named				##动虚拟机鼠标键盘可以加速		
 systemctl enable named.service
 firewall-cmd --permanent --add-service=dns		#添加服务
 firewall-cmd --reload 

2 高速缓存dns

编辑配置文件:

 vim /etc/named.conf 		
写入或更改:
 11 listen-on port 53 { any; };
 17 allow-query     { any; };
 18 forwarders {114.114.114.114;};
 33 dnssec-validation no;

 systemctl restart named		#动虚拟机鼠标键盘可以加速

在这里插入图片描述
3 测试

在客户主机做解析:

 vim /etc/resolv.conf

	nameserver 172.25.254.116		#服务器的ip

 dig www.baidu.com

测试结果如下:
在这里插入图片描述

三、权威DNS正向解析

1 配置文件

编辑dns服务主配置文件:

 vim /etc/named.conf 		
写入或更改:
 11 listen-on port 53 { any; };
 17 allow-query     { any; };
 18 forwarders {114.114.114.114;};
 33 dnssec-validation no;

编辑dns服务子配置文件:

 vim /etc/named.rfc1912.zones 
 
 25 zone "westos.org" IN {
 26         type master;
 27         file "westos.org.zone";
 28         allow-update { none; };
 29 };

在这里插入图片描述
2 建立域名信息文件

dns服务的数据发布目录为/var/named/,因此需要在此目录下建立:

 cd /var/named/
 cp -p named.localhost westos.org.zone			#带权限复制模板
 vim westos.org.zone
   1 $TTL 1D
   2 @       IN SOA  dns.westos.org. root.westos.org. (
   3                                         0       ; serial
   4                                         1D      ; refresh
   5                                         1H      ; retry
   6                                         1W      ; expire
   7                                         3H )    ; minimum
   8         NS      dns.westos.org.
   9 dns     A       172.25.254.116
  10 www     A       172.25.254.216

 systemctl restart named

其中信息含义为:
在这里插入图片描述
3 测试

在客户主机做解析:

 vim /etc/resolv.conf

	nameserver 172.25.254.116		#服务器的ip

 dig www.westos.org

测试结果如下:

在这里插入图片描述

4 DNS0名称转换和轮循

客户在访问规范域名时转换为内部的域名:

 vim westos.org.zone
   1 $TTL 1D
   2 @       IN SOA  dns.westos.org. root.westos.org. (
   3                                         0       ; serial
   4                                         1D      ; refresh
   5                                         1H      ; retry
   6                                         1W      ; expire
   7                                         3H )    ; minimum
   8                 NS      dns.westos.org.
   9 dns             A       172.25.254.116
  10 www             CNAME   bbs.westos.org.
  11 bbs             A       172.25.254.111
  12 bbs             A       172.25.254.222

 systemctl restart named

填入以上内容即可实现地址的轮询,使用dig命令访问www.westos.org(将转换为bbs.westos.org)或者bbs.westos.org时将会在172.25.254.111172.25.254.222中轮询:

在这里插入图片描述
在这里插入图片描述
5 DNS邮件交换器

邮件的传输协议:smtp

 vim westos.org.zone
  1 $TTL 1D
  2 @       IN SOA  dns.westos.org. root.westos.org. (
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8                 NS      dns.westos.org.
  9 dns             A       172.25.254.116
 10 www             CNAME   bbs.westos.org.
 11 bbs             A       172.25.254.111
 12 bbs             A       172.25.254.222
 13 westos.org.     MX 1    172.25.254.116.			#设置邮件交换器

 systemctl restart named

测试:
在这里插入图片描述

四、DNS反向解析

dig命令加参数-x可以实现ip的反向解析

1 编辑服务子配置文件

 vim /etc/named.rfc1912.zones
 52 zone "254.25.172.in-addr.arpa" IN {
 53         type master;
 54         file "westos.org.ptr";
 55         allow-update { none; };
 56 };

在这里插入图片描述
2 建立反向解析文件

在服务数据发布目录重建立文件:

 cd /var/named/
 cp -p named.loopback westos.org.ptr
 vim westos.org.ptr
   1 $TTL 1D
   2 @       IN SOA  dns.westos.org. root.westos.org. (
   3                                         0       ; serial
   4                                         1D      ; refresh
   5                                         1H      ; retry
   6                                         1W      ; expire
   7                                         3H )    ; minimum
   8         NS      dns.westos.org.
   9 dns     A       172.25.254.116
  10 111     PTR     bbs.westos.org.
  11 222     PTR     www.westos.org.

 systemctl restart named

在这里插入图片描述
3 测试
在客户端:

 dig -x 172.25.254.111

在这里插入图片描述

五、DNS双向解析

需要实现的功能:内网主机访问的地址与外网主机访问dns时看到的地址不同

1 再新建一个内网用户正向解析文件

将内网用户可以看到的的网段设置为192.168.0(外网用户看到的网段为172.25.254

 cd /var/named/
 cp -p westos.org.zone westos.org.localnet
 vim westos.org.localnet
  
  1 $TTL 1D
  2 @       IN SOA  dns.westos.org. root.westos.org. (
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8         NS      dns.westos.org.
  9 dns     A       192.168.0.116
 10 www     CNAME   bbs.westos.org.
 11 bbs     A       192.168.0.111
 12 bbs     A       192.168.0.222
 13 westos.org.     MX 1    192.168.0.116.

在这里插入图片描述

2 新建内网用户子配置文件

外网用户的子配置文件之前已经存在(/etc/named.rfc1912.zones),因此只需要建立内网用户子配置文件:

 cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.localnet
 vim /etc/named.rfc1912.localnet
 26 zone "westos.org" IN {
 27         type master;
 28         file "westos.org.localnet";
 29         allow-update { none; };
 30 };

在这里插入图片描述
3 更改主配置文件

 vim /etc/named.conf

注释一些内容:在这里插入图片描述
写入:
对于内网主机:

  61 view localnet {
  62         match-clients {172.25.254.116;	};		#内网主机为172.25.254.116
  63         zone "." IN {
  64                 type hint;
  65                 file "named.ca";
  66          };
  67 		include "/etc/named.rfc1912.localnet";
  68 };

对于外网主机:

  70 view internet {
  71         match-clients {any;};
  72         zone "." IN {
  73                 type hint;
  74                 file "named.ca";
  75          };
  76         include "/etc/named.rfc1912.zones";
  77 };

在这里插入图片描述
之后重启服务

4 测试

在内网用户(ip为172.25.254.116)测试:

在这里插入图片描述
在外网用户(ip为172.25.254.216)测试:
在这里插入图片描述

六、辅助DNS

注意:此步操作需要将双向解析在主配置文件中所做的设定还原

搭建辅助DNS的作用:缓解主DNS服务器的压力

1 辅助dns的设置

在辅助dns服务器上安装部署dns服务并在火墙中添加dns服务:

 yum install bind -y
 systemctl start named
 systemctl enable named.service 
 firewall-cmd --permanen --add-service=dns
 firewall-cmd --reload 

辅助dns主配置文件设置与主dns服务器相同

辅助dns子配置文件设置:

 vim /etc/named.rfc1912.zones

 25 zone "westos.org" IN {
 26         type slave;
 27         masters { 172.25.254.116; };
 28         file "slaves/westos.org.zone";
 29         allow-update { none; };
 30 };

 systemctl restart named

在这里插入图片描述
辅助dns设置成功

测试:
在另外一台主机上 将解析服务设置为辅助dns的ip地址,并执行dig命令:

 vim /etc/resolv.conf 
 nameserver 172.25.254.216			#辅助dns服务器的ip地址

在这里插入图片描述
2 辅助dns服务器的更新

当主dns服务器上的A记录发生变化时,辅助服务器不会更新,即辅助dns与主dns数据不同步
主dns服务器中A记录更改为:
在这里插入图片描述
数据不同步时:
在这里插入图片描述

删除辅助dns服务器上的A记录保存文件,并重启服务:

 cd /var/named/slaves/
 rm -rf westos.org.zone
 systemctl restart named

在这里插入图片描述

数据同步后:
在这里插入图片描述

3 辅助dns服务器的自动更新

辅助dns的自动更新需要更改主dns服务的子配置文件

 vim /etc/named.rfc1912.zones

 26 zone "westos.org" IN {
 27         type master;
 28         file "westos.org.zone";
 29         allow-update { none; };
 30         also-notify {172.25.254.216; };			#添加辅助dns的地址
 31			#allow-transfer {172.25.254.216; };		允许哪些主机同步,rhel7默认允许,rhel7之前的版本需要添加此参数
 32 };

在这里插入图片描述
更改主dns信息发布文件:

 vim /var/named/westos.org.zone			#将serial值改为1

 systemctl restart named 

在这里插入图片描述
更改完成后辅助dns将会自动同步主dns的内容

七、dns的更新

dns的更新表示其他主机更改dns服务器中的A记录信息,dns更新的设置:

1 更改dns服务器配置文件

 vim /etc/named.rfc1912.zones

 26 zone "westos.org" IN {
 27         type master;
 28         file "westos.org.zone";
 29         allow-update { 172.25.254.216; };		#允许172.25.254.216主机更改
 30         also-notify {172.25.254.216; };
 31 };

在这里插入图片描述
2 更改信息发布目录权限

更改dns服务器信息发布目录权限,使其对named用户可写:

 chmod 770 /var/named/

在这里插入图片描述
之后备份原A记录文件,并重启服务:

 cp -p /var/named/westos.org.zone /mnt/ 
 systemctl restart named

3 dns的更新

17.25.254.216(dns服务器中允许上传的主机)主机上做dns的更新:

信息添加:

  nsupdate 
 > server 172.25.254.116 			#更新的dns服务器 
 > update add hello.westos.org 86400 A 172.25.254.123
 > send
 > quit

在这里插入图片描述
测试:
在这里插入图片描述
删除信息:

 nsupdate 
 > server 172.25.254.116
 > update delete hello.westos.org
 > send
 > quit

在这里插入图片描述
测试:
在这里插入图片描述

八、dns的key更新

七中dns的更新为dns的ip更新,做key更新前需要将ip更新所作的更改还原

 cd /var/named/
 systemctl restart named
 rm -rf westos.org.zone*
 cp -p /mnt/westos.org.zone .
 systemctl restart named

1 生成dns的key

在/mnt/目录下生成key:

 cd /mnt/
 dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos		#敲鼠标键盘可以加快速度

在这里插入图片描述
2 生成自己的key

 cp -p /etc/rndc.key /etc/westos.key
 vim /etc/westos.key

  1 key "westos" {
  2         algorithm hmac-md5;
  3         secret "YSDp28BQk1OU6MBsJ5Oxyw==";
  4 };

在这里插入图片描述
3 更改dns主配置文件

 vim /etc/named.conf
写入:
 44 include "/etc/westos.key";

在这里插入图片描述

4 更改dns子配置文件

更改dns子配置文件,改成仅允许持有key的主机更改dns:

 vim /etc/named.rfc1912.zones

 26 zone "westos.org" IN {
 27         type master;
 28         file "westos.org.zone";
 29         allow-update { key westos; };
 30         also-notify {172.25.254.216; };
 31 };

在这里插入图片描述
之后重启服务,dns的key更新即设置完成

 systemctl restart named

5 测试

将dns的key复制到另外一台主机中:

 scp /mnt/Kwestos.+157+54001.* root@172.25.254.216:/mnt/

172.25.254.216中执行更新:

 cd /mnt/
 ls
		Kwestos.+157+54001.key  Kwestos.+157+54001.private
 nsupdate -k Kwestos.+157+54001.key
> server 172.25.254.116
> update add hello.westos.org 86400 A 172.25.254.66
> send
> quit

在这里插入图片描述
表明添加成功:
在这里插入图片描述
注意:若send后出现dns_request_getresponse: clocks are unsynchronized错误,表明两台主机时钟不同步,对两台主机进行时钟同步即可。

九、ddns动态域名解析

1 DDNS动态域名解析

DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。

DDNS又称花生壳

原理:动态域名服务的对象是指IP是动态的,是变动的。普通的DNS都是基于静态IP的,有可能是一对多或多对多,IP都是固定的一个或多个。但DDNS的IP是变动的、随机的。简单来说就是通过DHCP服务器分配的IP地址可以动态更新到DNS服务上,免除了手动指定的麻烦。

2 实验环境设定

客户端设定:

设定网络类型为dhcp,并更改hostnamedns-client.westos.org

服务端设定:

还原实验环境,仅保留正向解析的文件

 cd /var/named/
 rm -rf westos.org.*
 vim /etc/named.rfc1912.zones
	将反向解析相关删除
 cp -p /mnt/westos.org.zone .
 systemctl restart named
 vim westos.org.zone
	仅保留dns正向解析的A记录
 systemctl restart named

在这里插入图片描述
安装dhcp并配置:

 yum install dhcp -y
 cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
 cd /etc/dhcp/
 vim dhcpd.conf
 	更改dhcp配置文件
 firewall-cmd --permanent --add-service=dhcp
 firewall-cmd --reload
 systemctl restart dhcpd

dhcp配置文件更改为
在这里插入图片描述
确保客户端能够通过dhcp获取到ip:在这里插入图片描述
实验环境准备完毕,此时在客户端dighostname发现报错NXDOMIN
在这里插入图片描述
3 配置DDNS

服务器更改dhcp配置文件:

  vim /etc/dhcp/dhcpd.conf
  	更改:
  		8 # Use this to enble / disable dynamic dns updates globally.
  		9 ddns-update-style interim;			#去掉注释并把none改为interim
  	添加:
  		25 key westos {
		26         algorithm hmac-md5;
 		27         secret "YSDp28BQk1OU6MBsJ5Oxyw==";
		28 };
 		29 
 		30 zone westos.org. {
 		31         primary 127.0.0.1;
 		32         key westos;
 		33 }

  systemctl restart dhcpd.service

在这里插入图片描述
在这里插入图片描述
4 测试

在客户端重启网络后dighostname发现A记录为其通过dhcp获取到的ip:

 systemctl restart network
 dig dns-client.westos.org

在这里插入图片描述
说明DDNS设置成功

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值