前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DNS(bind)服务器的安装与配置

DNS(bind)服务器的安装与配置

作者头像
菲宇
发布2019-06-12 15:51:40
11K0
发布2019-06-12 15:51:40
举报
文章被收录于专栏:菲宇菲宇

DNS基础

  DNS 是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,域名服务器是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地   基本工作流程

相关概念

  1、域名

    域名(Domain Name),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置,地理上的域名,指代有行政自主权的一个地方区域)。

    注意域名对大小写不敏感

  2、FQDN

    FQDN全称为Fully Qualified Domain Name,即完全合格域名。FQDN由两个部分组成:主机名和域名。因为DNS是逐级管理的,所以在不同的层级中主机名与域名也是不同的;以www.google.com为例,在第二层中,.com就是域名,google就是主机名,而到了第三层中,.google.com就成了域名,www就成了主机名。     注意:主机名与域名并不是依据"."来划分的,主机名中也可以包含"."号的,主要还是要根据域名的注册情况来划分。   3、正向解析

    从FQDN转换为IP地址称为正向解析。

  4、反向解析

    从IP地址转换为FQDN称为反向解析。

  5、区域

    正向解析或反向解析中,每个域的记录就是一个区域。

DNS的解析库

  DNS的主要作用是进行主机名的解析。解析:根据用户提供一种名称,去查询解析库,以得到另一种名称。 正向解析与反向解析使用不同的解析库。

  资源记录:rr(resource record),有类型的概念;用于此记录解析的属性。

  • A:Address地址 IPv4
  • AAAA:Address地址 IPv6
  • NS:Name Server域名服务器
  • SOA:Start of Authority授权状态
  • MX:Mail Exchanger邮件交换
  • CNAME:Canonical Name规范名
  • PTR:Pointer指针

DNS的查询过程

  DNS采用两种查询机制:递归(Recursive Query)和迭代(Iterative Query)。

  实际应用中,即使用递归查询,又使用迭代查询

DNS的查询顺序

   1、本地hosts文件    2、本地DNS缓存    3、本地DNS服务器    4、发起迭代查询

DNS使用的端口号

  DNS协议使用udp/tcp的53端口提供服务,客户端向DNS服务发起请求时,使用udp的53端口;DNS服务器间进行区域传送的时候使用TCP的53端口。

DNS服务器类型

  1、主DNS服务器     为客户端提供域名解析的主要区域,主DNS服务器宕机,会启用从DNS服务器提供服务。   2、从DNS服务器     主服务器DNS长期无应答,从服务器也会停止提供服务。     主从区域之间的同步采用周期性检查+通知的机制,从服务器周期性的检查主服务器上的记录情况,一旦发现修改就会同步,另外主服务器上如果有数据被修改了,会立即通知从服务器更新记录。   3、缓存服务器     服务器本身不提供解析区域,只提供非权威应答。   4、转发服务器     当DNS服务器的解析区域(包括缓存)中无法为当前的请求提供权威应答时,将请求转发至其它的DNS服务器,此时本地DNS服务器就是转发服务器。

BIND简介

  现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Internet Systems Consortium)编写和维护。

  BIND支持先今绝大多数的操作系统(Linux,UNIX,Mac,Windows)

  BIND服务的名称称之为named

  DNS默认使用UDP、TCP协议,使用端口为53(domain),953(mdc,远程控制使用)

BIND安装

  本例使用的环境是CentOS 7.0的Linux操作系统(非CentOS 7.0系统,安装会有所区别),所以直接采用命令:yum install -y bind bind-chroot bind-utils   其中bind-chroot和bind-utils是bind的相关包。

BIND配置

  1、BIND配置文件保存在两个位置:     /etc/named.conf  - BIND服务主配置文件     /var/named/    - zone文件(域的dns信息)

  如果安装了bind-chroot(其中chroot是 change root 的缩写),BIND会被封装到一个伪根目录内,配置文件的位置变为:     /var/named/chroot/etc/named.conf   - BIND服务主配置文件     /var/named/chroot/var/named/    - zone文件   chroot是通过相关文件封装在一个伪根目录内,已达到安全防护的目的,一旦程序被攻破,将只能访问伪根目录内的内容,而不是真实的根目录

  2、BIND安装好之后不会有预制的配置文件,但是在BIND的文档文件夹内(/usr/share/doc/bind-9.9.4),BIND为我们提供了配置文件模板,我们可以直接拷贝过来:     cp -r /usr/share/doc/bind-9.9.4/sample/etc/* /var/named/chroot/etc/     cp -r /usr/share/doc/bind-9.9.4/sample/var/* /var/named/chroot/var/

  3、配置BIND服务的主配置文件(/var/named/chroot/etc/named.conf),命令:vim /var/named/chroot/etc/named.conf;     内容很多使用简单配置,删除文件中logging以下的全部内容,以及option中的部分内容,得到如下配置

复制代码
复制代码
代码语言:javascript
复制
 1 /*
 2  Sample named.conf BIND DNS server 'named' configuration file
 3  for the Red Hat BIND distribution.
 4 
 5  See the BIND Administrator's Reference Manual (ARM) for details about the
 6  configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html
 7 */
 8 
 9 options
