Linux (二十三)剖析DNS服务主从、分离、反向解析等部署方式

目录

一、基础知识

   1.1.BIND 域名服务基础

   1.2.使用BIND构建域名服务器

二、DNS系统类型

     2.1.缓存域名服务器

     2.2.主域名服务器

     2.3.从域名服务器

三、DNS系统的分布式数据结构

   3.1.定义

   3.2.格式

 3.3.查询方式:

 3.4.查询过程:

四、安装bind

   4.1.通过rpm -qc bind命令查看服务配置文件,如图所示:

   4.2.检查语法

五、DNS正向解析

      5.1.概述

      5.2.基础配置

六、DNS反向解析

      6.1.概述

      6.2.基础配置

 七、主从模式

        7.1 主服务器配置

        7.2.从服务器配置

 八、分离解析

     8.1.概述

     8.2.思路

     8.3.配置

8.3.1 设置网关服务器(DNS域名解析服务器)

8.3.2.配置web服务器

8.3.3. 配置内网客户端


一、基础知识

  1.1.BIND 域名服务基础

           DNS系统的作用及类型

           BIND的安装和配置文件

   1.2.使用BIND构建域名服务器

           构建缓存域名服务器

           构建主、从域名服务器

二、DNS系统类型

     2.1.缓存域名服务器

        也称为DNS高速缓存服务器

        通过向其他域名服务器查询获得域名-> ip 地址记录

        将域名查询结果缓存到本地,提高重复查询时得速度

     2.2.主域名服务器

        特定DNS区域得权威服务器,具有唯一性

        负载维护该区域内所有域名->IP地址的映射记录

        需要自行建立所负责区域的地址数据文件

    2.3.从域名服务器

       也称为辅助域名服务器,是对主域名服务器的热备份

       其维护的域名-> IP 地址记录来源于主域名服务器

       需要从主域名服务器自动同步区域地址数据库

三、DNS系统的分布式数据结构

   3.1.定义

    FQDN :完全合格域名

   3.2.格式

  •          FQDN=主机名+域名
  •          www--->为主机名
  •         baidu.com. ---->域名
  •         . --->根域   全球只有13台服务器
  •        .com--->顶级域  
  •       .com.cn -->二级域
  •       xinlang.com.cn--->三级域

如图:

 3.3.查询方式:

  • 迭代查询
  • 递归查询   

 3.4.查询过程:

     1.客户端先查看自身的缓存,如果没有,则查找hosts ,如果有,则直接解析。

     2.查找hosts中没有的,则去查找服务器,如果有,则解析。

     3.在查找到DNS服务器时,查看自身服务器上的是否存在缓存,如果有,自己解析,当然如果域名对应的ip地址已经改变,将会无法访问,需要清空缓存,重新获取。

     4.经历以上递归方式的查询后,如果没有解析到,需要进行迭代查询,DNS解析服务器向根域服务器发送请求,根域服务器发现是自己底下的管理域,便将地址发送给DNS解析服务器,

DNS解析服务器便给如.com .cn 的二级域服务器发送请求,二级域服务器发现sina 是自己管理的子域,便将子域的IP地址返回给DNS解析服务器,DNS解析服务器又开始向

子域发送请求,则子域服务器发现www为主机,则直接获取www 并返回给DNS服务器。 

     5.当DNS解析服务器接收子域服务器返回的主机地址,记录在缓存中,并返回给客户端,客户端先记录到缓存中,便开始访问。

四、安装bind

yum -y install bind

   4.1.通过rpm -qc bind命令查看服务配置文件,如图所示:

注:/var/named/named.ca  配置的是根的13台服务器地址:如图

  4.2.检查语法

 

五、DNS正向解析

      5.1.概述

          根据域名查找对应的IP地址

      5.2.基础配置

第一步:修改/etc/named.conf
options {
        listen-on port 53 { any; };  #修改为any
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; }; #修改为any

第二步:修改/etc/named.rfc1912.zones 文件
view "lan" {  # 设置视图
  match-clients { 192.168.1.0/24;  }; #设置允许访问的网段
  zone "ky11.com" IN {  #设置解析域名
        type master;    #设置节点为master
        file "ky11.com.zone.lan";  #设置模型文件地址
};
  zone "." IN {
   type hint;
   file "named.ca";
};

};

第三步:拷贝一份named.localhost 配置文件 并命名为ky11.com.zone.lan 和配置文件中对应
cp -a /var/named/named.localhost  /var/named/ky11.com.zone.lan

第四步:设置ky11.com.zone.lan 文件 wwww 解析为httpd的服务文件
$TTL 600
@        IN   SOA    dns.cwlinux.com   dnsadmin.cwlinux.com. (//SOA字段
                          2015031288   //版本号    同步一次  +1
                             1H        //更新时间
                             2M        // 更新失败,重试更新时间
                             2D        // 更新失败多长时间后此DNS失效时间
                             1D        //解析不到请求不予回复时间
)
         IN    NS   dns            //有两域名服务器
         IN    NS   ns2
         IN    MX  10 mial        // 定义邮件服务器,10指优先级  0-99 数字越小优先级越高
