自建DNS服务器Bind9

4 篇文章 0 订阅
3 篇文章 0 订阅

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服务器就是转发服务器。

Centos7 安装 Bind9

yum install -y bind bind-chroot bind-utils

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是通过相关文件封装在一个伪根目录内,已达到安全防护的目的,一旦程序被攻破,将只能访问伪根目录内的内容,而不是真实的根目录

实例环节

三台服务器 192.168.3.61、192.168.3.62、192.168.3.63

在192.168.3.61安装bind9,其他2台服务器修改 dns 配置。

vim /etc/named.conf

新增
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


dnssec-enable no;   //改成no
dnssec-validation no;  //改成no

修改 named.rfc1912.zones 文件

;新增如下内容

zone "h.com" IN {
     type master;
     file  "h.com.zone";
     allow-update { none; } ;
};

在/var/named/目录下创建  h.com.zone 文件

;复制一个默认的配置文件过来改

 cp -a named.localhost h.com.zone


$TTL 1D
@       IN SOA h.com.    root.h.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      h.com.
        A       192.168.3.61
        AAAA    ::1
iotm1   A      192.168.3.61
iotm2   A      192.168.3.62
iotm3   A      192.168.3.61

在 92.168.3.61、192.168.3.62、192.168.3.63 三台机器上分别修改dns

vim /etc/sysconfig/network-scripts/ifcfg-ens33

至此,DNS服务器配置完成。 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值