zoukankan      html  css  js  c++  java
  • 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

     

    测试网络连通性

     

     测试解析结果

  • 相关阅读:
    C#解析PDF
    Ora-03113Ora-03114与Oracle In 拼接字符串的问题
    [Linux] nohup/setsid/& 让进程在后台可靠运行
    [Python] json 报错'xxx is not JSON serializable'的处理方法
    [Linux] 虚拟环境的配置和使用 virtualenv
    [Python] 跳过前几行快速读取文件内容:islice
    对pandas的dataframe绘图并保存
    matplotlib 数据可视化
    awk结合正则匹配
    Pandas库常用函数和操作
  • 原文地址:https://www.cnblogs.com/xiangbing123/p/14714561.html
Copyright © 2011-2022 走看看