多区域 DNS 服务,子域授权,缓存 DNS及Split 分离解析的原理和实现

DNS 服务器的功能:
正向解析:根据注册的域名查找其对应的 IP 地址
反向解析:根据 IP 地址查找对应的注册域名(不常用)
DNS(域名解析)服务器:解析域名--->将域名解析为 IP 地址
例如:客户端访问 Web 网站:www.qq.com ----> DNS ----> 腾讯的 Web 服务器 Full Qualified Domain Name(FQDN),完全合格主机名,以点结尾
站点名.域名后缀
站点名...二级域.一级域
域名分级:
根域 . 一级域 .com .cn .us .tw .kr .hk
二级域 .com.cn .net.cn .org.cn .edu.cn
三级域 .yid.com.cn .haha.com.cn .xixi.com.cn
常见的顶级(一级域名)
国家/地区域: .cn、.us、.kr、.hk、.tw ...
组织域: .com、.net、.edu、.org、.gov、.mil ...
BIND 域名服务
BIND(Berkeley Internet Name Daemon:伯克利大学 Internet 域名服务)
官方站点:https://www.isc.org/
安装包名称:bind:域名服务包 ;bind-chroot:提供虚拟根支持,笼环境
系统服务:named
默认端口:TCP/UDP 53
运行时的虚拟根环境:/var/named/chroot/ #运行时,所有的操作都在虚拟
根下
主配置文件: /etc/named.conf #设置本机负责解析的域名是什么
地址库文件: /var/named/ #主机名与 ip 地址的对应关系
搭建基本的 DNS 服务
服务端: 1.安装软件包 、

    [[email protected] ~]# yum -y install bind bind-chroot 

2.修改配置文件

[[email protected] ~]# vim /etc/named.conf
options {
    //listen-on port 53 { 127.0.0.1; };      #默认监听 127.0.0.1 的 53 端口,该行删除或注释
    directory "/var/named";         #指定地址库文件存放路径
    //allow-query { localhost; };   #允许访问的主机,默认为本机,该行删除或注释
    };
zone "yid.cn" IN {    #指定本机负责解析的域名
    type master;    #指定本机为权威主 DNS 服务器
    file "yid.cn.zone";     #指定地址库文件为 yid.cn.zone
};
[[email protected] ~]# named-checkconf #检查配置是否正确 

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

DNS 资源记录:
SOA:起始授权
NS:名称服务器 A:将名称解析为 ip 地址
PTR:将 ip 地址解析为名称
MX:邮件交换器
CHAME:设置别名

[[email protected] ~]# cd /var/named/
[[email protected] named]# cp -p named.localhost yid.cn.zone #权限属性不变拷贝
[[email protected] named]# ls -l yid.cn.zone
-rw-r----- 1 root named 152 6 月 21 2007 yid.cn.zone #必须保证属组是 named
[[email protected] named]# vim yid.cn.zone
$TTL 1D #DNS 解析的有效时间 1 天
@ IN SOA .... #@表示本域名,这段不修改
yid.cn. NS svr7.yid.cn. #声明 yid.cn.域名的 DNS 服务器为 svr7.yid.cn.
svr7 A 192.168.4.7 #指定 svr7.yid.cn.的 ip 地址为 192.168.4.7
www A 1.1.1.1
ftp A 2.2.2.2 

4.重起 named,设置开机自启动

[[email protected] named]# systemctl restart named
[[email protected] named]# systemctl enable named 

5.客户端访问测试:

[[email protected] ~]# echo nameserver 192.168.4.7 > /etc/resolv.conf
[[email protected] ~]# nslookup www.yid.cn

多区域 DNS 服务(多写几个 zone)
配置文件/etc/named.conf 新增如下内容:

zone "qq.com" IN {
    type master;
    file "qq.com.zone";
};
[[email protected] named]# vim qq.com.zone
        qq.com. NS svr7
        svr7 A 192.168.4.7
        www A 3.3.3.3
        ftp A 4.4.4.4

基于 DNS 域名的负载均衡

[[email protected] named]# vim qq.com.zone
qq.com. NS svr7
svr7 A 192.168.4.7
www A 192.168.4.11 #DNS 服务器会随机从 3 个 IP 中选择一个提供,后面的 域名可以省略
                        A 192.168.4.12
                        A 192.168.4.13

泛域名解析:以*匹配所有

    [[email protected] named]# vim qq.com.zone
    qq.com. NS svr7
    svr7 A 192.168.4.7
    www A 192.168.4.11
    * A 1.2.3.4

