澳门金沙国际 1

澳门金沙国际 2

为了网站的可相信性,常常都会有八个DNS服务器,万一DNS服务器宕机了,能够兑现DNS服务器容错

为了网站的可信赖性,平时都会有八个DNS服务器,万一DNS服务器宕机了,能够兑现DNS服务器容错

背景介绍:总企业与京城分行均由总公司举行联合保管。总公司的主干DNS担任解析总公司服务器与新加坡市支店的服务器解析职责。总企业DNS委派其余五个同盟社管理自身域下的服务器解析职分。需求任何二个节点都能分析到卖家整个域名的结果。这里唯有是搭建DNS服务器,以解析的结果为证实。所以暂不考虑网络方面包车型客车作业,只要确认保障DNS能互相解析就算配置成功。

背景介绍:总集团与东京(Tokyo)分企业均由总集团举行统管。总公司的主导DNS担任解析总企业服务器与首都支行的服务器解析职务。总公司DNS委派其余三个商店保管自个儿域下的服务器解析职务。须要别的3个节点都能分析到集团任何域名的结果。那里仅仅是搭建DNS服务器,以解析的结果为表达。所以暂不考虑网络方面包车型客车事体,只要确定保障DNS能相互解析就算配置成功。

平常都会有三个主DNS服务器,后边配若干个援助DNS服务器,那些主DNS服务器的数据库会联合给此外的DNS服务器,那几个就叫主从架构

 

一 、步骤梳理

  • 设定基本服务器的安插
  • 设定主服务器字节区域解析数据库
  • bj.jd.com子域分配给协调管理
  • yd.jd.comsh.jd.com各自委派给各自的服务器
  • 子域服务器设定各自的区域解析数据库
  • 子域服务器设定将jd.com域转载至主从服务器中

① 、步骤梳理

  • 设定基本服务器的布置
  • 设定主服务器字节区域解析数据库
  • bj.jd.com子域分配给本身管理
  • yd.jd.comsh.jd.com个别委派给各自的服务器
  • 子域服务器设定各自的区域解析数据库
  • 子域服务器设定将jd.com域转载至主从服务器中

下边演示主从架构的搭建

一般而言都会有二个主DNS服务器,前面配若干个协理DNS服务器,那么些主DNS服务器的数据库会联手给任何的DNS服务器,那么些就叫主从架构

二 、bind配置文件结构

本地解析文件
   /etc/hosts
主配置文件
   /etc/named.conf
   /etc/named.rfc1912.zones
   /etc/rndc.key
解析库文件
   /var/named
           \----slaves      #文件夹,当为slave,则在master同步的数据放在此文件
           \----named.ca        #互联网根的信息
           \----name            #自定义的数据文件放在此目录下

二 、bind配置文件结构

本地解析文件
   /etc/hosts
主配置文件
   /etc/named.conf
   /etc/named.rfc1912.zones
   /etc/rndc.key
解析库文件
   /var/named
           \----slaves      #文件夹,当为slave,则在master同步的数据放在此文件
           \----named.ca        #互联网根的信息
           \----name            #自定义的数据文件放在此目录下

↓ ↓ ↓

 

叁 、搭建进程

三 、搭建进程

环境

最少三台主机

相同和前几篇一样,7主、17从、16客户机

我们在17主机上安装DNS服务包

安装就不说了,前面有,下边间接改主配置文件

上面演示主从架构的搭建

1.主DNS服务器

安装bind并布置DNS的主配置文件

//安装bind
yum install bind
//
//配置bind的主配置文件
vim /etc/named.conf
  listen-on port 53 { 10.0.0.57; };    //设置监听的IP
  allow-query     { any; };            //设置允许所有人访问DNS服务
  forwarders { 114.114.114.114; };     //设定转发,本机没有的记录全部转发至其他DNS
  dnssec-enable no;                    //关闭DNS安全认证
  dnssec-validation no;                //关闭DNS安全确认
  include "/etc/named.rfc1912.zones";  //引入外部区域配置文件

在区域布局文件/etc/named.rfc1912.zones始建新的辨析区域

