博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
17.DNS服务基础,特殊、分离解析
阅读量:4230 次
发布时间:2019-05-26

本文共 9522 字,大约阅读时间需要 31 分钟。

DNS服务器

• DNS服务器的功能
– 正向解析:根据注册的域名查找其对应的IP地址
– 反向解析:根据IP地址查找对应的注册域名,不常用

DNS域名的分布式结构   树型结构

  所有域名:必须以点结尾       点(根域)

   www.qq.com.    www.baidu.com.

根域:                    .

一级域名:  .cn   .us    .kr   .hk   .tw  .jp     ......

二级域名:  .edu.cn    .com.cn   .org.cn   .net.cn  ......

三级域名: NB.com.cn   haxi.com.cn    xixi.com.cn   ......

完全合格的主机名(FQDN):      主机头.域名= www.nb.com.cn
Full Qualified Domain Name

  • • BIND服务器端程序

– 主要执行程序:/usr/sbin/named

– 系统服务:named
– 默认端口:TCP/UDP 53
– 运行时的虚拟根环境:/var/named/chroot/

• 主配置文件:/etc/named.conf    #主要  设置负责解析的域名

                                     tedu.cn        

• 地址库文件:/var/named/        #完整的主机名与IP地址对应关系

                               www.tedu.cn----->1.2.3.4

构建DNS服务器:

虚拟机A:

1.安装软件包
[root@svr7 ~]# yum  -y  install  bind-chroot  bind

   bind            //域名服务包

   bind-chroot     //提供虚拟根支持

2.修改主配置/etc/named.conf

[root@svr7 ~]# cp /etc/named.conf  /etc/named.bak       #先备份,以防改错
[root@svr7 ~]# vim /etc/named.conf

 options {

        directory       "/var/named";  #指定地址库文件位置
  };
 zone "tedu.cn" IN {            #指定本机负责解析的域名
        type  master;           #指定本机为主DNS服务器
        file  "tedu.cn.zone";   #指定地址库文件名称
  };

注释方法

1.    注释一行或行内部分的文字

2. //    注释一行或行内部分的文字

3.  /*     */    可连续注释多行文字

]# named-checkconf  /etc/nsmed.conf    检查配置语法,无错误无输出

 

3.建立地址库文件tedu.cn.zone

   cp -p:保持权限不变进行复制
   原理:让named用户对地址库文件有权限

$TTL 生存时间

SOA  授权信息开始

分号表示部分注释

(本区域名简写)@ IN SOA 区域名。  区域管理邮箱。(

NS 域名服务器记录

A 地址记录。仅用于正向解析区域

[root@svr7 ~]# cd /var/named/

[root@svr7 named]# ls
[root@svr7 named]# cp -p named.localhost  tedu.cn.zone
[root@svr7 named]# ls -l tedu.cn.zone
[root@svr7 named]# vim   tedu.cn.zone               
  所有的域名都要写 点 作为结尾
  没有点作为结尾,默认补全本地址库负责的域名
 tedu.cn.     NS  svr7   #声明维护tedu.cn.域名服务器叫什么名称
 svr7         A   192.168.4.7    #指定DNS服务IP地址
 www          A   192.168.4.100
 ftp          A   1.2.3.4

]#  named-checkzone  区域名tedu.cn  配置文件tedu.cn.zone        #检查配置语法

4.重起named服务

[root@svr7 named]# systemctl  restart named

虚拟机B,客户端验证:

1.指定DNS服务器地址
]# echo nameserver  192.168.4.7 > /etc/resolv.conf 
2.测试DNS域名解析
]# nslookup  www.tedu.cn

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

访问过程:
客户端---->nslookup  www.tedu.cn--->/etc/resolv.conf--->192.168.4.7:53---->named服务----->/etc/named.conf  zone "tedu.cn" -----> file "tedu.cn.zone" ----》/var/named/tedu.cn.zone-----》 www   A 192.168.4.100

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

搭建多区域的DNS服务器
 在虚拟机A实现DNS服务器构建,负责解析sina.com域名
 最终实现客户端解析 www.sina.com----->10.11.12.13

虚拟机A:

1.修改配置文件,添加zone配置
[root@svr7 /]# vim /etc/named.conf 
 zone "sina.com" IN {
        type master;
        file "sina.com.zone";
 };
