• 欢迎访问VPS岛网站,国外VPS,国内VPS,国外服务器,国内服务器,服务器主机,测评及优惠码,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站 QQ群

Centos7系统DNS服务

Centos技术 gsshang 170次浏览 已收录 0个评论

DNS服务介绍:

         DNS(domain  name  system): 域名系统 , 记录的是域名 和 IP的对应关系 , 实现将域名解析成IP , IP解析成域名 .

         正向解析 : 实现将域名解析成IP

         反向解析 : 实现将IP解析成域名


DNS服务器的身份:

         1. 主DNS服务器(master): DNS系统中用来记录域名和IP地址对应关系(资源配置文件)的权威服务。

         2. 辅助DNS服务器(slave备):辅助DNS服务器上的资源配置文件来源于主DNS服务器。会自动从主DNS服务器上下载资源配置文件,或定期跟主DNS服务器同步资源配置文件数据。辅助DNS服务器可以帮助主DNS服务器分担一定的域名解析压力。

         3. 缓存DNS服务器(cache缓存):用来缓存域名解析的数据。可以用来作为DNS解析加速器。

         4. 端口号 : 53


域名的命名规则:

         格式: 主机名 . 二级域名 .一级域名.[根域]       例如: www.baidu.com

         根域:用.点表示。根域是域名系统的最顶层。全球有13台根域服务器。大部分的根域服务器在美国。

         一级域名:用于标识组织机构的类别。例如:

                          com企业、公司       net网络机构      org非盈利组织    cn中国     hk香港     gov政府机构       edu教育机构   

         二级域名:用于标识组织机构名称。通常有公司或个人向域名系统管理机构申请一个用于标识身份的名称。常见的互联网公司二级域名代号例如:

                          阿里:ali     淘宝 taobao     58同城 58     腾讯 qq、tencent    网易163    新浪sina

         三级域名(或主机名):集团公司通常用于标识不同地区的公司。如58同城的公司有:

                          wh.58.com、hz.58.com、bj.58.com。(wh武汉 ,hz 杭州 ,bj 北京)


DNS工作原理及解析过程:

          image.png

       

1、client客户机向本地的DNS 服务器发出解析请求:“你知道www.baidu.com”的IP地址吗?服务器就在自己的DNS数据库中查询是否有www.baidu.com的区域记录和资源记录。

 

2 、如果本地的DNS服务器上有记录,则直接将www.baidu.com的IP地址告诉给客户机。否则,本地DNS服务器就回去问“根”DNS服务器。

 

3、根DNS服务器告诉本地DNS服务器.com的DNS服务器IP地址。

 

4、本地DNS服务器向.com服务器发出请求:“你知道www.baidu.com”的IP地址吗?

 

5、.com的DNS服务器告诉本地DNS服务器baidu.com的DNS服务器IP地址。

 

6、本地DNS服务器向baidu.com服务器发出请求:“你知道www.baidu.com”的IP地址吗?

 

7、baidu.com的DNS服务器告诉本地DNS服务器www.baidu.com的服务器IP地址。

 

8、本地DNS服务器告诉Client客户机:”www.baidu.com”的IP地址是180.97.33.107。


DNS服务器的部署流程:

环境 : systemctl  stop  firewall    #关闭防火墙     setenforce     #关闭selinux

1. 查看软件是否安装 : rpm  -q  bind  bind-utils

2. 安装DNS服务器所需要的软件: yum  install  -y  bind  bind-utils(客户端软件)

3. 启动服务并设置开机自启动: systemctl   restart  named && systemctl  enable  named

4. 查看配置文件: rpm  -qc  bind

image.png

其中, /etc/named.conf 为主配置文件 , /etc/named.rfc1912.zones  为DNS的区域配置文件(正向解析、反向解析的区域设置)


主配置文件 /etc/named.conf 内容:

         

options {

        listen-on port 53 { any; };                                                              # 监听端口为 53 , any 允许为ipv4 的任意IP访问

        listen-on-v6 port 53 { ::1; };

        directory       “/var/named”;                                                         # DNS服务的工作目录

        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; };                                                                  # 允许查询,localhost表示仅允许本机自己查,如果要让网络中的任何主机查询就用any。(白名单)

        recursion yes;                                                                                # 允许递归查询

        dnssec-enable  yes;                                                                       # 启用DNS安全功能

        dnssec-validation  yes;

        /* Path to ISC DLV key */

        bindkeys-file “/etc/named.iscdlv.key”;

        managed-keys-directory “/var/named/dynamic”;

        pid-file “/run/named/named.pid”;                                               # DNS的pid文件

        session-keyfile “/run/named/session.key”;

};

logging {

        channel default_debug {

                file “data/named.run”;

                severity dynamic;

        };

};

zone “.” IN {                                                                                   # 根域设置                                                   

        type hint;                                                                               #类型为hint                                               

        file “named.ca”;     文件路径是/var/named/named.ca           #主机名和IP映射关系的资源记录文件名 

};

