11_DNS子域授权、分离解析、缓存DNS服务器

VM:
    pc7:10.10.11.10
    pc8:10.10.11.11 

1.搭建基本DNS服务器

pc7:10.10.11.10
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.com" 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       10.10.11.10
www.baidu.com.  A       1.1.1.1
ftp.baidu.com.  A       1.1.1.2

1.4 重起named服务
]# systemctl restart named

客户端验证 pc8:10.10.11.11  
指定DNS服务器地址        
]# echo nameserver 10.10.11.10 > /etc/resolv.conf
]# nslookup www.baidu.com
Server:    10.10.11.10
Address:    10.10.11.10#53
Name:    www.baidu.com
Address: 1.1.1.1

]# nslookup ftp.baidu.com
Server:    10.10.11.10
Address:    10.10.11.10#53
Name:    ftp.baidu.com
Address: 1.1.1.2

2 多区域的DNS服务器
2.1 修改配置文件 pc7
]# vim /etc/named.conf
........
zone "qq.com" IN {
        type master;
        file "qq.com.zone";
};
2.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       10.10.11.10
www.qq.com.     A       2.2.2.1
ftp.qq.com.     A       2.2.2.2
2.3 重起named服务
]# systemctl restart named

pc8测试:
]# nslookup www.qq.com
Server:    10.10.11.10
Address:    10.10.11.10#53
Name:    www.qq.com
Address: 2.2.2.1

]# nslookup ftp.qq.com
Server:    10.10.11.10
Address:    10.10.11.10#53
Name:    ftp.qq.com
Address: 2.2.2.2

3.DNS轮询 pc7
• 基于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.1.1.100
pc8验证:
]# nslookup xxx.baidu.com
Server:    10.10.11.10
Address:    10.10.11.10#53
Name:    xxx.baidu.com
Address: 1.1.1.100

5.有规律泛域名解析
]# vim /var/named/baidu.com.zone
...
$GENERATE 1-50 p$.baidu.com.   A  192.168.10.$
]# systemctl restart named

pc8验证:
]# nslookup p40.baidu.com
Server:    10.10.11.10
Address:    10.10.11.10#53
Name:    p40.baidu.com
Address: 192.168.10.40

6.解析记录别名CNAME
]# vim /var/named/baidu.com.zone
ftp.baidu.com.  A       1.1.1.10
tts             CNAME   ftp
]# systemctl restart named

pc8验证:
]# nslookup tts.baidu.com
Server:        10.10.11.10
Address:    10.10.11.10#53

tts.baidu.com    canonical name = ftp.baidu.com.
Name:    ftp.baidu.com
Address: 1.1.1.10

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  10.10.11.11
www.bj.qq.com.  A  2.2.2.100
]# systemctl restart named

pc8测试:
]# nslookup www.bj.qq.com 10.10.11.11
Server:        10.10.11.11
Address:    10.10.11.11#53

Name:    www.bj.qq.com
Address: 2.2.2.100

子域授权 pc7
]# vim /var/named/qq.com.zone
qq.com.         NS      pc7.qq.com.
bj.qq.com.      NS      pc8.bj.qq.com.
pc7.qq.com.     A       10.10.11.10
pc8.bj.qq.com.  A       10.10.11.11
...
]# systemctl restart named
 
pc8验证:
]# nslookup www.bj.qq.com 10.10.11.10
Server:        10.10.11.10
Address:    10.10.11.10#53

Non-authoritative answer:
Name:    www.bj.qq.com
Address: 2.2.2.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 10.10.11.10
###########################
/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  {  10.10.11.10;  };  #转发给真DNS服务器
 };
]# systemctl restart named
pc8验证:
]# nslookup www.baidu.com 10.10.11.10

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 为例
客户机来自 解析结果
       10.10.11.10 ---------> 1.1.1.1
       其他地址   ---------> 1.1.1.2
 
– A记录分离解析 —— 以 www.sina.com为例
客户机来自 解析结果
       10.10.11.10 ---------> 3.3.3.1
       其他地址   ---------> 3.3.3.2

pc7:
9.1 /etc/named.conf
]# vim /etc/named.conf
options {
        directory       "/var/named";
};
acl test  { 10.10.11.10; };
view  "nnn"  {      #nnn不是关键,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";
     };
 };

将最后两行注释掉
//include "/etc/named.rfc1912.zones";
//include "/etc/named.root.key";

9.2 baidu.com.zone
...
www.baidu.com.   A  1.1.1.1
...
9.3 baidu.com.other
...
www.baidu.com.   A  1.1.1.2
...
9.4 sina.com.zone
...
www.sina.com.    A  3.3.3.1
...
9.5 sina.com.other
...
www.sina.com.    A  3.3.3.2
...
9.6 重启
# systemctl restart named

9.7 不同机器检测:
pc7:
# nslookup www.baidu.com 10.10.11.10
Server:        10.10.11.10
Address:    10.10.11.10#53

Name:    www.baidu.com
Address: 1.1.1.1

 
]# nslookup www.sina.com 10.10.11.10
Server:        10.10.11.10
Address:    10.10.11.10#53

Name:    www.sina.com
Address: 3.3.3.1

 
pc8:
]# nslookup www.baidu.com 10.10.11.10
Server:        10.10.11.10
Address:    10.10.11.10#53

Name:    www.baidu.com
Address: 1.1.1.2

 
]# nslookup www.sina.com 10.10.11.10
Server:        10.10.11.10
Address:    10.10.11.10#53

Name:    www.sina.com
Address: 3.3.3.2

相关推荐