高速缓存dns

DNS 总揽

权威名称服务器

存储并提供某区域 ( 整个 DNS 域或 DNS 域的一部分 ) 的实际数据。

权威名称服务器的类型包括
Master : 包含原始区域数据。有时称作 “主要 ”名称服务器
Slave : 备份服务器 , 通过区域传送从 Master 服务器获得的区域数据的副本。有时称作 “次要 ”名称服务器

非权威 / 递归名称服务器

    客户端通过其查找来自权威名称服务器的数据。递归名称服务器的类型包括 存名称服务器 : 仅用于查找 , 对于非重要数据之外的任何内容都不具有权威性

DNS 查找

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

DNS资源记录

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

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

DNS排错

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

1.安装部署dns

   概述:dns高速缓存,提高本地其他用户的访问速度,第一次访问一个域名的时候,花费的时间比较长,第一次解析过后,再次解析就会减少解析时间

前提:关闭防火墙

在虚拟机里:

扫描二维码关注公众号,回复: 2406961 查看本文章

<1>yum install bind   -y    #下载dns的客户端

<2>systemctl start named    #开启dns服务端,开启时因为加密字符不够,无法正常开启,敲击键盘生成随即密码

<3>vim /etc/named.conf   #修改主配置文件,允许其他用户访问

在真机里测试:

关于dig:

dig+域名            #用来解析一个域名

其显示内容:关于查询和答案的信息,其中包括响应状态和设置的任何特殊标记

      - QUESTION : 提出实际的 DNS 查询
    – ANSWER : 响应( 如果有 )
    – AUTHORITY : 负责域 / 区域的名称服务器

    – ADDITIONAL : 提供的其他信息 , 通常是关于名称服务器
    – 底部的注释指出发送查询的递归名称服务器以及获得响应所花费的时间

<4>dig www.baidu.com  #询问失败,因为没有配置dns服务器ip

<5>vim /etc/resolv.conf

<6>dig www.qq.com         #第一次访问,时间比较长

<7>ssh [email protected]     #再连接另外一个主机

<8>vim /etc/resolv.conf

 添加:nameserver 172.25.254.138

<9>dig www.qq.com   #用时减少

2.权威dns的正向解析(给定一个域名,会解析出来ip)

<1>vim /etc/named.rfc1912.zones  #编辑dns的子配置文件

<2> cd /var/named/

<3>cp -p named.localhost westos.com.zone #把named.localhost文件里的内容拷贝到westos.com.zone中,-p表示带权限拷贝 

<4>vim westos.com.zone

<5> vim /etc/named.conf

注释掉 forwarders {114.114.114.114;};     #此时不需要它来提供解析结果

<6>systemctl restart named

在本机上开始测试:

<1>dig  hello.westos.com

<2>dig dns.westos.com

3.轮询式域名解析

<1>vim westos.com.zone

<2>systemctl restart named

在本机上开始测试(出现轮询式):

<3>dig node1.westos.com

<4>dig node1.westos.com

4.反向解析(给定ip,解析出域名)

<1>cd /var/named/

<2>vim /etc/named.rfc1912.zones

 

<3>cp -p named.loopback  westos.com.ptr #复制编写内容的模板

<4>ls

<5>vim westos.com.ptr

<6>systemctl restart  named  

在本机上开始测试:

<7>dig -x 172.25.254.111  #-x表示反向

<8>dig -x 172.25.254.222

5.双向域名解析(在企业中称为内外网)

<1>cd /var/named

<2>cp -p /var/named/westos.com.zone /var/named/westos.com.inter

<3>ls

<4>vim westos.com.inter   #把ip全改为192.25.0.

<5>cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter

<6>vim /etc/named.rfc1912.inter

<7>vim /etc/named.conf

注释掉51~58行
再在后边添加

<8>systemctl restart named

在本机测试(在本地访问时是/etc/named.rfc1912.zones中查询的):

<9>dig node1.westos.com

在其他其主机上测试(外网查询时是在/etc/named.rfc1912.inter中查询的):

<10>dig node1.westos.com

6.辅助主机解析:

在dns辅服务端(dns-slave)上:

<1>yum install bind

<2>systemctl start named

<3>hostnamectl set-hostname dns-slave.example.com      #改主机名字

<4>vim /etc/named.conf                     #配置dns

 10 options {

 11         listen-on port 53 { any; };

 12         listen-on-v6 port 53 { ::1; };

 13         directory       "/var/named";

  14         dump-file       "/var/named/data/cache_dump.db";

  15         statistics-file "/var/named/data/named_stats.txt";

 16         memstatistics-file "/var/named/data/named_mem_stats.txt";

  17         allow-query     { any; };

<5>vim /etc/named.rfc1912.zones 

<6>systemctl restart named

<7>systemctl stop firewalld

在dns主服务端(dns-server)上:

<1>vim /etc/named.conf

<2>vim /etc/named.rfc1912.zones

<3>systemctl restart named

开始测试:

在dns主服务端(dns-server)上:

<1>vim /var/named/westos.com.zone

在dns主服务端更改一次,serial上的数值要进行修改(最大十位,超过不生效,一般使用年月日和第几次修改作标记,正好十位),这样更改过的数据才能更新到dns辅配置端

<2>systemctl restart named

在dns-slave上:

<1>dig node1.westos.com

<2>dig node1.westos.com

7.DNS配置更新

在dns主服务端(dns-server)上
<1>cd /var/named
<2>cp -p /var/named/westos.com.zone /mnt #对本地文件进行备份

<3>vim /etc/named.rfc1912.zones  #修改本地配置文件,使172.25.254.238这台主机可以远程更新

 

<4>ll -d /var/named  #/var/named组内用户没有w权限,远程主机无法实现更新

<5>chmod 770 /var/named/  #添加读写权限

<6>systemctl restart named

开始测试(在被允许的主机上):

<1> nsupdate

在被更新的主机上检测:

<1>systemctl restart named

<2>vim /var/named/westos.com.zone

恢复环境:

<1>rm -fr /var/named/westos.com.zone

<2>cp -p /mnt/westos.com.zone  /var/named/

8.加密DNS更新

在dns主服务端(dns-server)上:

<1>cd /mnt

<2>dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos  #需要敲键盘来生成密码

<3>cp /etc/rndc.key /etc/westos.key -p   #备份生成的密码源文件

<4>ls

<5> cat Kwestos.+157+05728.key  #查看生成的密码

<6>vim /etc/westos.key   #修改该生成的正确密码

<7>vim /etc/named.conf

<8>vim /etc/named.rfc1912.zones

<9>scp /mnt/Kwestos.+157+05728.*    [email protected]:/mnt   #把密码传送给想要更新的主机上

<10>systemctl restart named

在dns辅服务端(dns-slave)上:

<1>cd /mnt

<2>ls    #查看密码是否发送过来

<3> nsupdate -k Kwestos.+157+05728.private

在主服务端(dns-server)上检测:

vim /var/named/westos.com.zone

9.DNS域名动态解析

在dns主服务端

<1>yum install dhcp -y

<2>cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf

<3>vim /etc/dhcp/dhcpd.conf

<4> systemctl restart dhcpd

在dns辅服务端

<5>hostnamectl set-hostname linux.westos.com  #必须改成  name.westos.com 这种格式,才能获取到动态ip

<6>vim /etc/sysconfig/network-scripts/ifcfg-eth0#把静态ip改为动态

<7>systemctl restart network

<8>ifconfig

<9>dig linux.westos.com

返回到dns主服务端

<10>systemctl restart named

<11>vim /var/named/westos.com.zone  #可以看到本地的域同步更新

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/wzt888_/article/details/80414098