十五.DNS子域授权、分离解析、缓存DNS服务器

1.搭建基本DNS服务器
pc7:
1.1 安装软件包
]# yum -y install bind-chroot bind
bind         //域名服务包
bind-chroot  //提供虚拟根支持,牢笼政策
1.2 修改配置文件
]# cp -p /etc/named.conf /etc/named.conf.bak
]# vim /etc/named.conf
options {
directory  "/var/named"; #指定地址库文件存放位置
};
zone "baidu.cn" IN {         #指定本机负责解析的域名
type master;           #指定主DNS服务器
file "baidu.com.zone"; #指定创建地址库文件名称
};
 
1.3 建立相应的地址库文件(保证named用户具备读取权限)
] # cd /var/named/
] # cp -p named.localhost baidu.com.zone  #权限不变拷贝
所有的域名都必须以点最为结尾
如果没有以点结尾,默认补全地址库负责的域名
]# vim /var/named/baidu.com.zone
...
                     3H )    ; minimum
baidu.com.             NS pc7.baidu.com.
pc7.baidu.com.      A  192.168.4.7
www.baidu.com.    A  1.1.1.1
ftp.baidu.com.       A  2.2.2.2
1.4 重起named服务
]# systemctl restart named
客户端验证 pc8      
1.1 指定DNS服务器地址        
]# echo  nameserver 192.168.4.7 > /etc/resolv.conf 
 
]# nslookup  www.baidu.cn
Server:      192.168.4.7
Address: 192.168.4.7#53
Name: www.baidu.com
Address: 1.1.1.1
 
]# nslookup  ftp.baidu.cn
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: ftp.baidu.com
Address: 2.2.2.2
 
######################
 
2.多区域的DNS服务器
2.1.修改配置文件
]# vim /etc/named.conf 
........
zone "qq.com" IN {
        type master;
        file "qq.com.zone";
};
2.建立地址库文件/var/named/qq.com.zone
]# cd /var/named/
]# cp -p baidu.com.zone qq.com.zone
]# vim qq.com.zone 
...                  3H )    ; minimum
qq.com.            NS pc7.qq.com.
pc7.qq.com.     A  192.168.4.7
www.qq.com.   A  3.3.3.3
ftp.qq.com.      A  4.4.4.4
3.重起named服务
]# systemctl restart named
pc8测试:
]# nslookup www.qq.com
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: www.qq.com
Address: 3.3.3.3
 
]# nslookup ftp.qq.com
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: ftp.qq.com
Address: 4.4.4.4
 
####################
 
3.DNS轮询
• 基于DNS的站点负载均衡
– 一个域名 ---> 多个不同IP地址
– 每个IP提供镜像服务内容
]# vim /var/named/baidu.com.zone
...
www.baidu.com.  A 1.1.1.1
www.baidu.com.  A 1.1.1.2
www.baidu.com.  A 1.1.1.3
www.baidu.com.  A 1.1.1.4
www.baidu.com.  A 1.1.1.5
www.baidu.com.  A 1.1.1.6
...
]# systemctl restart named
pc8验证:
]# nslookup  wwww.baidu.com
 
########################
 
4.泛域名解析
]# vim /var/named/baidu.com.zone
...
*  A  1.2.3.4
pc8验证:
]# nslookup  xxx.baidu.com
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: xxx.baidu.com
Address: 1.2.3.4
 
######################
 
5.有规律泛域名解析
]# vim /var/named/baidu.com.zone
...
$GENERATE 1-50 p$.baidu.com.   A  192.168.10.$
]# systemctl restart named
pc8验证:
]# nslookup  p49.tedu.cn
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: p49.baidu.com
Address: 192.168.10.49
 
#####################
 
6.解析记录别名CNAME
]# vim /var/named/baidu.com.zone 
ftp.baidu.com.   A            2.2.2.2
tts                      CNAME  ftp
]# systemctl restart named
pc8验证:
]# nslookup  tts.tedu.cn
Server: 192.168.4.7
Address: 192.168.4.7#53
tts.baidu.com canonical name = ftp.baidu.com.
Name: ftp.baidu.com
Address: 2.2.2.2
 
#######################
7.DNS子域授权
  父域:www.qq.com
  子域:www.bj.qq.com
  虚拟机A负责解析,父域的qq.com
  虚拟机B负责解析,子域的bj.qq.com
pc8:
7.1 pc8配置:
]# yum -y install bind-chroot bind
]# vim /etc/named.conf 
 
options {
  directory  "/var/named";
};
zone "bj.qq.com" IN {
     type master;
     file "bj.qq.com.zone";
};
 
]# cd /var/named/
]# cp -p named.localhost bj.qq.com.zone
]# vim bj.qq.com.zone
...              3H )    ; minimum
bj.qq.com.      NS pc8
pc8.bj.qq.com.  A  192.168.4.8
www.bj.qq.com.  A  100.100.100.100
]# systemctl restart named
测试:
]# nslookup www.bj.qq.com 192.168.4.8
Server: 192.168.4.8
Address: 192.168.4.8#53
Name: www.bj.qq.com
Address: 100.100.100.100
子域授权
]# vim /var/named/qq.com.zone
qq.com.              NS  pc7.qq.com.
bj.qq.com.          NS  pc8.bj.qq.com.
pc7.qq.com.       A   192.168.4.7
pc8.bj.qq.com.   A   192.168.4.8
...
]# systemctl restart named
 
