DNS分类:权威DNS/非权威DNS

高速缓存DNS(非权威)

工作过程:Stub解析器去查找/etc/resolv.conf里的DNS服务器
验证命令:dig命令查询DNS解析内容

加密设备 cat /dev/random

搭建高速缓存DNS

安装软件

yum install bind.x86_64 -y

开启软件

systemctl start named(开启失败则需要在敲击主机的键盘)

配置文件

/etc/named.conf

编辑 /etc/name.conf

listen-on port { any; }				127.0.0.1修改为any,允许接收查询 

  allow-query { any; };					修改为any,允许其他主机查看数据
  
  添加 forwarders { 114.114.114.114; }; 查看114.114.114.114的DNS服务
  
  dnssec-validation no;   				关闭安全查询

关闭防火墙或者添加dns服务

firewall-cmd --perment --add-service=dns
  firewall-cmd --reload

配置实例

安装bind服务

Linux centos7 刷新dns缓存_重启


开启服务

Linux centos7 刷新dns缓存_DNS_02


修改配置文件

Linux centos7 刷新dns缓存_DNS高速缓存_03


如果是内网主机可以选择关闭安全查询服务

Linux centos7 刷新dns缓存_DNS_04


重启服务,使配置生效

Linux centos7 刷新dns缓存_DNS_05


查看并确认端口开启状态

Linux centos7 刷新dns缓存_重启_06


添加防火墙允许dns服务,重新加载防火墙

Linux centos7 刷新dns缓存_配置文件_07


配置DNS为高速缓存的服务器

利用dig命令查看区别

第一次访问查询时间为380ms

Linux centos7 刷新dns缓存_配置文件_08


第二次由于存在缓存,查询时间为0ms

Linux centos7 刷新dns缓存_DNS高速缓存_09

解析配置文件和数据目录

/etc/named.rfc1912.zones	配置文件
  /var/named/				相应的数据目录

正向解析

编辑 /etc/named.conf 如果存在,注释forwarders行

编写 /etc/named.rfc1912.zones文件复制标准行,同时对标准行进行修改

zone "westos.com" IN {
    	    type master;
        	file "named.octopus";
        	allow-update { none; };
	};

编写/var/named/目录下的数据文件
复制标准文件,注意属性

cp named.localhost named.octopus -p

编写文件 named.octopus
参数详解

A:名称至IPV4地址
	AAAA:名称至IPV6地址
	MX:用于名称的邮件交换器
	CNAME:名称至规范名称
	PTR:IPv4/IPv6地址至名称
	SOA:授权起始,DNS区域的信息
	NS:域名的名称服务器

编辑内容如下

$TTL 1D
	@	IN SOA	 dns.westos.com. lee.westos.com. (  
						0	; serial
						1D	; refresh
						1H	; retry
						1W	; expire
						3H )	; minimum
		NS	dns.westos.com.
	dns	A	172.25.254.100	
   	bbs	A	172.25.254.111
	www	CNAME	octopus.westos.com.
	octopus	A	172.25.254.112
	octopus	A	172.25.254.113
	westos.com.	MX 1	172.25.254.114.

重新启动named服务

利用dig命令进行结果查询

dig octopus.westos.com

配置实例

编写配置文件,复制标准行,修改内容,设置正向域名解析

Linux centos7 刷新dns缓存_DNS高速缓存_10


编写配置文件,设置文件内容如下,设置规范名称bs.westos.com的可用IP地址为两个,设置邮件服务器IP地址为172.25.254.156

Linux centos7 刷新dns缓存_重启_11


利用dig命令正向解析octopus.westos.com,发现在172.25.254.131和172.25.254.132两IP中循环

Linux centos7 刷新dns缓存_DNS高速缓存_12


Linux centos7 刷新dns缓存_DNS_13


利用mail命令发送邮件至westos.com,发现邮件可以正确的达到172.25.254.156的25端口

Linux centos7 刷新dns缓存_配置文件_14

逆向解析

编辑 /etc/named.conf 如果存在,注释forwarders行

编写 /etc/named.rfc1912.zones文件复制逆向解析标准行,同时对标准行进行修改

zone "254.25.172.in-addr.arpa" IN {
	        type master;
    	    file "named.supotco";
        	allow-update { none; };
	};

NS dns.westos.com.
复制标准文件,注意属性

cp -p named.loopback named.supotco

编写文件内容

$TTL 1D
	@       IN SOA  www.westos.com. lee.westos.com. (
    	                                    0       ; serial
        	                                1D      ; refresh
            	                            1H      ; retry
                	                        1W      ; expire
                    	                    3H )    ; minimum
        	NS      dns.westos.com.
	dns     A       172.25.254.100
	180     PTR     nihao.westos.com.

