Centos7 搭建bind9.9

DNS服务器概述:

DNS(Domain Name System),即域名系统.

DNS服务器分为三种: 主域名服务器(Master Server)、辅助域名服务器(Slave DNS)、缓存服务器(Cache-only Server).

Master Server:    本身提供DNS服务,并且本身含有区域数据文件

Slave DNS:          和master server 一起提供DNS服务, 当主域名服务器上的配置信息修改的时候,会自动更新到辅助域名服务器 实现同步。

Cache-only Server:   缓存服务器没有自己的区域数据文件, 只是帮助客户端向外部DNS请求查询,然后将查到的结果保存到它的缓存中。

DNS服务器搭建

yum -y install bind

配置修改

vim /etc/named.conf

options {
  listen-on port 53 { any; };            #监听指定IPV4监听的端口和IP,默认端口53,ip为127.0.0.1,any为监听所有IP
  listen-on-v6 port 53 { ::1; };          #指定ipv6监听的端口和ip
  directory "/var/named";                 # 指定named从 /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"; # 选项用来设置 服务器输出的内存使用 统计信息
  allow-query { any; };                      # 设置允许 DNS查询的客户端地址 例”192.168.1.0/24“ 

  recursion yes;                 # 用来设置递归查询.  一般客户机和服务器之间属于递归查询, 

  dnssec-enable yes;           # 是否启用 DNSSEC 支持, DNSSEC可以用来验证DNS数据的有效性
  dnssec-validation yes;        # 用来设置 是否启用DNSSEC确认,

  /* Path to ISC DLV key */
  bindkeys-file "/etc/named.iscdlv.key";  # 设置内置信任的密钥文件

  managed-keys-directory "/var/named/dynamic";  # 指定目录中的文件存储位置, 跟踪管理DNSSEC密钥

  pid-file "/run/named/named.pid";    # pid 文件存放路径
  session-keyfile "/run/named/session.key";    # session密钥存放路径
};

logging {
  channel default_debug {
  file "data/named.run"; 
  severity dynamic;   # critical error warning notice info debug[level] dynamic
};

zone "test.com" IN {            # 关键字zone 定义一个正向区域, 对应的域名为 test.com
  type master;                  # master 主域名服务器  slaver 辅助域名服务器  hint 根域名服务器
  file "test.com.zone";         # 用来指定存放DNS记录的 数据文件名称. 默认路径/var/named 下
  allow-update { 10.16.32.105; };       # 定义是否允许客户机主机或服务器自行更新DNS记录, none:不允许
};

zone "32.16.10.in-addr.arpa" IN {    # 定义一个 IP为 10.16.32.*的反向区域,
  type master;                       # 同上
  file "32.16.10.arpa";              # 同上
  allow-update { 10.16.32.105; };    # 同上
};

named-checkconf     #检查配置文件是否正确

创建区域文件


[root@lucien named]# pwd           
/var/named

vim test.com.zone          # 正向区域文件

$TTL 1D @ IN SOA ns.test.com. root.test.com. (
2018061601 ; serial 3H ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS ns.test.com. A 10.16.32.111 AAAA ::1 IN MX 10 mail
mail    IN      A       10.16.32.111 ns IN A
10.16.32.111 dns2 IN A 10.16.32.105 zabbix IN A 10.16.32.79 www IN CNAME zabbix


vim 32.16.10.arpa # 反向区域文件

$TTL 1D
@    IN   SOA ns.test.com. root.test.com. (
                          0 ; serial
                          3H ; refresh
                          1H ; retry
                          1W ; expire
                          3H ) ; minimum
                          IN NS ns.test.com.
111     IN   PTR      ns.test.com.
111     IN   PTR      mail.test.com.
105     IN   PTR      zabbix.test.com.
105     IN   PTR      www.test.com.

验证

[root@lucien named]# named-checkzone "test.com" /var/named/test.com.zone 
zone test.com/IN: loaded serial 2018061601
OK

  [root@lucien named]# named-checkzone "32.16.10.in-addr.arpa" /var/named/32.16.10.zone
  zone 32.16.10.in-addr.arpa/IN: loaded serial 0
  OK

启动服务

 systemctl restart named
原文地址:https://www.cnblogs.com/blogscc/p/9190528.html