Linxu系统(Centos 7)安装 DNS 服务

安装 DNS 服务

   在Linux下架设DNS 服务器通常使用BIND(Berkeley Internet Name Donman)程序来实现,其守护进程是 named。

 子任务1 安装 BIND 软件包

1.BIND软件包简介
   BIND是一款实现DNS服务器的开放源码软件。BIND原本是美国DARPA资助研究伯克里大学(Berkeley)开设的一个研究生课题,经过多年的变化发展已经成为世界上使用最为广泛的DNS服务器软件,目前Intemet 上绝大多数的DNS 服务器都是用 BIND来架设的。

BIND经历了第4版、第9版和最新的第10版,BIND能够运行在当前大多数的操作系统平台之上。目前,BIND软件由Internet软件联合会(Intemct Software Consortium,ISc)这个非营利性机构负责开发和维护。

2.安装BIND软件包
(1)使用yum 命令安装 BIND 服务(光盘挂载、yum源的制作请参考前面相关内容)。
 

[root@Centos7-1~]#yum clean all      //安装前先清除缓存
[root@Centos7-1~]#yum install bind bind-chroot -y


(2)安装完后再次查询,发现已安装成功。
 

[root@Centos7-1~]# rpm -galgrep bind


bind-9.9.4-50.el7.x86_64
bind-chroot-9.9.4-50.el7.x86_64

 子任务2 DNS 服务的启动、停止与重启,加入开机自启动
 

[root@Centos7-1 ~]# systemctl start named //stop停止服务,restart 重启服务
[root@Centos7-1 ~]# systemctl enable named



任务3 掌握 BIND 配置文件
   一般的DNS配置文件分为全局配置文件、主配置文件和正反向解析区域声明文件。下面介绍各配置文件的配置方法。

子任务1 认识全局配置文件
   全局配置文件位于/etc目录下。
 

[root@Centos7-1 ~]# cat /etc/named.conf

  ......                                     //略
options{     
listen-on port 53 { 127.0.0.1;);    //指定BIND侦听的DNS查询请求的本  //机IP地址及端口
listen-on-v6 port 53{::1;};       //限于 IPv6
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";
allow-query { localhost;};      //指定接收DNS查询请求的客户端
recursion yes;
dnssec-enable yes;
dnssec-validation yes;      //改为no可以忽略SELinux影响
dnssec-lookaside auto;
.....
};



//以下用于指定BIND服务的日志参数

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

};
zone “.”  IN  {  //用于指定根服务器的配置信息,一般不能改动
type hint;
file "named.ca";
};
include”/etc/named.zones”; //指定主配置文件,一定根据实际修改
include "/etc/named.root.key";

options 配置段属于全局性的设置,常用的配置项命令及功能如下。

directory:用于指定named守护进程的工作目录,各区域正反向搜索解析文件和DNS根服务器地址列表文件(named.ca)应放在该配置项指定的目录中。
    allow-query{}:与 allow-query(localhost;}功能相同。另外,还可使用地址匹配符来表达允许的主机。例如,any可匹配所有的IP地址,none不匹配任何IP地址,localhost匹配本地主机使用的所有IP地址,localnets匹配同本地主机相连的网络中的所有主机。例如,若仅允许127.0.0.1和192.168.1.0/24网段的主机查询该DNS服务器,则命令为

allow-query {127.0.0.1;192.168.1.0/24};


    listen-on:设置 named 守护进程监听的IP地址和端口。若未指定,默认监听DNS服务器的所有IP地址的53号端口。当服务器安装有多块网卡,有多个IP地址时,可通过该配置命令指定所要监听的IP地址。对于只有一个地址的服务器,不必设置。例如,若要设置DNS服务器监听 192.168.1.2这个IP地址,端口使用标准的5353号,则配置命令为
 

