3.1BIND域名服务基础
3.1.1 DNS系统的作用及类型
正向解析:根据域名查IP,即将指定的域名解析为相对应的IP地址。
反向解析:根据IP地址查域名,即将指定的IP地址解析为相对应的域名。
每一台DNS服务器都只负责管理一个有限范围内的主机域名和IP地址的对应关系,这特定的NDS域或IP地址段称为zone。根据地址解析的方向不同,DNS区域相对应地分为正向区域(包含域名到IP地址的解析记录)和反向区域(包含IP地址到域名的解析记录)。
根据所管理的区域地址数据的来源不同,DNS系统可以分为不同的类型。在同一台DNS服务器中,相对于不同的区域来说,也拥有不同的身份。常见的几种类型如下。
缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定其他NDS服务器作为解析来源。
主域名服务器:维护某一个特定NDS区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域唯一存在的权威服务器,官方服务器。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。
从域名服务器:与主域名服务器提供完全相同的NDS解析服务,通常用于DNS服务器的热备份。
3.1.2 BIND的安装和控制
1.安装 BIND 软件
为了安装 BIND,首先需要确保防火墙和 SELinux(安全增强型 Linux)不会干扰 BIND 的运行。以下是一系列命令来执行这些操作:
# 停止并禁用防火墙
systemctl stop firewalld
systemctl disable firewalld
# 临时禁用 SELinux
setenforce 0
# 永久禁用 SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
# 安装 BIND 及其相关工具
yum -y install bind bind-utils bind-libs bind-chroot
5.BIND 服务控制
使用 systemctl
来检查 BIND 服务的状态:
systemctl status named
6.主配置文件
主配置文件named.conf通常位于/etc/目录下,在named.conf文件中,主要包括全局配置,区域配置两个部分,每一条配置记录的行尾以分号“;”表示结束,以“#”号或“//”开始的部分表示注释文字
(1)全局配置部分
全局配置参数包括在形如“options{};”的大括号中,如可以设置监听的地址和端口,区域数据文件存放目录,允许那些客户机查询等。
options {listen-on port 53 { 127.0.0.1; }; #监听地址和端口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"; #DNSSEC密钥和签名allow-query { localhost; }; #查询权限
(2)区域配置部分
zone "bdqn.com" IN {type master;file "bdqn.com.zone";allow-transfer {192.168.10.102; };
};
zone "10.168.192.in-addr.arpa" IN {type master;file "192.168.10.arpa";allow-transfer {192.168.10.102; };};
(3)创建对应文件
cp named.localhost /var/named/bdqn.com.zone
cp bdqn.com.zone /var/named/192.168.10.arpa
[root@bogon named]# vim 192.168.10.arpa $TTL 1D
@ IN SOA bdqn.com. admin.bdqn.com. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum
@ IN NS ns1.bdqn.com.IN NS ns2.bdqn.com.
101 IN PTR ns1.bdqn.com.
102 IN PTR ns2.bdqn.com.
[root@bogon named]# vim bdqn.com.zone
$TTL 1D
@ IN SOA bdqn.com. admin.bdqn.com. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum
@ IN NS ns1.bdqn.com.IN NS ns2.bdqn.com.
ns1 IN A 192.168.10.101
ns2 IN A 192.168.10.102
ftp IN A 192.168.10.104
www IN A 192.168.10.105
* IN A 192.168.10.107
[root@bogon named]# chown :named /var/named/bdqn.com.zone
[root@bogon named]# chown :named /var/named/192.168.10.arpa
[root@bogon named]# systemctl restart named