有规律的泛域名解析
函数: $GENERATE 生成连续范围的数字

        [[email protected] named]# vim qq.com.zone
            qq.com. NS svr7
            svr7 A 192.168.4.7
            www A 192.168.4.11
            ftp A 4.4.4.4
            * A 1.2.3.4
        $GENERATE 1-50 web$ A 192.168.10.$

DNS 的子域授权
父域 :www.yid.cn ,由 svr7 服务器 192.168.4.7 解析
子域 :www.bj.yid.cn ,由 pc207 服务器 192.168.4.207 解析 虚拟机 A:子域授权

[[email protected] named]# vim yid.cn.zone #指定子域的 DNS 服务器
yid.cn. NS svr7
bj.yid.cn. NS pc207.bj
svr7 A 192.168.4.7
pc207.bj A 192.168.4.207
[[email protected] named]# systemctl restart named 

虚拟机 B:搭建子域 DNS 负责解析 bj.yid.cn 域名
修改配置文件/etc/named.conf

options {
    directory "/var/named";
};
zone "bj.yid.cn" {
    type master;
    file "bj.yid.cn.zone";
};
[[email protected] named]# vim bj.yid.cn.zone
bj.yid.cn. NS pc207
pc207 A 192.168.4.207
www A 11.12.13.14 

测试:

[[email protected] named]# nslookup www.bj.yid.cn 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53
Non-authoritative answer: #非权威解答
Name: www.bj.yid.cn
Address: 11.12.13.14

递归查询: 首选 DNS 服务器到相应其他 DNS 服务器上询问,将最终结果带回(客户端与首 选 DNS 服务器交互)
迭代查询: 每一个 DNS 服务器告知首选 DNS 服务器下一个 DNS 服务器地址(首选 DNS 服务 器与其他 DNS 服务器交互)
递归查询是默认开启的
通过设置/etc/named.conf 开关

recursion yes/no;

缓存 DNS
作用:加速解析过程,让客户端最快得到结果
主要适用环境:互联网出口带宽较低的企业局域网;ISP 服务商的公共 DNS 服务器
解析记录来源:
全局转发:将请求转发给指定的公共 DNS(其他缓存 DNS),请求递归服务
根域迭代:依次向根、一级、二级......域的 DNS 服务器迭代
配置:在/etc/named.conf 的 options 下增加 forwarders { 176.19.0.26; }; #添加转发器,176.19.0.26 是公共 DNS 的 IP 地址

Split 分离解析:
当收到客户机的 DNS 查询请求的时候能够区分客户机的来源地址
为不同类别的客户机提供不同的解析结果(IP 地址)
当不同类别的客户机请求解析同一个域名时,得到的解析结果不同
适用场景:
访问压力大的网站,购买 CDN 服务商提供的内容分发服务:
在全国各地、不同网络内部部署大量镜像服务节点
让客户端访问网络中最近/最快的服务器
方法:BIND 的 view 视图
根据源地址集合将客户机分类:
不同客户机获得不同结果
客户机分类得当(所有的客户端都要找到对应的分类:兜底)
由上到下匹配,匹配即停止
所有的 zone 都必须在 view 字段里面
格式:

 view "nsd" {
     match-clients { 192.168.4.207; } #匹配客户端的地址
zone "yid.cn" {
    ...... 地址库 1;
    };
};

 view "abc" {
     match-clients { any; } #any 兜底
     zone "yid.cn" {
        ...... 地址库 2;
    };
};

配置 ACL 队列库:

acl myip { IP1;IP2;... }; 

修改配置文件:

[[email protected] /]# vim /etc/named.conf
acl myip { 192.168.4.207; 192.168.4.10; 192.168.4.1; 192.168.4.123; };
view "nsd" {
    match-clients {
        myip
};
zone "yid.cn" {
    type master;
    file "yid.cn.nsd";
    };
};

view "abc" {
    match-clients { any; };
    zone "yid.cn" {
        type master;
        file "yid.cn.abc";
        };
    };

配置地址库文件

[[email protected] /]# tail -3 /var/named/yid.cn.nsd
yid.cn. NS svr7
svr7 A 192.168.4.7
www A 192.168.4.100

[[email protected] /]# tail -3 /var/named/yid.cn.abc
yid.cn. NS svr7
svr7 A 192.168.4.7
www A 1.2.3.4

原文地址:http://blog.51cto.com/14083357/2328113

时间: 2024-11-05 13:38:44

多区域 DNS 服务,子域授权,缓存 DNS及Split 分离解析的原理和实现的相关文章

linux dns子域授权 split分离解析 缓存dns服务器