listen-on port 5353{ 192.168.1.2;};


    forwarders{}:用于定义 DNS 转发器。在设置了转发器后,所有非本域的和在缓存中无法找到的域名查询,可由指定的DNS 转发器来完成解析工作并做缓存。forward用于指定转发方式,仅在forwarders 转发器列表不为空时有效,其用法为“forward first| only;”。forward first 为默认方式,DNS 服务器会将用户的域名查询请求先转发给 forwarders 设置的转发器,由转发器来完成域名的解析工作,若指定的转发器无法完成解析或无响应,则再由DNS服务器自身来完成域名的解析。若设置为“forward only;”,则DNS服务器仅将用户的域名查询请求转发给转发器,若指定的转发器无法完成域名解析或无响应,DNS服务器自身也不会试着对其进行域名解析。例如,某地区的DNS服务器为61.128,192.68和61.128.128.68,若要将其设置为DNS 服务器的转发器,则配置命令为

options{
            61.128.192.68;61.128.128.68;};
            forward first;
};

子任务2认识主配置文件
   主配置文件位于/etc目录下,可将named.rfc1912.zones复制为全局配置文件中指定的主配置文件,本节中是/etc/named.zones。
 

[root@Centos7-1 ~]#cp -p /etc/named.rfc1912.zones /etc/named.zones
[root@Centos7-1 ~]# cat /etc/named.rfc1912.zones
zone "localhost.localdomain" IN {
type master;                        //主要区域
file "named.localhost";            //指定正向查询区域配置文件
allow-update { none;};
.....                               //略
zone "1.0.0.127.in-addr.arpa" IN {   //反向解析区域
type master;
file "named.loopback";             //指定反向解析区域配置文件
allow-update { none;};
.....                               //略




1. Zone 区域声明
(1)主域名服务器的正向解析区域声明格式为(样本文件为named.localhost)

zone“区域名称”IN(
      type master;
      file"实现正向解析的区域文件名”;
      allow-update {none;};
};


(2)从域名服务器的正向解析区域声明格式为

zone"区域名称”IN{
type slave;
file"实现正向解析的区域文件名”;
masters(主域名服务器的IP地址;};
};


   反向解析区域的声明格式与正向相同,只是file所指定的要读的文件不同,另外就是区域的名称不同。若要反向解析x.yz网段的主机,则反向解析的区域名称应设置为z.y.x.in-addr.arpa。(反向解析区域样本文件为named.loopback)

  1. 根区域文件/var/named/named. ca
        /var/named/named.ca 是一个非常重要的文件,其包含了Internet的顶级域名服务器的名字和地址。利用该文件可以让 DNS 服务器找到根 DNS 服务器,并初始化DNS的缓冲区。当DNS 服务器接到客户端主机的查询请求时,如果在Cache 中找不到相应的数据,就会通过根服务器进行逐级查询。/var/named/named.ca 文件的主要内容如图1-3所示。
    说明:
    ①以“;”开始的行都是注释行。
    ②其他每两行都和某个域名服务器有关,分别是NS和A资源记录。
      行“.518400 IN NS  A.ROOT-SERVERS.NET.”的含义是:“.”表示根域;518400是存活期;IN 是资源记录的网络类型,表示Internet 类型;NS 是资源记录类型;“A.ROOT-SERVERS.NET.”是主机域名。
      行“A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4”的含义是:A资源记录用于指定根城服务器的IP地址;A.ROOT-SERVERS.NET.是主机名;3600000是存活期;A是资源记录类型;最后对应的是IP地址。
    ③其他各行的含义与上面两项基本相同。

由于named.ca文件经常会随着根服务器的变化而发生变化,所以建议最好从国际互联网络信息中心(InterNIC)的 FTP 服务器下载最新的版本,文件名为named.root。

 子任务3 缓存DNS服务器的配置
   缓存域名服务器配置很简单,不需要区域文件,只需配置好/etc/named.conf就可以了。—般电信的DNS都是缓存域名服务器。重要的是配置好以下两项内容。
(1)用“forward only,”命令指明这个服务器是缓存域名服务器。
(2)用“forwarders{转发dns请求到那个服务器IP;};”的命令格式设置转发dns请求到那个服务器。

这样,一个简单的缓存域名服务器就架设成功了。一般缓存域名服务器都是1SP(Internet  Service Provider,因特网服务提供商)或者大公司才会使用。

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傻傻的心动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值