//修改区域配置文件
vim /etc/named.rfc1912.zones
  zone "jd.com" IN {                   //创建jd.com域
          type master;                 //在jd域为主DNS
          file "jd.com.zone";          //区域数据库的配置文件名称,默认路径在/var/named/.....
  }; 

  zone "bj.jd.com" IN {                //创建子域bj.jd.com
          type master;                 //在子域中为主DNS
          file "bj.jd.com.zone";       //区域数据库的配置文件名称,默认路径在/var/named/.....
  };

店铺内部DNS跨国配置案例,主从架构搭建。开创解析数据库文件,数据库默许全体在/var/named目录下,创制的区域数据库文件名一定要与地点配置的区域数据库名称相同。NS类型的笔录为设置管理此域的服务器,因为安顿了主旨多个服务器所以要将多个服务器都创立NS记录。不过只是创立NS记录是不够的,因为客户端访问的时候不可能了然究竟哪个人是NS服务器,所以还需求给管住此域的服务器建立一条A笔录,解析出管理此域的服务器。

vim /var/named/jd.com.zone
  $TTL 1D
  @       IN SOA  dns1 root.jd.com. (
                                        16      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
          NS      dns1                  //NS指定管理此域的服务器
          NS      dns2                  //NS指定管理此域的服务器
  sh      NS      dns.sh                //将sh子域委派给sh.jd.com进行管理
  yd      NS      dns.yd                //将yd子域委派给sh.yd.com进行管理
  dns1    A       10.0.0.57             //为管理此域的服务器与子域服务器创建A记录
  dns2    A       10.0.0.56
  dns.sh  A       10.0.0.66
  dns.yd  A       10.0.0.67
  www     A       10.10.0.10            //为主服务器直接管理的解析记录创建A记录
  oa      A       10.10.0.11
  sql     A       10.10.0.12

因在/etc/named.rfc一九一二.zones文件中开创了多少个区域,所以一共要对应多少个区域解析数据库。上面创制的数据库时给jd.com成立的数据文件。今后内需创设的是bj.jd.com的数据库文件,也正是Master服务器自身管理的子域。因为总公司与新加坡市分公司都在京都,所以主DNS直接自个儿管理本身的子域。

$TTL 1D
@       IN SOA   dns1 root.bj.jd.com. (
                                        5       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns1
        NS      dns2
dns1    A       10.0.0.57
dns2    A       10.0.0.56
ftp     A       10.20.0.12
oa      A       10.20.0.13

1.主DNS服务器

安装bind并铺排DNS的主配置文件

//安装bind
yum install bind
//
//配置bind的主配置文件
vim /etc/named.conf
  listen-on port 53 { 10.0.0.57; };    //设置监听的IP
  allow-query     { any; };            //设置允许所有人访问DNS服务
  forwarders { 114.114.114.114; };     //设定转发,本机没有的记录全部转发至其他DNS
  dnssec-enable no;                    //关闭DNS安全认证
  dnssec-validation no;                //关闭DNS安全确认
  include "/etc/named.rfc1912.zones";  //引入外部区域配置文件

在区域布局文件/etc/named.rfc1912.zones创设新的解析区域

//修改区域配置文件
vim /etc/named.rfc1912.zones
  zone "jd.com" IN {                   //创建jd.com域
          type master;                 //在jd域为主DNS
          file "jd.com.zone";          //区域数据库的配置文件名称,默认路径在/var/named/.....
  }; 

  zone "bj.jd.com" IN {                //创建子域bj.jd.com
          type master;                 //在子域中为主DNS
          file "bj.jd.com.zone";       //区域数据库的配置文件名称,默认路径在/var/named/.....
  };

创制解析数据库文件,数据库暗中认可全体在/var/named目录下,成立的区域数据库文件名一定要与地方配置的区域数据库名称相同。NS类型的笔录为设置管理此域的服务器,因为布置了基本三个服务器所以要将八个服务器都创立NS记录。可是惟有创立NS记录是不够的,因为客户端访问的时候无法通晓毕竟哪个人是NS服务器,所以还索要给管住此域的服务器建立一条A记下,解析出管理此域的服务器。

vim /var/named/jd.com.zone
  $TTL 1D
  @       IN SOA  dns1 root.jd.com. (
                                        16      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
          NS      dns1                  //NS指定管理此域的服务器
          NS      dns2                  //NS指定管理此域的服务器
  sh      NS      dns.sh                //将sh子域委派给sh.jd.com进行管理
  yd      NS      dns.yd                //将yd子域委派给sh.yd.com进行管理
  dns1    A       10.0.0.57             //为管理此域的服务器与子域服务器创建A记录
  dns2    A       10.0.0.56
  dns.sh  A       10.0.0.66
  dns.yd  A       10.0.0.67
  www     A       10.10.0.10            //为主服务器直接管理的解析记录创建A记录
  oa      A       10.10.0.11
  sql     A       10.10.0.12

因在/etc/named.rfc一九一四.zones文件中开创了多个区域,所以一共要对应五个区域解析数据库。上面成立的数据库时给jd.com创设的数据文件。今后亟待成立的是bj.jd.com的数据库文件,也等于Master服务器自个儿管理的子域。因为总集团与首都分号都在首都,所以主DNS直接自身管理自个儿的子域。

$TTL 1D
@       IN SOA   dns1 root.bj.jd.com. (
                                        5       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns1
        NS      dns2
dns1    A       10.0.0.57
dns2    A       10.0.0.56
ftp     A       10.20.0.12
oa      A       10.20.0.13

修改配置

修改从服务器-主配置文件

vim /etc/named.conf
#
#

澳门金沙国际 3

修改区域布局文件

vim /etc/named.rfc1912.zones
#

澳门金沙国际 4

修改主服务器-配置文件

安装只可以是从服务器可以从主服务器拉取区域数据库

先设置主服务器配置文件

vim /etc/named.conf
#

澳门金沙国际 5

备注:图上那项是暗中同意没有的,暗中认可是全体人都能够从主服务器拉取区域数据库,那样是很凶险,全体加上那条,只允许从服务器地址能够拉取

修改区域数据库文件

vim xiaos.com.zone
#
#

澳门金沙国际 6

检测语法

named-checkconf
#
named-checkzone xiaos.com xiaos.com.zone
#

澳门金沙国际 7

重启服务

rndc reload

#重读配置文件

service named restart

systemctl restart named
#重启服务/centos/6/7
#开启服务

 

2.从服务器

修改从服务器的主配置文件

vim /etc/named.conf
options {
        listen-on port 53 { 10.0.0.56; };
        allow-query     { any; };
        recursion yes;
        dnssec-enable no; 
        dnssec-validation no; 
};
 include "/etc/named.rfc1912.zones";

成立区域文件,因为从服务器只是同步主服务器的数据,所以不要求分析的数据库文件,只要求设定好哪个人是主服务器即可。

zone "jd.com" IN {                       //设定需要同步的区域,主从是相对于区域而言的所以要设定区域。
        type slave;                      //设定服务器类型为slave从
        masters { 10.0.0.57 ;};          //设定主服务器的IP地址
        file "slaves/jd.com.zone";       //主服务配置文件都会在/var/named/slaves目录下,设定同步回来的数据库文件名
};

zone "bj.jd.com" IN {                    //含义与上面类似,这里设置同步自己管理的子域
        type slave;
        masters { 10.0.0.57 ;}; 
        file "slaves/bj.jd.com.zone";
};

2.从服务器

修改从服务器的主配置文件

vim /etc/named.conf
options {
        listen-on port 53 { 10.0.0.56; };
        allow-query     { any; };
        recursion yes;
        dnssec-enable no; 
        dnssec-validation no; 
};
 include "/etc/named.rfc1912.zones";

创建区域文件,因为从服务器只是同步主服务器的数目,所以不供给分析的数据库文件,只须求设定好什么人是主服务器即可。

zone "jd.com" IN {                       //设定需要同步的区域,主从是相对于区域而言的所以要设定区域。
        type slave;                      //设定服务器类型为slave从
        masters { 10.0.0.57 ;};          //设定主服务器的IP地址
        file "slaves/jd.com.zone";       //主服务配置文件都会在/var/named/slaves目录下,设定同步回来的数据库文件名
};

zone "bj.jd.com" IN {                    //含义与上面类似,这里设置同步自己管理的子域
        type slave;
        masters { 10.0.0.57 ;}; 
        file "slaves/bj.jd.com.zone";
};

测试同步数据库

如今大旨数据库文件新闻是如出一辙的

更改主服务数据库文件消息,看看能还是无法一起到从服务器

vim xiaos.com.zone 
#

澳门金沙国际 8

主服务重视读配置文件一视同仁启服务

rndc reload
#重读配置文件
service named restart
systemctl restart named
#重启服务/centos/6/7
#开启服务

一道成功

澳门金沙国际 9

备注:那里要注意的是文件的权能–

记得蒙受错误查看日志–

↓ ↓ ↓

3.印度

背后印度分店与香岛分行的布署除了设定一下亟需中间转播的区域,别的的跟以前的主服务器配置都以差不离。所以上面包车型地铁单纯对堵塞配置进行标注。

options {
        listen-on port 53 { 10.0.0.67; };
//      listen-on-v6 port 53 { ::1; };
        allow-query     { any; };
        recursion yes;
        dnssec-enable no;
        dnssec-validation no;
};
 include "/etc/named.rfc1912.zones";

设定转载区域。由于支行仅仅管理本人的yd.jd.com域,那集团里面需求拜访总集团的域名,就要求将其转会至上游的总局。

zone "yd.jd.com" IN {
        type master;
        file "yd.jd.com.zone";
};

zone "jd.com" IN {                        //设定转发,客户端访问jd.com域时全部转发至指定的服务器
        type forward;
        forward first;
        forwarders {10.0.0.57;};         //设定转发至10.0.0.57服务器。
};

始建印度支行的区域解析文件

$TTL 1D
@       IN SOA  dns root.yd.jd.com. (
                                        1       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns 
dns     A       10.0.0.67
oa      A       10.40.0.13
ftp     A       10.40.0.12

3.印度

背后印度分号与东方之珠支店的安排除了设定一下要求转接的区域,别的的跟以前的主服务器配置都以大约。所以上边包车型地铁唯有对堵塞配置进行标注。

options {
        listen-on port 53 { 10.0.0.67; };
//      listen-on-v6 port 53 { ::1; };
        allow-query     { any; };
        recursion yes;
        dnssec-enable no;
        dnssec-validation no;
};
 include "/etc/named.rfc1912.zones";

设定转发区域。由于支行仅仅管理本身的yd.jd.com域,那公司里面要求拜访总公司的域名,就须要将其转会至上游的总局。

zone "yd.jd.com" IN {
        type master;
        file "yd.jd.com.zone";
};

zone "jd.com" IN {                        //设定转发,客户端访问jd.com域时全部转发至指定的服务器
        type forward;
        forward first;
        forwarders {10.0.0.57;};         //设定转发至10.0.0.57服务器。
};

成立印度分店的区域解析文件

$TTL 1D
@       IN SOA  dns root.yd.jd.com. (
                                        1       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns 
dns     A       10.0.0.67
oa      A       10.40.0.13
ftp     A       10.40.0.12

 

4.上海

修改主配置文件

options {
        listen-on port 53 { 10.0.0.66; };
        listen-on-v6 port 53 { ::1; };
        allow-query     { any; };
        recursion yes;
        dnssec-enable no;
        dnssec-validation no;
};
 include "/etc/named.rfc1912.zones";

成立区域记录,设定转载

zone "sh.jd.com" IN {
        type master;
        file "sh.jd.com.zone";
};

zone "jd.com" IN {                        //设定转发,客户端访问jd.com域时全部转发至指定的服务器
        type forward;
        forward first;
        forwarders {10.0.0.57;};         //设定转发至10.0.0.57服务器。
};

始建北京支行本身管理的区域解析文件。

$TTL 1D
@       IN SOA  dns root.sh.jd.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns
dns     A       10.0.0.66
ftp     A       10.30.0.12
oa      A       10.30.0.1

4.上海

修改主配置文件

options {
        listen-on port 53 { 10.0.0.66; };
        listen-on-v6 port 53 { ::1; };
        allow-query     { any; };
        recursion yes;
        dnssec-enable no;
        dnssec-validation no;
};
 include "/etc/named.rfc1912.zones";

创办区域记录,设定转载

zone "sh.jd.com" IN {
        type master;
        file "sh.jd.com.zone";
};

zone "jd.com" IN {                        //设定转发,客户端访问jd.com域时全部转发至指定的服务器
        type forward;
        forward first;
        forwarders {10.0.0.57;};         //设定转发至10.0.0.57服务器。
};

成立法国首都支行本人管理的区域解析文件。

$TTL 1D
@       IN SOA  dns root.sh.jd.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns
dns     A       10.0.0.66
ftp     A       10.30.0.12
oa      A       10.30.0.1

环境
至少三台主机

④ 、结果测试

将windwos的DNS设置为10.0.0.66,然后尝试解析10.0.0.67管制的域。成功获取解析结果。

澳门金沙国际 10

四 、结果测试

将windwos的DNS设置为10.0.0.66,然后尝试解析10.0.0.67管制的域。成功收获解析结果。
澳门金沙国际 11

 

五 、测试工具

dig [-t type] name [@SERVER] [query options]
dig只用于测试dns系统,不会查询hosts文件进行解析
#常用组合
dig www.taobao.com @10.0.0.10                #指定以10.0.0.10为DNS进行解析
 dig +trace taobao.com                       #跟踪解析的过程

5、测试工具

dig [-t type] name [@SERVER] [query options]
dig只用于测试dns系统,不会查询hosts文件进行解析
#常用组合
dig www.taobao.com @10.0.0.10                #指定以10.0.0.10为DNS进行解析
 dig +trace taobao.com                       #跟踪解析的过程

同等和前几篇一样,7主、17从、16客户机

六 、注意事项

  • 权限:BIND安装时会成立三个用户,BIND运维也是用此用户的身份运转的。所以在条分缕析的时候要保管创造的namde用户拥有对数据可的读权限。
  • 端口:在bind的主配置文件named.conf确认保障监听的端口已经安装、确认保证能够对全体人提供DNS服务。
  • 骨干更新机制:当Master的本子号变大时,Slave才会同步Master上的数量。
  • SELinux:SELinux安全的大概让祥和也不能访问服务,索性直接关门
  • Iptables:当别的配置都尚未错误的时候注意防火墙是不是布署不错
  • 开创委派:创制委派一定要将主主配置文件dnssec-enablednssec-validation设置为no
  • 任何疑问:鸟哥的稿子可能能解开你的狐疑鸟哥官网

陆 、注意事项

  • 权限:BIND安装时会创设二个用户,BIND运转也是用此用户的身份运转的。所以在条分缕析的时候要保管创造的namde用户全体对数据可的读权限。
  • 端口:在bind的主配置文件named.conf确定保障监听的端口已经设置、确认保障能够对全数人提供DNS服务。
  • 主导更新机制澳门金沙国际 ,:当Master的版本号变大时,Slave才会同步Master上的多少。
  • SELinux:SELinux安全的或是让祥和也不能访问服务,索性直接关闭
  • Iptables:当别的配置都没有不当的时候注意防火墙是还是不是安插不错
  • 始基本建设委员会派:成立委派一定要将主主配置文件dnssec-enablednssec-validation设置为no
  • 别的难点:鸟哥的篇章可能能解开你的迷离鸟哥官网

 

七 、安全城门失火

在全局配置文件中/etc/named.conf能够配备与双鸭山休戚相关的取舍

  • allow-query {}: 允许查询的主机;白名单
  • allow-transfer {}:允许区域传送的主机;白名单
  • allow-recursion {}: 允许递归的主机,提出全局使用
  • allow-update {}: 允许更新区域数据库中的内容

7、安全相关

在大局配置文件中/etc/named.conf能够配备与安全辅车相依的选用

  • allow-query {}: 允许查询的主机;白名单
  • allow-transfer {}:允许区域传送的主机;白名单
  • allow-recursion {}: 允许递归的主机,提议全局使用
  • allow-update {}: 允许更新区域数据库中的内容

咱俩在17主机上安装DNS服务包

柒 、实验中境遇的坑

  • 运转服务时提示:Failed to start Beck雷 Internet Name Domain
    (DNS).
    消除办法:多半是因为计划文件写错,依据systemclt status named
    查看报告警方的切切实实配置
  • rndc reload同步安插rndc: neither /etc/rndc.conf nor /etc/rndc.key
    was found
    解决办法:那一个是由于key的标题,能够忽略不管付传送门
  • 添加域后重启服务提醒 loading from master file sh.jd.com.zone;
    failed: file not found
    消除办法:检查主配置文件与数据库文件的名字是不是顺应
  • 开创委派后提示:zone jd.com/IN: sh.jd.com/NS ‘sh.jd.com’ (out of
    zone) has no addresses records (A or
    AAAA)配置文件检查无误,重回可是解析无再次回到结果
    化解办法:在父域中创设委派,然后经过named-checkzone命令检查区域布局文件,一贯提示A记录不设有。检查父域到子域能不可能ping通,检查子域防火墙是不是关闭

柒 、实验中相遇的坑

  • 开始服务时提示:Failed to start Beck雷 Internet Name Domain
    (DNS).
    解决办法:多半是因为安顿文件写错,依据systemclt status named
    查看报告警方的有血有肉布署
  • rndc reload同步布置rndc: neither /etc/rndc.conf nor /etc/rndc.key
    was found
    消除办法:这一个是出于key的难题,能够忽略不管付传送门
  • 添加域后重启服务提醒 loading from master file sh.jd.com.zone;
    failed: file not found
    消除办法:检查主配置文件与数据库文件的名字是还是不是相符
  • 开创委派后提醒:zone jd.com/IN: sh.jd.com/NS ‘sh.jd.com’ (out of
    zone) has no addresses records (A or
    AAAA)配置文件检查无误,再次回到不过解析无再次回到结果
    化解办法:在父域中成立委派,然后通过named-checkzone命令检查区域布局文件,从来提醒A记录不设有。检查父域到子域能或不可能ping通,检查子域防火墙是或不是关闭

 

设置就隐瞒了,前面有,下边直接改主配置文件

 

修改配置
修改从服务器-主配置文件

 

vim /etc/named.conf
#
#

 

澳门金沙国际 12

 

修改区域布局文件

 

vim /etc/named.rfc1912.zones
#

 

澳门金沙国际 13

 

修改主服务器-配置文件

 

安装只可以是从服务器能够从主服务器拉取区域数据库

 

先设置主服务器配置文件

 

vim /etc/named.conf
#

 

澳门金沙国际 14

 

备考:图上那项是暗中认可没有的,暗中认可是全部人都得以从主服务器拉取区域数据库,这样是很惊险,全体加上这条,只允许从服务器地址能够拉取
 

 

修改区域数据库文件
 
vim xiaos.com.zone
#
#

 

澳门金沙国际 15

 

检查和测试语法

 

named-checkconf
#
named-checkzone xiaos.com xiaos.com.zone
#

 

澳门金沙国际 16

 

重启服务

 

rndc reload

 

#重读配置文件

 

service named restart

 

systemctl restart named
#重启服务/CentOS/6/7
#拉开服务

 

测试同步数据库
未来中央数据库文件消息是如出一辙的

 

更改主服务数据库文件新闻,看看能或不能够一起到从服务器

 

vim xiaos.com.zone
#

 

澳门金沙国际 17

 

主服务注重读配置文件一碗水端平启服务

 

rndc reload
#重读配置文件
service named restart
systemctl restart named
#重启服务/centos/6/7
#敞开服务

 

同台成功

 

澳门金沙国际 18

 

备注:那里要专注的是文件的权力–

 

记念遭受错误查看日志–

Linux公社的RSS地址:

正文永久更新链接地址

 

澳门金沙国际 19

相关文章