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