重新启动named服务

利用dig -x参数进行验证

dig -x 172.25.254.180

配置实例

编写配置文件,复制标准行,修改内容,设置172.25.254.*地址块可进行逆向解析

Linux centos7 刷新dns缓存_DNS_15


复制创建配置文件

Linux centos7 刷新dns缓存_DNS_16


同时修改配置文件按内容如下

Linux centos7 刷新dns缓存_配置文件_17


重启named服务,利用dig命令逆向解析配置的172.25.254.180的域名

Linux centos7 刷新dns缓存_DNS_18

双向解析

复制得到外网访问的所需要的解析文件

cp /etc/named.rfc1912.zones /etc/named.rfc1912.inter.zones -p
  cp /var/named/named.octopus /var/named/named.inter.octopus -p

编辑文件 /etc/named.rfc1912.inter.zones

zone "westos.com" IN {
		type master;
		file "named.inter.octopus";
		allow-update { none; };
	};

编辑文件/var/named/named.inter.octopus

$TTL 1D
	@	IN SOA	dns.westos.com. zy.westos.com. (
						0	; serial
						1D	; refresh
						1H	; retry
						1W	; expire
						3H )	; minimum
		NS	as.westos.com.
	as	A	1.1.1.100
	bbs	A	1.1.1.111
	bs 	CNAME	octopus.westos.com.
	octopus	A	1.1.1.131
	octopus A	1.1.1.132
	westos.com. MX 1 1.1.1.156.

编辑文件 /etc/named.conf

/*
zone "." IN {
	type hint;
	file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
*/

view loacl {
        match-clients { localhost; };
	zone "." IN {
       		type hint;
       		 file "named.ca";
	};

	include "/etc/named.rfc1912.zones";
};


view inter {
        match-clients { any; };
	zone "." IN {
       		type hint;
       		 file "named.ca";
	};

	include "/etc/named.rfc1912.inter.zones";
};

重新启动服务

systemctl restart named

dig访问查看结果

配置实例

修改/etc/named.conf配置文件

Linux centos7 刷新dns缓存_配置文件_19


复制文件

Linux centos7 刷新dns缓存_重启_20


修改文件/etc/rfc1912.inter.zones文件内容

Linux centos7 刷新dns缓存_重启_21


修改配置文件/var/named/named.inter.octopus

Linux centos7 刷新dns缓存_DNS_22


重启服务,此时本机DNS解析与其他机器有了区别

本机octopus.westos.com解析ip为172.25.254.113/172.25.254.112

Linux centos7 刷新dns缓存_配置文件_23


其余机器为1.1.1.132/1.1.1.131

Linux centos7 刷新dns缓存_配置文件_24

辅助DNS服务器

此时将主服务器的配置文件修改为原配置

Linux centos7 刷新dns缓存_DNS_25

客户端
安装软件

yum install bind.x86_64 -y

开启软件

systemctl start named(开启失败则需要在敲击主机的键盘)

配置文件

/etc/named.conf

编辑 /etc/name.conf

listen-on port { any; }				127.0.0.1修改为any,允许接收查询 

  allow-query { any; };					修改为any,允许其他主机查看数据
  
  dnssec-validation no;   				关闭安全查询

编辑/etc/named.rfc1912.zones文件,添加配置内容
zone “westos.com” IN {
type slave;
masters { 172.25.254.141; };
file “slaves/named.octopus”;
allow-update { none; };
};

重启服务,使得配置生效

服务器
修改配置文件,添加实时同步参数,如果是redhat6,则需要添加同意同步的参数
实时同步参数
also-notify { 172.25.254.241; };

重启服务,使得配置生效

配置实例:

客户端

修改配置文件

Linux centos7 刷新dns缓存_DNS_26


关闭本地安全查询

Linux centos7 刷新dns缓存_DNS高速缓存_27


修改文件/etc/named.rfc1912.zones,添加如下内容

Linux centos7 刷新dns缓存_重启_28


服务器端添加同步提示参数

Linux centos7 刷新dns缓存_重启_29


两边均重启服务,发现/var/named/slaves目录下具有named.octopus文件

Linux centos7 刷新dns缓存_DNS_30


配置客户短的DNS为本地IP,查询发现结果与服务器段配置相同

Linux centos7 刷新dns缓存_重启_31


此时修改服务器段配置文件/var/named/named.octopus文件,重启服务

Linux centos7 刷新dns缓存_DNS高速缓存_32


在客户机上再次尝试,发现结果同步

Linux centos7 刷新dns缓存_DNS_33

