1.简介
BIND最新的版本我们可通过官方站点(https://www.isc.org/)中下载到。与BIND域名服务相关的几个
主要软件包和作用如下:
Bind——提供了域名服务的主要程序及相关文件
Bind-utils——提供了对DNS服务器的测试工具程序(如nslookup、dig等)
Bind-chroot——为bind提供一个伪装的根目录以增强安全性
Caching-nameserver——为配置BIND作为缓存域名服务器提供必要的默认配置文件,用以参考。
2.全局配置文件注释
vim /etc/named.conf
options {
listen-on port 53 { 1.1.1.1; }; //设置named服务监听的端口及IP地址
directory "/var/named"; //设置区域数据库文件的默认存放位置
allow-query { 192.168.1.0/24; 173.16.16.0/24; }; //允许DNS查询的客户端,比较少用
recursion yes; //设置允许递归查询,表示允许所有,生产中应如下:
allow-recursion { 192.168.1.0/24; };仅允许该网段递归查询。
dump-file "/var/named/data/cache_dump.db"; //设置缓存数据库文件位置
statistics-file "/var/named/data/named_stats.txt"; //设置状态统计文件位置
};
在以上配置内容中,除了directory项通常保留以外,其他的配置项都可以省略或注释掉,若不指定listen-on
配置项,named默认在所有可用的IP地址上监听服务。服务器处理客户端的DNS解析请求时,如果在named.conf
文件中找不到相匹配的区域,将会向根域服务器或者由forwarders项指定的其他DNS服务器提交查询。
3.区域配置文件常见配置选项:
区域数据库配置文件位于“/var/named/”目录中,如果使用了bind-chroot功能,则可能位于
“/var/named/chroot/var/named”目录中。
zone "." IN { //设置根区域
type hint; //设置区域类型(hint表示根域、masters表示主域、slave表示从域)
file "named.ca"; //设置对应的根域地址数据库文件
};
zone "gyang.com" IN { //设置正向DNS区域
type master;
file "gyang.com.zone"; //设置对应的正向区域地址数据库文件
//allow-transfer { 200.200.200.1; }; //设置允许传送该区域数据库信息的从dns服务器地址
//allow-update { none; }; //设置允许动态更新的客户端地址(none为禁止)
notify yes;//当内容修改后立即通知从dns服务器更新数据。
};
//反向解析区域文件的结构和格式与正向区域文件类似,只不过它的主要内容是建立IP地址映射到DNS域名的指针PTR资源记录。
zone "1.168.192.in-addr.arpa" IN { //设置反向DNS区域名称,需要创建对应配置zone文件,并必须要写完整的FQDN
type master;
file "192.168.1.zone"; //设置对应的反向区域地址数据库文件
};
例如:zone "4.16.172.in-addr.arpa" IN {
type master;
file "172.16.4.zone";
};
在以上配置中,需要注意的地方如下:每个zone区域都是可选的,具体根据实际需要而定;
zone配置部分的“IN”关键字可以省略;反向区域的名称由倒序的网络地址和“.in-addr.arpa”组合而成,例如对
于192.168.1.0/24网段,其反向域名为“1.168.192.in-addr.arpa”;区域设置中的一部分配置内容
(如allow-transfer、allow-update等)也可放在全局配置中,对全局区域都生效。
4.区域数据库配置文件,手动创建。
区域数据库配置文件位于“/var/named/”目录中,如果使用了bind-chroot功能,则可能位于“/var/named/chroot/var/named”目录中。
区域文件结构如下:区域名称可以用@代替。
$TTL 86400 //全局TTL值
@ IN SOA ns1.gyang.com. admin.gyang.com. ( //设置SOA标记、域名、域管理邮箱,结构为:区域名称(zone)IN SOA 主dns名称即FQDN 邮箱
20130401 //Serial更新序列号,用于标记地址数据库的变化
1H //Refresh刷新时间,从域名服务器更新该地址数据库文件的间隔时间
5M //Retry重试延时,是刷新时间的补充
2D //Expire失效时间,超过此时间仍无法更新,则放弃
6H ) //Minimum设置无效地址解析记录的默认缓存时间
IN NS ns1 //ns记录,声明域名服务器FQDN(可简写),每个FQDN必须得有A记录
IN MX 10 mail //邮件的MX记录以及FQDN,每个FQDN必须得有A记录,优先级 0-99:数字越小级别越高,比如有多个邮件服务器。
ns1 IN A 172.16.4.2 //域名服务对应的A记录
mail IN A 172.16.4.3
www IN A 172.16.4.4
ftp IN CNAME www
*.gyang.com IN A 172.16.4.4 //泛域名解析,类似通配
手动创建反向解析文件vim /var/named/172.16.4.arpa
$TTL 86400 //全局TTL值
@ IN SOA ns1.gyang.com. admin.gyang.com.
20130401
1H
5M
2D
6H )
IN NS ns1.gyang.com. //反向记录的FQDN必须写完整
2 IN PTR ns1.gyang.com.
3 IN PTR mail.gyang.com.
4 IN PTR www.gyang.com.
注意:修改区域配置文件属主为root,属组为named ,权限为640,如有辅助dns,应将辅助dns的A记录添加上。
如有辅助DNS,应将辅助DNS的ns记录以及PRT记录加上。
在上述配置项中,时间参数的默认单位为秒,也可以使用以下单位:M、H、W、D;
从域名服务器根据更新序列号决定是否需要重新下载地址数据库,如果发现序列号与上一次的相同,则不会
下载地址数据库,文件中的@表示当前的DNS区域名,相当于“gyang.com”,“admin.gyang.com.”表示管理员的电子
邮件地址(由于“@”符号已有其他含义,因此将邮件地址中的“@”用“.”代替。
从上面可以看到在区域数据配置文件中有以下几种常用的地址解析记录:
NS域名服务器(name server)记录,用于设置当前域的DNS服务器的域名地址。
MX邮件交换(Mail Exchange)记录,用于设置当前域的邮件服务器域名地址。
CNAME别名(Canonical Name)记录,用于设置别名