Linux中部署DNS分离解析技术

定义

由于现在网站访问量越来越大,如果把服务器部署在一个点,则远处的客户端就访问得特别慢。为解决此问题,可分布部署网站服务器,然后在使用DNS服务的分离解析功能,即可让位于不同地理范围内的客户端通过访问相同的网址,而从不同的服务器获取到相同的数据。

搭建服务环境需求

主机名称 操作系统 IP地址
DNS服务器 RHEL7

北京网络:127.71.115.10

美国网络:106.185.25.10

国内客户端 RHEL7 122.71.115.20
国外客户端 RHEL7 106.185.25.20

步骤一:修改bind服务程序的主配置文件,把第11行的监听端口与第17行的允许查询主机修改为any。由于配置的DNS分离解析功能与DNS根服务器配置参数有冲突,所以需要把第51-54行根域信息删除。

[root@www named]# vi /etc/named.conf

10   options {
11      listen-on port 53 { any; }; ## 设定任何网卡都可以提供DNS服务
12       listen-on-v6 port 53 { ::1; };
13      directory "/var/named";
14     dump-file "/var/named/data/cache_dump.db";
15      statistics-file "/var/named/data/named_stats.txt";
16      memstatistics-file "/var/named/data/named_mem_stats.txt";
17      allow-query { any; }; ## 任何用户均可使用DNS查询服务


51     #zone "." IN { ## 注释掉 51-54 行,与分离解析服务冲突
52     # type hint;
53     # file "named.ca";
54     #};

步骤二:编辑区域配置文件,把区域配置文件原有的数据清空,按照以下格式写入参数

[root@www named]# vi /etc/named.rfc1912.zones

acl "china" { 122.71.115.0/24; };
acl "american" { 106.185.25.0/24; };
view "china" {
  match-clients { "china"; };
  zone "linuxprobe.com" {
    type master;
    file "linuxprobe.com.china";
  };
};
view "american" {
  match-clients { "american"; };
  zone "linuxprobe.com" {
    type master;
    file "linuxprobe.com.american";
  };
};

步骤三:建立数据配置文件,分别通过模板文件创建两份不同名称的区域数据文件,名称与上面区域配置文件参数相对应

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

[root@www named]# cp -a named.localhost linuxprobe.com.china

[root@www named]# cp -a named.localhost linuxprobe.com.american

[root@www named]# vi linuxprobe.com.china

$TTL 1D
@  IN SOA    @ rname.invalid. (
                  0 ; serial
                  1D ; refresh
                  1H ; retry
                  1W ; expire
                  3H ) ; minimum

     NS      ns.linuxprobe.com.  #域名服务器记录
ns    IN A    122.71.115.10     #地址记录(ns.linuxprobe.com)
www   IN A    122.71.115.15    #地址记录(www.linuxprobe.com)

 

[root@www named]# vi linuxprobe.com.american

$TTL 1D
@  IN SOA    @ rname.invalid. (
                  0 ; serial
                  1D ; refresh
                  1H ; retry
                  1W ; expire
                  3H ) ; minimum

     NS      ns.linuxprobe.com.  #域名服务器记录
ns    IN A    106.185.25.10     #地址记录(ns.linuxprobe.com)
www   IN A    106.185.25.15    #地址记录(www.linuxprobe.com)

步骤四:重启named服务程序。将服务DNS服务器地址设置为域名地址

[root@www named]# nmtui

 

步骤五:模拟北京客户段地址,此时地址设置范围为:122.71.115.1-255。域名地址为:DNS服务器地址。注:设置地址时不要与域名、广播地址重复即可。

[root@client named]# nmtui

 

重启网卡服务

[root@client ~]# systemctl restart network

[root@client ~]# ifup ens33

测试网络连通性

 

使用nslookup命令测试结果

dig命令可以更加详细的显示DNS域名查询结果 

这时如果还是解析不了的话可以把可能与iptables 默认策略有关,在服务端使用  iptables -F 命令。

 

模拟国外客户端地址,地址范围为:106.185.25.1-255,

[root@client named]# nmtui

 

测试网络连通性

 

 测试解析结果

posted @ 2021-04-28 16:06  香饼  阅读(102)  评论(0编辑  收藏  举报