DNS服务器

1、环境准备:
(1)搭建A服务端
要求:配置永久主机名svr7.tedu.cn
配置eth0永久 IP地址:192.168.4.7/24
使用真机Web服务器作为Yum源

(2)搭建B客户端
要求:配置永久主机名pc207.tedu.cn
配置eth0永久 IP地址:192.168.4.207/24
使用真机Web服务器作为Yum源
2、DNS服务器的功能
– 正向解析:根据注册的域名查找其对应的IP地址
– 反向解析:根据IP地址查找对应的注册域名,不常用

  • 所有 的域名都要点" . "结尾

                     根域 .

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

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

三级域名: .abc.com.cn .nb.com.cn .haxi.com.cn ......

具体的主机名: www.abc.com.cn tts.abc.com.cn ftp.abc.com.cn

  • Full Qualified Domain Name,完全合格主机名(FQDN)
    由合法的域名与主机名组成
    – 系统服务: named
    – 默认端口: 53
    --软件包 bind //域名服务包 bind-chroot //提供虚拟根支持,牢笼政策
    3、安装软件包 yum install -y bind bind-chroot
    4、修改配置文件:/etc/named.conf
    mv  /etc/named.conf   /etc/named.conf.bak     //备份原始配置文件
    vim /etc/named.conf
    options {
        directory   "/var/named";   #指定地址库文件的位置
    };
    zone "tedu.cn" IN {         #指定本地负责解析的域名
        type  master;           #指定本机为主DNS服务器
        file "tedu.cn.zone";    #指定地址库文件名称
    };

    5、建立地址库文件:/var/named/tedu.cn.zone
    注意 文件权限,named用户要有r
    cp -p 保持源文件属性不变进行复制
    本文件域名没有点结尾,默认补全本文件负责的域名

    cd  /var/named/     #进入到地址库目录
    cp -p  named.localhost  tedu.cn.zone   #复制模板文件
    ls -l  tedu.cn.zone    #查看权限
    vim   tedu.cn.zone  #文件开头可保持不变
    tedu.cn.      NS     svr7             #证明DNS服务器主机名
    svr7           A      192.168.4.7   #解析DNS服务器主机名对应IP
    www         A      192.168.4.8
    ftp             A      192.168.4.9

    6、重启服务

    systemctl restart named

    7、修改客户端DNS服务器并测试

    echo  nameserver 192.168.4.7 >/etc/resolv.conf
    nslookup  www.tedu.cn

    8、DNS的特殊解析记录

  • 轮询解析:
    vim /var/named/tedu.cn.zone 
    www           A      192.168.4.11
    www           A      192.168.4.20
    www           A      192.168.4.21
  • 泛域名解析
    vim /var/named/tedu.cn.zone
        .. ..
        *          A      119.75.217.56
  • 特殊的泛域名解析:

    
    stu1.tedu.cn ------》192.168.10.1
     stu2.tedu.cn ------》192.168.10.2
     stu3.tedu.cn ------》192.168.10.3
     stu4.tedu.cn ------》192.168.10.4
          ......
     stu50.tedu.cn ------》192.168.10.50
    内置函数  可以产生连续的数字 $GENERATE
    vim /var/named/tedu.cn.zone
    
     $GENERATE 1-50  stu$    A   192.168.10.$
9、DNS子域授权
      父域  www.qq.com

      子域  www.bj.qq.com
将客户端B搭建DNS服务,负责bj.qq.com

yum install -y bind bind-chroot
vim /etc/name.conf #建立新配置
options {
directory "/var/named"; #配置文件要以;号结尾
};
zone "bj.qq.com" {
type master;
file "bj.qq.com.zone";
};
vim /var/named/bj.qq.com.zone
.. .. #文件开头不变
bj.qq.com. NS pc207 #本区域负责的FQDN
pc207 A 192.168.4.207
www A 200.0.0.1
重启服务 测试子域

10、在父域上配置子域授权

vim /var/named/qq.com.zone
qq.com. NS svr7
bj.qq.com. NS pc207
svr7 A 192.168.4.7
pc207 A 192.168.4.207
www A 1.2.3.4
重启服务 测试子域授权
nslookup www.bj.qq.com 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53
Non-authoritative answer: #非权威解答
Name: www.bj.qq.com
Address: 200.0.0.1

* 子域转发:子域可以解析父域
   `vim /etc/named.conf       #追加写入
         zone "qq.com" IN {
         type forward;                    #类型为转发
         forwarders {  192.168.4.7;  };   #转发给父域的IP地址
  };`
11、递归查询:
 客户端请求DNS服务器解析域名,DNS服务器与其他DNS服务器询问,最终将查询结果带回来过程

 options {
        directory       "/var/named";
        recursion no;         #是否启用递归查询
   };

迭代查询:
   DNS服务器与其他DNS服务器询问过程
12、
 缓存DNS服务器,缓存解析记录,加快解析速度

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

• 方式2:根域迭代
– 依次向根、一级、二级......域的DNS服务器迭代
* 配置:

C 主机安装 dns服务 IP 192.168.4.254
cat /etc/resolv.conf
nameserver 202.106.196.115
vim /etc/named.conf
options {
directory "/var/named";
forwarders { 202.106.196.115; };
};
重启服务,测试

在A主机上验证

echo nameserver 192.168.4.254 >/etc/resolv.conf
nslookup www.qq.com

13、DNS分离解析(视图解析)
*  能够区分客户机的来源地址
* 为不同类别的客户机提供不同的解析结果(IP地址)
* 当不同的客户端解析同一域名,得到的结果不同
*  为客户端提供网络最近的资源
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
在配置文件中,通过view视图设置来区分不同客户机,不同地址库

view “视图1” {
match-clients { 客户机地址1; .. ..;}; #匹配第一类客户
zone "tedu.cn" IN {
type master;
file 地址库1;
};
};
view "视图2" {
match-clients { 客户机地址2; .. ..;}; #匹配第二类客户
zone "tedu.cn" IN {
type master;
file 地址库2;
};
};
.. ..
view "视图n" {
match-clients { any; }; //匹配任意地址
zone "目标域名" IN { //同一个DNS区域
type master;
file "地址库n"; //第n份地址库
};
};

注意:
     1.所有的客户端到要匹配分类成功
     2.由上及下,匹配及停止
     3.所有的zone都要在view中
     4.view中所有的zone数量必须保持一致
2.建立两个地址库文件tedu.cn.zone与tedu.cn.other写入不同的解析结果
• 环境及需求
– 权威DNS:svr7.tedu.cn 192.168.4.7
– 负责区域:tedu.cn  qq.com
– A记录分离解析 —— 以 www.tedu.cn 为例 以 www.qq.com 为例
客户机来自解析结果
    192.168.4.207---------->192.168.4.100
    其他地址 ----------> 1.2.3.4

options {
directory "/var/named";
};

view "联通" {
match-clients { 192.168.4.207; };
zone "tedu.cn" IN {
type master;
file "tedu.cn.zone";
};
zone "qq.com" IN {
type master;
file "qq.com.zone";
};
};

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



-----