2.建立新的地址库文件
[root@svr7 /]# cd /var/named
[root@svr7 named]# cp -p tedu.cn.zone sina.com.zone
[root@svr7 named]# vim sina.com.zone
 sina.com.     NS  svr7
 svr7          A   192.168.4.7
 www           A   10.11.12.13
[root@svr7 named]# systemctl restart named

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

特殊的解析记录

  • 1.DNS轮询功能(负载均衡)

一个域名 ----》 多个不同IP地址

[root@svr7 /]# vim /var/named/sina.com.zone

 sina.com.     NS   svr7
 svr7          A    192.168.4.7
 www           A    192.168.4.11
 www           A    192.168.4.12
 www           A    192.168.4.13
[root@svr7 /]# systemctl restart named

[root@pc207 ~]# ping www.sina.com

[root@pc207 ~]# ping www.sina.com
[root@pc207 ~]# ping www.sina.com

  • 2.泛域名解析记录

直接以*条目匹配,一般只用在正向区域文件中

[root@svr7 /]# vim /var/named/sina.com.zone 

 sina.com.     NS  svr7

 svr7          A   192.168.4.7
 www           A   192.168.4.11
 *             A   192.168.10.100
 sina.com.     A   192.168.10.200

[root@svr7 /]# systemctl restart named

客户端验证:

[root@pc207 ~]# nslookup sina.com
[root@pc207 ~]# nslookup www.sina.com
[root@pc207 ~]# nslookup wwwww.sina.com

  • 3.有规律的泛域名解析记录

       pc1.sina.com  -------> 192.168.20.1

       pc2.sina.com  -------> 192.168.20.2
       pc3.sina.com  -------> 192.168.20.3
       pc4.sina.com  -------> 192.168.20.4
            ........
       pc50.sina.com  -------> 192.168.20.50

  内置函数:$GENERATE  造数功能:制造连续的数字

[root@svr7 /]# vim /var/named/sina.com.zone  

  ......  
  $GENERATE  1-50  pc$    A  192.168.20.$

[root@svr7 /]# systemctl restart named

客户端验证:

[root@pc207 ~]# nslookup pc22.sina.com
[root@pc207 ~]# nslookup pc28.sina.com

  • 4. CNAME解析记录的别名

[root@svr7 /]# vim /var/named/sina.com.zone 

sina.com.     NS   svr7
svr7          A    192.168.4.7
ftp           A    192.168.4.110
www           A    192.168.4.11
*             A    192.168.10.100
sina.com.     A    192.168.10.200
$GENERATE 1-50 pc$   A   192.168.20.$
tts           CNAME   www

[root@svr7 /]# systemctl  restart named

客户端测试:

[root@pc207 ~]# nslookup tts.sina.com

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

DNS资源解析记录类型有哪些?
     NS(声明DNS服务器记录)  
     A (正向解析记录) 
     CNAME(解析记录别名)

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

主机名映射记录配置文件:/etc/hosts
  1.只为本机提供解析
  2.解析域名写入/etc/hosts文件立即生效
  3.本机解析域名过程中,具有最高优先级

[root@pc207 ~]# vim  /etc/hosts

 192.168.4.120   www.360.com

[root@pc207 ~]# ping  www.360.com

PING www.360.com (192.168.4.120) 56(84) bytes of data.

 www.360.com ---》/etc/hosts ---》/etc/resolv.conf

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

DNS子域授权

       父域:www.tedu.cn

       子域:www.bj.tedu.cn

          父域 www.tedu.cn由虚拟机A,可以解析

          子域 www.bj.tedu.cn由虚拟机B,可以解析

虚拟机B:构建DNS服务器负责解析bj.tedu.cn域名

1.安装软件包  bind-chroot  bind
2.修改主配置/etc/named.conf
[root@pc207 ~]# cp /etc/named.conf  /etc/named.bak       
[root@pc207 ~]# vim /etc/named.conf
 options {
        directory       "/var/named";  #指定地址库文件位置
  };
 zone "bj.tedu.cn" IN {            #指定本机负责解析的域名
        type  master;           #指定本机为主DNS服务器
        file  "bj.tedu.cn.zone";   #指定地址库文件名称
  };
3.建立地址库文件bj.tedu.cn.zone
[root@pc207 named]# cp -p named.localhost  bj.tedu.cn.zone
[root@pc207 named]# vim    bj.tedu.cn.zone               
 bj.tedu.cn.     NS  pc207 
 pc207           A   192.168.4.207    
 www             A   192.168.4.150