DNS子域授权作用:适用于同一个DNS组织父/子域名的解析工作由不同的dns服务器负责父dns服务器应该有为子域名迭代的能力 上下级区域属于不同的机构管理:.cn与.Anonymous.cn.cn需要知道子域名信息.cn没有义务为客户机去查询子域站点属于同一个机构管理:.Anonymous.cn与bj.Anonymous.cn.Anonymous.cn需要知道子域信息.Anonymous.cn有义务为客户机去查询子域站点 -------------------------------- 案列:子

DNS主从服务,子域授权,view视图,日志系统,压力测试rsync配置

DNS主从服务,子域授权,view视图,日志系统,压力测试 DNS性能测试工具queryperfDNS查询过程: DNS主从建立: 环境: 主服务器:10.140.165.93 从服务器:10.140.165.169 关闭防火墙,关闭selinux. 主服务器建立: [[email protected] ~]# yum -y install bind-util bind #安装bind服务 [[email protected] ~]# vim /etc/named.conf #编辑主配置文件 o

CentOS下dns服务器之授权

dns授权 dns授权分为两步 1]父域dns对子域dns实现授权, 2]子域对父域 1.改变根提示,把父域dns视为根 2.转发器 dns服务器的搭建请看dns服务器搭建 一.修改父域实现对子域的授权 修改dns服务器配置文件注释最后一行 [[email protected] chroot]# vim etc/named.conf options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory    

Linux DNS (bind) 子域授权

一个区域内可能有主DNS.从DNS.子域DNS,本节以主DNS授权子域为例讲解. 子域授权配置过程: 1.编辑主DNS正向区域文件 [[email protected] named]# vim dove.com.zone    #编辑主DNS正向区域文件 $TTL    600 @       IN      SOA     dove.com.       admin.dove.com. (            2015041802   #由于有从DNS服务器,所以序列号每次修改须加一    

Linux服务器--3.DNS的子域授权,转发和视图

Linux服务器--DNS服务器的子域授权.转发和视图 一.DNS服务器子域授权: Linux DNS服务器的子域授权,是在原有的域上再划分小的区域并指定新的DNS服务器,在子区域的DNS服务器中,如果有客户端请求,则只要找到子DNS服务器即可,从而减轻了主DNS服务器的解析压力,也有利于管理. 实验环境:两台Linux主机,IP 分别为172.16.99.1(父域)  ,172.16.99.2(子域). DNS服务器子域授权的配置:(在原有的DNS服务器上创建) 1.在原有的父域正向区域数据解

Linux DNS服务器子域授权、转发器和转发域配置实例(三)

DNS子域授权: 这里我们只演示正向解析的子域授权   父域能够解析子域的A记录(不是权威的,因为不是自身解析的),  子域不能解析父域的A记录,如果非要解析父域中的地址过程是:先去找互联网的根域在层层到下查找.(但是我们可以在子域建立转发,使能够解析父域的A记录) 实例: 说明父域为:ning.com子域1为:ning1.ning.com 子域2为:ning2.ning.com  补充说明:父域和子域只要能通信即可,没有必要在同一网段,我们这里为了方便操作放在一个网段了..小伙伴们明白!  实

Service系统服务(六):rsync基本用法、rsync+SSH同步、配置rsync服务端、访问rsync共享资源、使用inotifywait工具、配置Web镜像同步、配置并验证Split分离解析

一.rsync基本用法 目标: 本例要求掌握远程同步的基本操作,使用rsync命令完成下列任务: 1> 将目录 /boot 同步到目录 /todir 下   2> 将目录 /boot 下的文档同步到目录 /todir 下   3> 在目录 /boot 下新增文件 a.txt,删除 /todir 下的子目录 grub2,再次同步使 /todir 与 /boot 一致   4> 验证 -a.-n.-v.--delete 选项的含义 方案: 本地同步操作: rsync [选项...] 本

DNS主从服务,子域授权,view视图,日志系统,压力测试

DNS性能测试工具queryperfDNS查询过程: DNS主从建立: 环境: 主服务器:10.140.165.93 从服务器:10.140.165.169 关闭防火墙,关闭selinux. 主服务器建立: [[email protected] ~]# yum -y install bind-util bind    #安装bind服务 [[email protected] ~]# vim /etc/named.conf    #编辑主配置文件 options {        director

DNS的高级使用、DNS子域授权、split分离解析

实验(一) 实验要求:分别在二台主机上配置DNS服务器 实验目的: 1.在tarena.com 上做bj.tarena.comDNS子域的授权. 2.bj.tarena.com子域转发父域. 实验环境 主机名为fxhlj  IP地址为192.168.1.20 负责tarena.com域的解析 www.tarena.com          192.168.1.100 主机名为localhost IP地址为192.168.1.30负责bj.tarena.com域的解析 www.bj.tarena.