include “/etc/named.rfc1912.zones”;                                           # 指定包含的配置文件 , 区域配置文件      

include “/etc/named.root.key”;

区域配置文件内容, 以/var/named/named.localhost 为例:

$TTL 1D                                                                                 #缓存数据的生命周期值为一天

@       IN SOA  @ rname.invalid. (                                         #soa记录 , 指权威的DNS服务器名称和管理员邮箱

                                        0       ; serial                                   #文件的版本编号 , 通常用年月日来编写 , 例20190218001

                                        1D      ; refresh                               #刷新时间为一天

                                        1H      ; retry                                  #重试时间为一小时

                                        1W      ; expire                               #过期时间为一周                               

                                        3H )    ; minimum                          #默认缓存时间为三分钟

        NS      @                                                                        #ns记录 ,即name server记录 ,记录是dns服务器的名称

        A       127.0.0.1                                                               # A 记录指定域名对应的IP

        AAAA    ::1


配置DNS服务的正向解析(域名–>ip):

以自身IP为例(192.168.11.11) , 搭建一个名称为gj.com的正向解析服务

第一步 : 首先将主配置文件 /etc/named.conf 中的localhost 和 127.0.0.1 改为 any

image.png

第二步 : 编辑区域配置文件 /etc/named.rfc1912.zones , 创建 gj.com 的正向解析配置文件 ,在文件最后一行写入如下所示:

                    

                    zone “gj.com” IN {                             # 配置名称区域                                                                 

                         type  master;                                # 类型为master 主                                                             

                         file  “gj.com.zone”;                      #资源记录文件名 , 完整路径为 /var/named/gj.com.zone

                         allow-update { none; };                # 允许跟新 , none 为不允许跟新                                       

                               };

       

第三步 : 创建gj.com正向解析区域的资源记录(域名和IP地址的映射关系)文件gj.com.zone。

cd  /var/named                                         # 进入到 /etc/named 目录下面

cp  -av   named.localhost   gj.com.zone    #复制 named.localhost 文件里面的内容到 gj.com.zone 文件中

vim   gj.com.zone                                       #编辑此文件 ,添加图中最后四行内容

image.png

第四步 : 重启服务 ,用nslookup 命令进行本地检测:

image.png

mail.gj.com 同上www.gj.com  , 解析出来的IP为192.168.11.22

 

*在区域配置文件 /var/named/gj.com.zone 中添加 *  A  192.168.11.23  , 即为泛域名解析 , * 代表任意主机名


配置DNS服务的反向解析(ip–>域名):

第一步 : 同上正向解析

第二步 : 编辑区域配置文件 /etc/named.rfc1912.zones , 创建 gj.com 的反向解析配置文件 ,在文件最后一行写入如下所示:

                    zone “12.168.192.in-addr.arpa” IN {              #配置ip区域 , IP反正写

                         type  master;                                              #类型为master 主

                         file  “192.168.12.zone”;                                 #资源记录文件名 , 完整路径为 /var/named/192.168.12.zone

                         allow-update { none; };                               # 允许跟新 , none 为不允许跟新

                              };

image.png 

第三步 : 创建gj.com反向解析区域的资源记录(域名和IP地址的映射关系)文件192.168.12.zone。

                   

cd  /var/named                                                 # 进入到 /etc/named 目录下面

cp  -av   named.localhost   192.168.12.zone    #复制 named.localhost 文件里面的内容到 192.168.12.zone 文件中

 vim   192.168.12.zone                                      #编辑此文件 ,添加内容如图所示:

image.png

 第四步 : 重启服务 , 用nslookup 进行本来检测 :

image.png

使用nslookup 切换服务器到192.168.11.11 上 , 输入IP:192.168.12.2 ,从图看出成功解析出www.gj.com , ip:192.168.12.3 解析出相对应的 mail.gj.com


辅助DNS服务器配置:

       功能及作用 : 辅助DNS服务器上的资源配置文件来源于主DNS服务器。会自动从主DNS服务器上下载资源配置文件,或定期跟主DNS服务器同步资源配置文件数据。辅助DNS服务器可以帮助主DNS服务器分担一定的域名解析压力 .

部署实验环境 : 准备第二台虚拟机主机(IP:192.168.11.13) , 按上述文章内容创建好正向解析区域和反向解析区域并测试成功之后 , 在192.168.11.13开始部署辅助DNS服务: 

第一步,安装软件:

rpm  -q  bind  bind-utils

yum  install  -y  bind  bind-utils

systemctl  restart  named  &&  systemctl  enable  named

rpm  -qc  bind

 第二步,备份指定的配置文件:

cd  /etc

ls   named*

cp  -v  named.conf{,.bak}

cp  -v  named.rfc1912.zones{,.bak}

第三步,修改/etc/named.conf主配置文件,将文件中的127.0.0.1和localhost全部改成any。

