高速缓存DNS

来源:互联网 发布:策略限制网络 编辑:程序博客网 时间:2024/05/29 02:31
权威名称服务器
存储并提供某区域 ( 整个 DNS 域或 DNS 域的一部分 ) 的实际数据。权威名称服
务器的类型包括

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

非权威 / 递归名称服务器
 客户端通过其查找来自权威名称服务器的数据。递归名称服务器的类型包括

仅缓存名称服务器 : 仅用于查找 , 对于非重要数据之外的任何内容都不具有权威性


DNS 查找


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

, 名 ch 称服务器将信息传递至客户端并在自己的缓存中保留一个副本 , 以备以后查找。


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 服务器拒绝回答 ( 也许是出于
访问控制原因 )
www.westos.orgdig 输出的部分内容
标题指出关于查询和答案的信息 , 其中包括
响应状态和设置的任何特殊标记 ( aa 表示
权威答案 , 等等 )
– QUESTION : 提出实际的 DNS 查询
– ANSWER : 响应 ( 如果有 )
– AUTHORITY : 负责域 / 区域的名称服务器
– ADDITIONAL : 提供的其他信息 , 通常是关于名
称服务器
– 底部的注释指出发送查询的递归名称服务器以
及获得响应所花费的时间
www.westos.org缓存 DNS 服务器
BIND 是最广泛使用的开源名称服务器
在 RHEL 中 , 通过 bind 软件包提供
防火墙开启端口 53/TCP 和 53/UDP
BIND 的主配置文件是 /etc/named.conf
/var/named 目录包含名称服务器所使用的
其他数据文件
www.westos.org/etc/named.conf 的语法
// 或 # 至行末尾是注释 ; /* 与 */ 之间的文本也
是注释 ( 可以跨越多行 )
指令以分号结束 (;)
许多指令认为地址匹配列表放在大括号中、以
CIDR 表示法表示的 IP 地址或子网列表中 , 或者
命名的 ACL 中 ( 例如 any; [ 所有主机 ] 和
none; [ 无主机 ] )

文件以 options 块开始 , 其中包含控制 named
如何运作的指令
zone 块控制 named 如何查对于其具有权威性的
根名称服务器和区域
www.westos.org一些重要的 options 指令
listen-on 控制 named 侦听的 IPv4 地址
listen-on-v6 控制 named 侦听的 IPv6 地址
allow-query 控制哪些客户端可以向 DNS 服务器询问信息
forwarders 包含 DNS 查询将转发至的名称服务器的列表
( 而不是直接联系外部名称服务器 ; 在设有防火 墙的情况中
很有用 )
所有这些指令会将打括号中以分号分隔的元素视为地址匹配
列表 . 如
– listen-on { any; };
– allow-query { 127.0.0.1; 10.0.0.0/8 };

配置名称服务器
 安装 bind 软件包
 yum install -y bind


 编辑 /etc/named.conf
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
allow-query { any; };
forwarders { 172.25.254.254; };


 启动并启用 DNS 服务器
 systemctl start named
 systemctl enable named
 从 desktopX 进行测试
配置 客户端

[root@dns-client ~]# vim /etc/resolv.conf

################################################3
# Generated by NetworkManager
search westos.com
nameserver 172.25.254.166               ##指定访问位置



[root@dns-server ~]# vim /etc/named.conf
                                                                                           ###删除这一行forwarders {172.25.254.250; };

[root@dns-server ~]# vim /etc/named.rfc1912.zones  ##加入下面的文件
#############################################
zone "westos.com" IN {
          type master;
          file "westos.com.zone";
          allow-update { none; };
  };
##########################################
 
[root@dns-server ~]# cd /var/named/
[root@dns-server named]# vim westos.com.zone          ##编辑文件为以下的 注意点.....



客户端:

[root@dns-client ~]# dig www.westos.com                                        ####查看DNS解析


域名规范:

增加一个 域名解析 music.westos.com

[root@dns-server named]# vim westos.com.zone
##################################################
$TTL 1D
@       IN SOA  dns.westos.com. root.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.westos.com.
dns     A       172.25.254.244
www     A       172.24.254.144
music   CNAME   music.a.westos.com.
music.a A       172.25.254.111
music.a A       172.25.254.222
westos.com. MX 1  172.25.254.244.
#########################################################
[root@dns-server named]# systemctl restart named

客户端测试:




邮件记录


mail root@westos.com  ##写邮件

Subject: q
dede
qweqw
qwe
EOT


[root@dns-client ~]# mailq   ##发邮件
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
D5C9017E849      461 Fri May  5 23:31:45  root@dns-client.westos.com
            (connect to 172.25.254.244[172.25.254.244]:25: Connection refused)
                                         root@westos.com


[root@dns-client ~]# dig -t mx westos.com    ##用于名称邮件交换器(向何处发送邮件)

多项解析dns服务器:(不同网段的客户机解析出的IP也不同)

 给server增加一块网卡eth1


设置一个不同网段的ip172.25.66.10


配置DNS服务端:

[root@dns-server ~]# cd /var/named/
[root@dns-server named]# cp -p westos.com.zone westos.com.inter       ##把原来配置文件生成一份。inter
[root@dns-server named]# vim westos.com.inter               ##编辑文件如下
#######################################################
$TTL 1D
@       IN SOA  dns.westos.com. root.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS        dns.westos.com.
dns     A         172.25.44.244
www     A         172.25.44.144
music   CNAME     music.a.westos.com.
music.a A         172.25.44.111
music.a A         172.25.44.222
westos.com. MX 1  172.25.44.244.
~                                                                      
~                                                                      
~################################################################                                 
[root@dns-server named]# cp /etc/named.rfc1912.zones /etc/named.rfc1912.inter -p
[root@dns-server named]# vim /etc/named.rfc1912.inter           更改文件如下
#######################################
zone "westos.com" IN {
          type master;
          file "westos.com.inter";
          allow-update { none; };
  };