4.重起named服务
[root@pc207 named]# systemctl  restart named
[root@pc207 named]# nslookup  www.bj.tedu.cn  192.168.4.207

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

配置子域授权

 客户端解析www.bj.tedu.cn请求发送给虚拟机A,可以获得最终解析结果

虚拟机A

[root@svr7 /]# vim /var/named/tedu.cn.zone
 tedu.cn.     NS  svr7
 bj.tedu.cn.  NS  pc207
 svr7         A   192.168.4.7
 pc207        A   192.168.4.207
 www          A   192.168.4.100
 ftp          A   1.2.3.4
[root@svr7 /]# systemctl restart named

[root@svr7 /]# nslookup www.bj.tedu.cn 192.168.4.7

Server:        192.168.4.7
Address:         192.168.4.7#53

Non-authoritative answer:     #非权威解答

Name:    www.bj.tedu.cn
Address: 192.168.4.150

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

递归解析:

   客户端寻求DNS服务器解析,DNS服务器与其他DNS服务器交互,最终将解析结果带回来的过程

options {
        directory       "/var/named";
        recursion yes;             #是否允许递归解析
};

迭代解析:
      客户端寻求DNS服务器解析,DNS服务器与其他DNS服务器交互过程

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

客户端解析域名:
  1.查看本机/etc/hosts
  2.查看本机/etc/resolv.conf----》DNS服务器地址
  3.将解析请求发给DNS服务器地址
 4.DNS服务器进行递归查询
 5.DNS服务器与其他DNS服务器进行迭代查询
  6.获得解析结果
###################################################
验证迭代查询
dig命令,更专业的DNS测试工具
[root@pc207 /]# dig www.bj.tedu.cn 192.168.4.7

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

缓存DNS服务器
   作用:缓存解析记录,提高解析速度,多用于企业内网

1.全局转发: 将请求转发给指定的公共DNS(其他缓存DNS),请求递归服务

2.根域迭代: 依次向根、一级、二级....域的DNS服务器迭代

真机上操作:

1.真机搭建本地Yum仓库
[root@room9pc01 /]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 
[root@room9pc01 /]# ls /iso/

]# mkdir /dvd/

]# mount /iso/CentOS-7-x86_64-DVD-1708.iso /dvd/

[root@room9pc01 /]# cd /etc/yum.repos.d

[root@room9pc01 yum.repos.d]# mkdir repo
[root@room9pc01 yum.repos.d]# mv  *.repo   repo
[root@room9pc01 yum.repos.d]# vim dvd.repo 
 [dvd]
 name=CentOS 7.4
 baseurl=file:///dvd
 enabled=1
 gpgcheck=0
]# yum -y install bind  bind-chroot

2.搭建缓存DNS服务器
[root@room9pc01 /]# cat /etc/resolv.conf  #查看DNS服务器地址
# Generated by NetworkManager
search tedu.cn
nameserver 172.40.92.6
[root@room9pc01 /]# cp /etc/named.conf /etc/named.bak 
[root@room9pc01 /]# vim /etc/named.conf
 options {
        directory       "/var/named";
        forwarders  {  172.40.92.6;  };   #将请求转发给谁
 };

[root@room9pc01 /]# systemctl restart named

虚拟机A测试:
[root@svr7 /]# nslookup www.qq.com 192.168.4.254

 

 

 

Split分离解析(视图解析)

什么是分离解析

• 当收到客户机的DNS查询请求的时候
 – 能够区分客户机的来源地址
 – 为不同类别的客户机提供不同的解析结果(IP地址)
 – 不同类别的客户机,在解析相同的一个域名,得到的解析结果不同

                ------>A类客户端-------》192.168.1.1

    www.qq.com
                ------>B类客户端-------》10.11.12.13

       
                             ------>网通的客户端-------》网通机房的服务器地址
    www.qq.com
                             ------>电信的客户端-------》电信机房的服务器地址

 – 为客户端提供最近的资源服务器

BIND的view视图