vim   /etc/named.conf    修改如下两行内容的{}中的内容为any

listen-on  port  53  { any; };

allow-query  { any; };

——- 以上操作不做过多解释 , 上文有详细解释———————————–

第四步 : 编辑区域配置文件 /etc/named.rfc1912.zones , 创建 gj.com 的辅助DNS解析配置文件 ,在文件最后一行写入如下所示:

image.png

type   slave                              #设置类型为从

file “slaves/gj.com.zone”         #声明辅助配置区域文件

masters  { 192.168.11.11;};      #声明主DNS服务器为192.168.11.11这台机器  

 第五步 : 重启服务 , 查看 /var/named/slaves 下面是否存在文件:

image.png 

可以看出一开始没有 , 重启服务后 , /var/namd/slaves 下面存在 gj.com.zone 区域配置文件 , 这个文件是从主DNS服务器192.168.11.11下载过来的

image.png 

从辅助DNS服务器检测也能解析出www.gj.com ,如上图


DNS服务器视图功能及部署:

        视图功能作用 : 通过视图功能可以实现内网、外网解析出不同的IP地址。即解析同一个域名时,对于不同网段的客户机查询出不同结果的IP地址

        (警告:在使用DNS视图功能的 DNS服务器上要在/etc/named.conf中删除或注释掉根域的配置信息,注释掉named.rfc1912.zones和root.key这些代码.否则会出错.)

      ———————————————————————————————————————      

           附:   dns视图配置代码:
               acl   dianxin  {                                        #定义访问控制列表名称为dianxin电信
                  192.168.11.0/24;                    #指定网络地址和子网掩码,24是255.255.255.0这个子网掩码
               };

               view  “dianxin” {                                      # 定义视图名称为dianxin电信
                   match-clients { dianxin; };                #匹配客户端的网段为dianxin(即acl定义的名称)
                   recursion  yes;              # 启用递归查询
                   zone “test.com” IN {         # 登记test.com匹配配置
                  type master;            #类型为master主DNS服务器
                  file “dianxin.test.com.zone”;             #区域的解析资源配置文件
              };
              };

        —————————————————————————————————————–

         

        实验:给192.168.11.11[电信]这台主机的ens33网卡临时添加2个IP地址(192.168.100.7[移动]、192.168.110.7[联通])。创建一个dianxin的视图,在视图中定义test.com区域,并创建解析资源记录文件,主机名和IP地址随便定,但IP必须是192.168.11.0这个网段的。做解析测试。

部署如下: 

        

首先 ,修改主配置文件 : /etc/named.conf , 如图所示 ,注释文件并添加视图代码:

image.png

         

临时添加网卡并用ifconfig 查看::

ifconfig  ens33:1   192.168.100.9  up

ifconfig  ens33:1   192.168.110.9  up 

image.png

         

创建/var/named/dianxin.test.com.zone这个解析区域配置文件:

cd  /var/named

cp -av   named.localhost    dianxin.test.com.zone

vim  dianxin.test.com.zone  编辑此文件输入以下内容 ,如图:

image.png

         

本地测试 : nslookup  dns1.test.com   192.168.11.11

image.png

而其他网段解析不了 , 同上原理可创建移动dns , 联通dns服务 ,实现不同网段解析不同网段的功能

 


DNS子域授权:

子域 : 出了根域之外的服务器都称为子域 ,一般在公司内部使用 ,

为什么使用子域? 为的是能够减轻父域的负担 , 且不受dns服务商的影响

父域只需解析出自己的子域即可 , 子域解析的是子域中的所有主机 . 

       

实验 : 搭建父域和子域

实验拓扑 : 配置二级域名(子域)服务器 qq.com . (ip:192.168.11.13)

                 配置一级域名(子域)服务器 www. (ip:192.168.11.11)

首先 , 在两台虚拟主机(192.168.11.11  192.168.11.12)上安装好DNS服务 , 安装详细部署见上文(记得关闭防火墙和seLinux):

        

配置二级域名: vim /etc/named.rfc1912.zones  编辑此文件添加内容如图:

image.png

再创建区域配置文件 /var/named/qq.com.zone , 内容如下

image.png

重启服务 , 用nslookup www.qq.com 192.168.11.13 检测是否解析成功

         

配置一级域名服务器:

vim /etc/named.rfc1912.zones  编辑文件添加如图所示内容:

image.png

再创建区域配置文件 /var/named/com.zone , 内容如下

image.png

重启服务 , 再父域上检测 : nslookup www.qq.com 192.168.11.13

image.png

        到此 ,子域授权结束

                     

 

                  

         

         

         

                                           

                


VPS岛 的文章和资源来自互联网,仅作为参考资料,如果有侵犯版权的资源请尽快联系站长,我们会在24h内删除有争议的资源。丨 转载请注明Centos7系统DNS服务
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址