一.BIND 的安装和控制
1.安装 BIND 软件
[root@localhost ~]# yum -y install bind bind-utils bind-libs bind-chroot
在 CentOS 系统中,系统光盘自带了 BIND 服务的安装文件,主要包括以下几个 软件包。
bind-9.9.4-37.el7.x86_64.rpm 。bind-utils-9.9.4-37.el7.x86_64.rpm 。bind-libs-9.9.4-37.el7.x86_64.rpm 。bind-chroot-9.9.4-37.el7.x86_64.rpm 。
二:BIND 服务的配置文件
1:主配置文件参数介绍
(1)全局配置部分
[root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 { 127.0.0.1; };
##DNS服务IPv4的监听端口和地址
listen-on-v6 port 53 { ::1; };
##DNS服务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";
##服务器输出的内存使用统计文件的路径名,注意:还没有在 BIND9 中实现
recursing-file "/var/named/data/named.recursing";
##服务器dump安全根到文件的路径
secroots-file "/var/named/data/named.secroots";
##服务器dump正在执行的递归查询的文件路径
allow-query { localhost; };
##指定允许进行查询的主机
recursion yes;
##设置是否用递归式DNS服务器
dnssec-enable yes;
##此选项已过时,不起作用。
dnssec-validation yes;
##该选项设置named的 DNSSEC 验证
/* Path to ISC DLV key */
bindkeys-file "/etc/named.root.key";
##覆盖named内置信任密钥路径的文件路径
managed-keys-directory "/var/named/dynamic";
##跟踪被管理的DESSEC密钥的文件的路径
pid-file "/run/named/named.pid";
##PID文件位置
session-keyfile "/run/named/session.key";
##named生成的TSIG session key写入文件的路径,供 nsupdate -l使用。
};
(2)区域配置部分
zone "." IN {
type hint;
##区域类型,hint为根提示
file "named.ca";
##区域数据文件
};
三:使用 BIND 构建域名服务器
1:构建缓存域名服务器
(1)建立主配置文件 named.conf
[root@localhost ~]# vim /etc/named.conf
修改红色部分的,区域部分默认即可
options {
listen-on port 53 { 192.168.10.101; };
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; };
}
zone "." IN {
type hint;
file "named.ca";
};
(2)启动 named 服务
[root@localhost ~]# systemctl start named
(3)验证缓存域名服务器
在客户端进行验证
先局域网内的客户机中,将首选 DNS 服务器的地址设为 192.168.10.101
vim /etc/sysconfig/network-scripts/ifcfg-ens33
在执行“nslookup qq.com”命令对其进行解析,验证其是否能够获得该域名对应的 IP 地址信息。
[root@client ~]# nslookup qq.com
2:构建主域名服务器
1.建立主配置文件 named.conf
[root@ns1 ~]# vim /etc/named.conf
备注:
将文件中原来的zone选项删掉。
2.建立正向区域数据文件
[root@ns1 ~]# cd /var/named
[root@ns1 named]# vim bdqn.com.zone
3.建立反向区域数据文件
[root@ns1 named]# vim 192.168.10.arpa
4.为区域文件设置属主与属组
[root@ns1 named]# chown :named bdqn.com.zone
[root@ns1 named]# chown :named 192.168.10.arpa
5.检测配置文件和区域文件
[root@ns1 named]# named-checkconf /etc/named.conf
[root@ns1 named]# named-checkzone bdqn.com /var/named/bdqn.com.zone
zone bdqn.com/IN: loaded serial 2011030301
OK
[root@ns1 named]# named-checkzone 10.168.192.in-addr.arpa /var/named/192.168.10.arpa
zone 10.168.192.in-addr.arpa/IN: loaded serial 2011030301
OK
注意:在检测区域文件的时候,要分别使用正向区域名对正向区域文件检测,使用反向区域名对反向区域文件进行检测。不能都用正向区域名。
(6)重启动或重载服务
[root@ns1 named]# systemctl restart named
7.客户端验证主域名服务器
[root@client ~]# nslookup www.bdqn.com
Server: 192.168.10.101
Address: 192.168.10.101#53
Name: www.bdqn.com
Address: 192.168.10.106