ns2      IN    A    192.168.1.113  //ns2域名服务器的ip地址
dns      IN    A    192.168.1.10   //dns域名服务器的ip地址
mail     IN    A    192.168.1.111   //邮件服务器的ip地址
www      IN    A    192.168.1.112   //www.cwlinux.com的ip地址
pop      IN   CNAME  mail         //pop的正式名字是mail
ftp      IN   CNAME  www         //ftp的正式名字是www



六、DNS反向解析

      6.1.概述

             根据IP地址查找对应的域名

      6.2.基础配置

第一步:修改/etc/named.rfc1912.zones
zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "ky11.com.zone";
        allow-update { none; };
};
第二步:修改/var/named/ky11.com.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        222     ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       192.168.1.20
        AAAA    ::1
www     A       192.168.1.21
100     PTR     www.ky11.com

 七、主从模式

     7.1 主服务器配置

第一步:修改主服务器的/etc/named.rfc1912.zones
view "lan" {
  match-clients { 192.168.1.0/24;  };
  zone "ky11.com" IN {
        type master;
        file "ky11.com.zone.lan";
        also-notify { 192.168.1.22; };  #添加通知同步信息
        allow-transfer { 192.168.1.22; }; #添加从服务器的IP
};
  zone "." IN {
   type hint;
   file "named.ca";
};

};

        7.2.从服务器配置

第二步:设置type 为slave ,设置备份文件路径 ,设置主节点ip
view "lan" {
  match-clients { 192.168.1.0/24; };
  zone "ky11.com" IN {
        type slave; #type 设置为从 slave
        file "slaves/ky11.com.zone.lan.slave"; #设置备份文件路径
        masters { 192.168.1.20; };# 设置主节点IP
};
  zone "." IN {
   type hint;
   file "named.ca";
};

};

八、分离解析

     8.1.概述

                 分离解析为了方便内外网同时可以访问,内网中的一个服务,此时需要进行做分离解析。

     8.2.思路

  1.          将DNS解析服务器设置为网关服务器。
  2.          DNS解析服务器添加两个网卡,一个为内网使用,一个为外网使用。
  3.          设置DNS服务器视图配置

     8.3.配置

           8.3.1 设置网关服务器(DNS域名解析服务器)

        

第二步:设置en33网卡信息,此处不需要设置网关,由于此服务器为网关服务器
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.22
NETMASK=255.255.255.0
DNS1=114.114.114.114

第三步:设置en33网卡信息,此处不需要设置网关,由于此服务器为网关服务器
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=ens37
DEVICE=ens37
ONBOOT=yes
IPADDR=12.0.0.3
NETMASK=255.255.255.0
DNS1=114.114.114.11

第四步:设置/etc/named.conf


options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };

        /* 
         - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
         - If you are building a RECURSIVE (caching) DNS server, you need to enable 
           recursion. 
         - If your recursive DNS server has a public IP address, you MUST enable access 
           control to limit queries to your legitimate users. Failing to do so will
           cause your server to become part of large scale DNS amplification 
           attacks. Implementing BCP38 within your network would greatly
           reduce such attack surface 
        */
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.root.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

此处将zone进行删除,移到named.rfc1912.zones文件中。

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

第四步:设置/etc/named.rfc1912.zones文件
view "lan" {
  match-clients { 192.168.1.0/24; };
  zone "ky11.com" IN {
        type slave;
        file "slaves/ky11.com.zone.lan.slave";
        masters { 192.168.1.20; };
};
  zone "." IN {
   type hint;
   file "named.ca";
};

};


view "wan" {
 match-clients { any; };
 zone "ky11.com" IN {
    type slave;
    file "slaves/ky11.com.zone.wan.slave";
    masters { 12.0.0.2; };
};

};

第五步:使用named.localhsot  覆盖并创建  /var/named/ky11.com.zone.lan 和 /var/named/ky11.com.zone.wan

第六步:配置/var/named/ky11.com.zone.lan

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        222     ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       192.168.1.20
        AAAA    ::1
www     A       192.168.1.21

第七步:/var/named/ky11.com.zone.wan
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       12.0.0.2
        AAAA    ::1
www     A       12.0.0.2





8.3.2.配置web服务器

第一步:安装httpd服务
yum -y install http

第二步:设置网页
vim /var/www/html/index.html

第一个网页
 
:wq #退出保存

第三步:启动服务

systemctl start httpd

第四步:查看服务
netstat -antp | grep 80

8.3.3. 配置内网客户端

8.3.4 配置外网客户端

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值