pc8验证:
]# 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: 100.100.100.100
 
#####################
递归解析:
    客户端请求DNS域名解析,首选DNS服务器与其他DNS服务器交互,最终将解析结果反馈给客户端
迭代解析:
    客户端请求DNS域名解析,首选DNS服务器与其他DNS服务器交互过程
 
options {
        directory       "/var/named";
        recursion yes;   #支持递归解析:
};
 
关闭递归解析:
options  {
          directory       "/var/named";
          recursion  no;
 };
 
专用于DNS查询过程查看
]# dig  www.bj.qq.com  192.168.4.7
###########################
 
/etc/hosts 主机名映射记录文件 
作用:直接达到DNS解析功能,只为本机提供解析
 
pc8:
]# ping www.360.com 
connect: 网络不可达
]# vim /etc/hosts
...
192.168.4.110 www.360.com
]# ping www.360.com
PING www.360.com (192.168.4.110) 56(84) bytes of data.
 
客户端解析域名优先级:
  1./etc/hosts
  2./etc/resolv.conf
  3.交由本机127.0.0.1:53处理
########################
 
8.缓存DNS服务器
   作用:缓存解析结果,进行加速解析
解析记录来源
• 方式1:全局转发
– 将请求转发给指定的公共DNS(其他缓存DNS),请求递归服务
选择一个稳定的主机:
]# vim /etc/named.conf(先备份)
options {
    directory       "/var/named";
    forwarders  {  xx.xx.xx.xx;  };  #转发给真DNS服务器
 };
]# systemctl restart named
pc8验证:
]# nslookup www.baidu.com xx.xx.xx.xx
 
########################
 
9.DNS分离解析
什么是分离解析
• 当收到客户机的DNS查询请求的时候
– 能够区分客户机的来源地址
– 为不同类别的客户机提供不同的解析结果(IP地址)
– 不同类别的客户机,解析同样的域名,结果不同
– 作用:为客户端提供最近的资源   
 
典型适用场景
• 访问压力大的网站,购买CDN提供的内容分发服务
– 在全国各地/不同网络内部署大量镜像服务节点
– 针对不同的客户机就近提供服务器
view  "nsd"  {
    match-clients  { 192.168.4.100; };
    zone  "sina.com"  IN  {
        type master;
        file "sina.com.zone";
           };
      };
 
view  "other"  {
    match-clients  { any; };
    zone  "sina.com"  IN  {
        type master;
        file "sina.com.other";
           };
      };
 
– A记录分离解析 —— 以 www.baidu.com 为例
客户机来自 解析结果
       192.168.4.7 ---------> 192.168.4.100
       其他地址 ---------> 7.7.7.7
 
– A记录分离解析 —— 以 www.sina.com为例
客户机来自 解析结果
       192.168.4.7 ---------> 192.168.4.120
       其他地址 ---------> 8.8.8.8
pc7:
9.1 /etc/named.conf
]# vim /etc/named.conf
options {
        directory       "/var/named";
};
acl test  { 192.168.4.7; };
view  "nsd"  {      #nsd不是关键,match-clients才是
     match-clients   {   test;   };
     zone   "baidu.com"  IN   {
        type    master;
        file    "baidu.com.zone";
        };
     zone "sina.com" IN {
        type master;
        file "sina.com.zone";
        };
 };
view   "other"   {
    match-clients   {   any;   };
    zone  "baidu.com"  IN  {
    type  master;
    file  "baidu.com.other";
        };
    zone "sina.com" IN {
          type master;
          file "sina.com.other";
        };
 };
9.2 baidu.com.zone
...
www.baidu.com.   A  192.168.4.100
...
9.3 baidu.com.other
...
www.baidu.com.   A  7.7.7.7
...
9.4 sina.com.zone
...
www.sina.com.    A  192.168.4.120
...
9.5 sina.com.other
...
www.sina.com.    A  8.8.8.8
...
9.6 重启
# systemctl restart named
9.7 不同机器检测:
pc7:
# nslookup www.baidu.com 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: www.baidu.com
Address: 192.168.4.100
 
]# nslookup www.sina.com 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: www.sina.com
Address: 192.168.4.120
 
pc8:
]# nslookup www.baidu.com 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: www.baidu.com
Address: 7.7.7.7
 
]# nslookup www.sina.com 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: www.sina.com
Address: 8.8.8.8
上一篇:DNS主从服务,子域授权,view视图,日志系统,压力测试


下一篇:DNS子域委派配置案例[转载]