#############################
 
[root@dns-server named]# cd
[root@dns-server ~]# vim /etc/named.conf     ###更改文件如下
###################################
/*
zone "." IN {
        type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
*/
view localnet {
              match-clients {172.25.254.0/24;};
              zone "." IN {
        type hint;
        file "named.ca";
};
include "/etc/named.rfc1912.zones";
};


view internet {
              match-clients {172.25.44.0/24;};
              zone "." IN {
        type hint;
        file "named.ca";
};
include "/etc/named.rfc1912.inter";
};

#######################################

客户端: 1
配置网址 为172.25.254.144
[root@dns-client ~]# vim /etc/resolv.conf
 
#####################################
# Generated by NetworkManager
search westos.com
nameserver 172.25.254.244
##########################################     

测试命令:
[root@dns-client ~]# dig www.westos.com



客户端:  2
配置网址为 172.25.44.200

[root@dns-client ~]# vim /etc/resolv.conf
 
#####################################
# Generated by NetworkManager
search westos.com
nameserver 172.25.44.100
##########################################

测试:


反向解析:

root@dns-server named]# vim /etc/named.rfc1912.zones
######################################################
zone "254.25.172.in-addr.arpa" IN {
          type master;
          file "westos.com.ptr";
          allow-update { none; };
  };
###############################################
[root@dns-server named]# vim /etc/named.rfc1912.zones
[root@dns-server named]# cd
[root@dns-server ~]# cp -p /var/named/named.loopback /var/named/westos.com.ptr

[root@dns-server ~]# vim /var/named/westos.com.ptr
#################################################
$TTL 1D
@       IN SOA  dns.westos.com. root.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.westos.com.
dns     A       172.25.254.166
156     PTR     www.westos.com.
~                                                                      
~                                                
#############################################################3                      
                                                    
[root@dns-server ~]# systemctl restart named
[root@dns-server ~]# 

测试段测试:


更新dns:


服务端:

[root@dns-server ~]# cp -p /var/named/westos.com.zone /mnt
[root@dns-server ~]# vim /etc/named.rfc1912.zones

####################################改####
zone "westos.com" IN {
          type master;
          file "westos.com.zone";
          allow-update { 172.25.254.144; };
################################################
[root@dns-server ~]# chmod 770 /var/named/
[root@dns-server ~]# setsebool -P named_write_master_zones 1

测试:

dns加密更新:


[root@dns-server ~]# vim /etc/westos.key                                               
##############################
key "westoskey" {
        algorithm hmac-md5;
        secret "k0x20sfxufoIWh9eQe7jfxkQ+D8WeV8h73qkJjTNwi4=";      ##生成的钥匙
};
#########################################3


[root@dns-server named]# vim /etc/named.conf                    

##############################################33
include "/etc/westos.key";                                                                     ##在43行加入
############################################3

 
[root@dns-server named]# vim /etc/named.rfc1912.zones
############################################3
zone "westos.com" IN {
          type master;
          file "westos.com.zone";
          allow-update { key westoskey; };  ######改
  };
###################################################
[root@dns-server named]# systemctl restart named
[root@dns-server named]# scp Kwestoskey.+157+61526.*  root@172.25.254.144:/mnt/
The authenticity of host '172.25.254.144 (172.25.254.144)' can't be established.
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? tes
Please type 'yes' or 'no': yes
Warning: Permanently added '172.25.254.144' (ECDSA) to the list of known hosts.
root@172.25.254.144's password:
Kwestoskey.+157+61526.key      100%   73     0.1KB/s   00:00    
Kwestoskey.+157+61526.private  100%  185     0.2KB/s   00:00    

 测试:


.动态dns域名解析:
 


 yum install dhcp -y                                                            ##安装dhcp服务
 cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
 vim dhcpd.conf    
  option domain-name "westos.com"; ##域名
  option domain-name-servers 172.25.254.223; ##dns服务器IP

  ddns-update-style interim;   ##允许通过钥匙更新dns
  log-facility local7;
  subnet 172.25.254.0 netmask 255.255.255.0 { ##网段
    range 172.25.254.120 172.25.254.130;  ##网池,IP从160到165随意分配
    option routers 172.25.254.250;  ##网关
  }
  key dnskey {
   algorithm hmac-md5;
   secret DUxcUSMjFqU++8vbN1FLXIJ6GhZujLAs6L6OvR67RUI=;
  };
 
 vim /etc/named.conf
  view localnet {
   match-clients { 172.25.254.0/24; 127.0.0.1; }; ##增加127.0.0.1
   zone "." IN {
   type hint;
   file "named.ca";
   };
   include "/etc/named.rfc1912.zones";
  };
  view inter {
   match-clients { 172.25.66.0/24; 127.0.0.1; }; ##增加127.0.0.1
   zone "." IN {
   type hint;
   file "named.ca";
   };
   include "/etc/named.rfc1912.inter";
  };
 systemctl restart named
 systemctl restart dhcpd
dns-client测试:
 hostnamectl set-hostname test.westos.com ##设置主机名
 vim /etc/sysconfig/network-scripts/ifcfg-eth0 ##动态获取IP
  DEVICE=eth0
  BOOTPROTO=dhcp
  ONBOOT=yes
 systemctl restart network
 ifconfig
 dig test.westos.com    ##得到的IP是dhcp给的IP

测试:


0 0
原创粉丝点击