DNS高速缓存实时更新

在服务器端配置允许实时更新DNS高速缓存参数

allow-update { 172.25.254.141; };

实时更新命令

nsupdate 
  server 172.25.254.141
  添加
  update add test.westos.com 86400 A 172.25.254.123
  删除
  update delete test.westos.com
  send

需要生成相关文件

/var/named/name.*.jnl

所以修改配置文件目录权限

chmod 770 /var/named/

配置实例

修改配置文件

Linux centos7 刷新dns缓存_DNS高速缓存_34


修改目录权限

Linux centos7 刷新dns缓存_重启_35


实时更新

Linux centos7 刷新dns缓存_DNS高速缓存_36


在服务器端以及辅助DNS服务器端查看,发现均已经生效

服务器端

Linux centos7 刷新dns缓存_配置文件_37


辅助DNS服务器端

Linux centos7 刷新dns缓存_DNS_38


查看配置文件目录

Linux centos7 刷新dns缓存_重启_39


重启服务named,发现实时添加的内容已经写入文件

Linux centos7 刷新dns缓存_DNS_40

使用key更新DNS高速缓存

创建密钥对

dnssec-keygen -a HMAC-MD5 -b 128 -n HOST octopus

拷贝修改文件-p参数

cp -p /etc/rndc.key /etc/octopus.key

修改key文件的内容

key "octopus" {
	algorithm hmac-md5;
	secret "2+gF/1UZKXead4hlVcvkbw==";
};

在/etc/named.conf中修改添加密钥

include "/etc/octopus.key";

在/etc/named.rfc1912.zones中修改添加密钥更新

zone "westos.com" IN {
        type master;
        file "named.octopus";
        also-notify { 172.25.254.241; };
        allow-update { key octopus; };
};
重启动服务,使用nsupdate命令指定私钥更新

配置实例

获取密钥对

Linux centos7 刷新dns缓存_重启_41


获取的密钥查看

Linux centos7 刷新dns缓存_DNS高速缓存_42


拷贝标准文件

Linux centos7 刷新dns缓存_配置文件_43


修改复制的密钥文件/etc/octopus.key

Linux centos7 刷新dns缓存_重启_44


修改/etc/named.conf文件,加入创建的密钥

Linux centos7 刷新dns缓存_DNS_45


修改/etc/named.rfc1912.zones文件

Linux centos7 刷新dns缓存_DNS高速缓存_46


重启服务,检验结果

Linux centos7 刷新dns缓存_DNS高速缓存_47


查看添加的内容

Linux centos7 刷新dns缓存_配置文件_48

加密方式动态更新缓存

服务端安装dhcpd服务

yum install -y dhcp

复制得到配置文件并修改

cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf

修改配置文件/etc/dhcp/dhcpd.conf
域名和DNS服务器

option domain-name "westos.com";
  option domain-name-servers 172.25.254.141;

DNS更新网络方式通知

ddns-update-style interim;

DHCP分配范围

subnet 172.25.254.0 netmask 255.255.255.0 {
  range 172.25.254.75 172.25.254.80;
  option routers 172.25.254.250;
}

密钥内容

key octopus {
        algorithm hmac-md5;
        secret "2+gF/1UZKXead4hlVcvkbw==";
};

域名以及密钥方式更新

zone westos.com. {
        primary 127.0.0.1;
        key octopus;
}

服务器端:
配置动态获取IP,配置主机名称为www.westos.com 查看更新结果

配置实例

服务端安装dhcpd服务

Linux centos7 刷新dns缓存_配置文件_49


复制得到配置文件并修改

Linux centos7 刷新dns缓存_DNS_50


修改配置文件/etc/dhcp/dhcpd.conf

域名和DNS服务器

Linux centos7 刷新dns缓存_DNS高速缓存_51


DNS更新网络方式通知

Linux centos7 刷新dns缓存_DNS_52


DHCP分配范围

Linux centos7 刷新dns缓存_重启_53


密钥内容

Linux centos7 刷新dns缓存_重启_54


域名以及密钥方式更新

Linux centos7 刷新dns缓存_配置文件_55


重启服务

Linux centos7 刷新dns缓存_配置文件_56


服务器端:

配置动态获取IP,配置主机名称为www.westos.com

Linux centos7 刷新dns缓存_重启_57

查看结果

Linux centos7 刷新dns缓存_DNS高速缓存_58


改变动态IP范围,使得客户端获取新的IP

Linux centos7 刷新dns缓存_配置文件_59


查看IP

Linux centos7 刷新dns缓存_DNS_60


查看更新结果

Linux centos7 刷新dns缓存_配置文件_61