10 {
11         // Put files that named is allowed to write in the data/ directory:
12         directory               "/var/named";           // "Working" directory
13         
14         
15         //listen-on port 53     { any; };
16         listen-on port 53       { 127.0.0.1; };
17 
18         //listen-on-v6 port 53  { any; };
19         listen-on-v6 port 53    { ::1; };
20 
21 };  
复制代码
复制代码

  4、在主配置文件(/var/named/chroot/etc/named.conf )中加入,zone参数

  5、新建example.net.zone文件,example.net的域名解析文件,zone文件放在/var/named/chroot/var/named/下,zone文件可以已/var/named/chroot/var/named/named.localhost为模板。     命令:cp /var/named/chroot/var/named/named.localhost /var/named/chroot/var/named/example.net.zone

    文件example.net.zone的内容如下:

  6、禁用bind默认方式启动,改用bind-chroot方式启动。命令如下:     [root@iZ2806l73p6Z named]# /usr/libexec/setup-named-chroot.sh /var/named/chroot on     [root@iZ2806l73p6Z named]# systemctl stop named     [root@iZ2806l73p6Z named]# systemctl disable named     [root@iZ2806l73p6Z named]# systemctl start named-chroot     [root@iZ2806l73p6Z named]# systemctl enable named-chroot     [root@iZ2806l73p6Z named]#

    图:

    注意:如果是CentOS 6.5的系统,这个步骤回有所区别,直接使用默认的service named start 启动服务,bind就直接运行在chroot包中,如下图:

  7、查看是否启动,命令:ps -ef|grep named

  8、测试DNS服务,本例在本机上测试,也可在其他电脑上测试,修改DNS服务的ip地址即可(命令:vim /etc/resolv.conf ),然后使用命令dig(命令:dig www.example.net)测试

内容如下:

测试结果:

    注:非本机测试需要修改主配置文件named.conf,允许任何ip访问,然后重启服务器

DNS服务-BIND从服务器、缓存服务器及转发服务器配置

环境

  操作系统:CentOS 6.5

  DNS软件:bind

BIND从服务器

  从服务器就是在bind的主配置文件中添加从域example.net的配置信息即可3

1、配置文件位置  /var/named/chroot/etc/named.conf   2、在主配置文件中添加一行域的zone定义:     zone "example.net" {        type slave;      masters { 120.27.99.64; };      file "slaves/example.net.zone";     }

  3、由于bind是以named用户来运行的,所以要给存放zone文件的文件夹(/var/named/chroot/var/named/slaves)授权:     未授权前:

    授权:

  4、启动bind服务,service named start,在存放zone文件夹(/var/named/chroot/var/named/slaves)中查看,已经把example.net.zone文件下下来了

  5、修改dns服务器ip地址,测试dig www.example.net

缓存服务器及转发服务器

  一个DNS服务器可以即不是某个域的master服务器,也不是某个域的slave服务器,一个服务器可以不包含任务域的配置信息,它将接手到所有DNS查询进行递归解析,将解析结果返回给查询客户端,并且将查询结果缓存下来,这样的DNS服务器称之为caching name server。

  通常一个局域网中配置缓存服务器是为了加速网络访问。

  也可以为缓存服务器配置一个上游DNS服务器地址,缓存服务器可以给客户提供一个上游DNS服务器的地址,我们可以通过 以下设置完成:     在主配置文件中的option中加入: forwarders { 192.168.0.168;};

  还可以通过一下选项让服务器转发所有DNS查询到forwarders服务器:     在主配置文件中的option中加入: forward only;

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年09月01日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • DNS基础
  • 相关概念
  • DNS的解析库
  • DNS的查询过程
  • DNS的查询顺序
  • DNS使用的端口号
  • DNS服务器类型
  • BIND简介
  • BIND安装
  • BIND配置
  • 环境
  • BIND从服务器
  • 缓存服务器及转发服务器
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档