• 根据源地址集合将客户机分类
  – 不同客户机获得不同结果(待遇有差别)         
 – view分类,客户端匹配由上及下进行匹配, 匹配及停止
 – view分类要合理,所有客户端都必须找到自己的类别
 –  所有的zone都必须在view大括号中
    view  "a"  {
    match-clients { 192.168.4.1; 192.168.4.2; }
    zone "12306.cn" IN {
    ...... 12306.cn.zone;--->1.2.3.4
      }; 
         };
                                                                  客户端:192.168.4.3
    view   "b"  {
    match-clients  { 192.168.4.207; }
    zone "12306.cn" IN {
    ...... 12306.cn.nsd;---->4.3.2.1
      }; 
         };

    view   "c"  {

    match-clients  {  any; }
    zone "12306.cn" IN {
    ...... 12306.cn.other;---->1.1.1.1
      }; 
         };

###################################################
案例需求及要点
• 环境及需求
– 权威DNS:svr7.tedu.cn 192.168.4.7
– 负责区域:tedu.cn
– A记录分离解析 —— 以 www.tedu.cn 为例

客户机来自 解析结果

      192.168.4.207 --------> 192.168.4.100
      其他地址 -------->  1.2.3.4

options {
        directory       "/var/named";    
};
view  "nsd" {                        #设置分类名称
 match-clients {  192.168.4.207; };  #匹配客户端来源
 zone "tedu.cn" IN {
        type master;
        file "tedu.cn.zone"; ----》解析结果192.168.4.100
 };
}; 
view  "other" {                      #设置分类名称
 match-clients  {  any; };           #匹配客户端来源
 zone "tedu.cn" IN {
        type master;
        file "tedu.cn.other"; ----》解析结果1.2.3.4
 };
};

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

多区域的分离解析
   每一个view中zone的个数要一致
   每一个view中zone负责的域名也要一致

• 环境及需求

– 权威DNS:svr7.tedu.cn 
– 负责区域:tedu.cn
– A记录分离解析 —— 以 tedu.cn 和 qq.com 

客户机来自 解析结果

      192.168.4.207 ---www.tedu.cn-----> 192.168.4.100
           其他地址 ---www.tedu.cn----->  1.2.3.4

      192.168.4.207 ---www.qq.com-----> 192.168.4.110

           其他地址 ---www.qq.com----->  10.20.30.40

 

view  "nsd" {                        #设置分类名称
 match-clients {  192.168.4.207; };  #匹配客户端来源  
 zone "tedu.cn" IN {
        type master;
        file "tedu.cn.zone"; ----》解析结果192.168.4.100
  };
 zone "qq.com" IN {
        type master;
        file "qq.com.zone"; ----》解析结果192.168.4.110
  };
 }; 
view  "other" {                      #设置分类名称
 match-clients  {  any; };           #匹配客户端来源
 zone "tedu.cn" IN {
        type master;
        file "tedu.cn.other"; ----》解析结果1.2.3.4
  };
 zone "qq.com" IN {
        type master;
        file "qq.com.other"; ----》解析结果10.20.30.40
  };
 };
############################################################

补充内容:

acl地址列表
• 为大批量的客户机地址建立列表

acl test { 192.168.4.207; 192.168.4.1; 192.168.4.2; 192.168.4.3; };

view  "nsd" {

 match-clients { test; };
 zone "tedu.cn" IN {
        type master;
        file "tedu.cn.zone";
 };
 zone "qq.com" IN {
        type master;
        file "qq.com.zone";
 };
};
 

   

 

转载地址:http://rriqi.baihongyu.com/

你可能感兴趣的文章
DotNetNuke For Dummies
查看>>
PCI Compliance: Understand and Implement Effective PCI Data Security Standard Compliance
查看>>
Flash CS3 For Dummies
查看>>
Professional ASP.NET 2.0 AJAX
查看>>
Security+ Study Guide
查看>>
Programming Interviews Exposed: Secrets to Landing Your Next Job
查看>>
Linksys WRT54G Ultimate Hacking
查看>>
Professional Rootkits
查看>>
Financial Applications using Excel Add-in Development in C/C++
查看>>
Learning Joomla! Extension Development: Creating Modules, Components, and Plugins with PHP
查看>>
How to Cheat at IIS 7 Server Administration
查看>>
Simply JavaScript
查看>>
Expert SQL Server 2005 Integration Services
查看>>
Beginning SharePoint 2007: Building Team Solutions with MOSS 2007
查看>>
QoS Over Heterogeneous Networks
查看>>
Workflow in the 2007 Microsoft Office System
查看>>
IPv6 Advanced Protocols Implementation
查看>>
Pro InfoPath 2007
查看>>
Beginning VB 2005 Databases: From Novice to Professional
查看>>
Inside SQLite
查看>>