一、 BIND如何安装
yum install bind
二、 BIND的配置文件以及区域文件存放位置
主程序: /usr/sbin/named
配置文件: /etc/named.conf
新建区域存储的配置文件: /etc/named.rfc1912.zones
区域数据库:/var/named/ZONE_FILE
三、 DNS资源记录的格式详解
资源记录的格式: NAME TTL IN RR_TYPE VALUE
$TTL:可全局进行记录,比如设定为86400 或者 1D
$ORIGIN: 可补全后缀,比如contoso.com.
(一)、 SOA记录
1. name: 区域的名称
2. value: DNS服务器的FQDN
管理员的邮箱地址,把@使用.来替代
(
序列号,小于10位的序列号,比如使用01;
刷新时间间隔,主服务器与从服务器的同步时间间隔;
重试时间间隔,从服务器联系不上主服务器的重试时间间隔;
超期时间,从服务器联系不上主服务器,多次重试依旧无法连接,放弃的时间;
否定应答TTL,
)
序列号:应该小于2的32次方,即10位以下
刷新时间应该大于等于2倍重试时间
刷新加重试时间要小于超期时间
超期时间大于等于10次重试时间
超期时间大于等于7天
示例:
contoso.com. IN SOA ns1.contoso.com. admin.contoso.com. (
10
1D
1H
1W
3H )
(二)、 NS记录
1. name:区域的名称
2. value: DNS服务器的FQDN
3. 如果有多个NS记录,每个记录一行
示例:
contoso.com. IN NS ns1.contoso.com.
(三)、MX记录
1. name: 区域的名称
2. value: 邮件交换器的FQDN,注意,是SMPT服务器的FQDN
3. 在FQDN前面,有一个数字,表示优先级,比如10 ,20
示例:
contoso.com. IN MX 10 mx1.contoso.com.
(四)、A记录
表示主机记录
1. name:主机的FQDN
2. value:主机的IP地址
www IN A 192.168.58.100
(五)、PTR记录
1. name:IP地址中的主机地址
2. value: 主机的FQDN
示例:
30 IN PTR linux.contoso.com.
四、创建一个缓存服务器
listen-on port 53 { 192.168.99.28; };
allow-query { any; };
修改以下两项:
1. 监听地址:将地址改成服务器的内网IP地址;
2. 允许查询: 将地址改成所有;
创建成缓存服务器时,recursion这一栏的结果应为yes,即允许递归查询。
五、 正向区域的创建
示例: 创建一个名为contoso.com的正向查找区域
(一)、 编辑/etc/named.rfc1912.zones
在文件中添加一个区域
zone "contoso.com" IN {
type master;
file "contoso.com.zone";
allow-update { none; };
};
(二)、 创建一个正向解析区域
# 需要注意的是SOA记录、NS记录、MX记录后面需要加.
[root@liuqing named]# vim /var/named/contoso.com.zone
$TTL 1D
contoso.com. IN SOA ns1.contoso.com. admin.cotoso.com. (
10
1D
1H
1W
3H )
contoso.com. IN NS ns1.cotoso.com.
contoso.com. IN MX 10 mx1.contoso.com.
ns1 IN A 192.168.99.28
mx1 IN A 192.168.99.29
www IN A 192.168.58.158
bbs IN A 192.168.9.1
bbs IN A 192.168.99.254
(三)、修改区域文件的权限和属主
chown root:named /var/named/contoso.com.zone
chmod 640 /var/named/contoso.com.zone
注意:如果文件的属组不属于named,是不能解析的
如果修改了主配置文件下的recursion选项为no,则不能进行递归查询,不能解析权威区域以外的记录,即不能解析公网的名称。
(四)、 检查
1. 检查配置文件: named-checkconf
2. 检查区域文件: named-checkzone contoso.com /var/named/contoso.com.zone
(五)、关于点号的使用:
1. 在修改/etc/named.rfc1912.zones,添加区域时,区域名称不需要加点号。但file字段,后面跟着的文件名,必须在/var/named/目录下存在;
2. 在区域数据库文件中,SOA、NS、MX记录的名称和值需要加点号;
3. 在区域数据库文件中,可以使用$TTL和$ORIGIN来做全局变量;
TTL 1D #表示全局的TTL值为1天,在资源记录里,不需要再指定TTL值;
ORIGIN contoso.com. #表示可以在SOA、NS、MX记录等需要写FQDN的位置省略掉contoso.com.这一段,只需要写主机的单标签名称;
4. 点号是在写FQDN时需要使用,如果单只写了mx1这样的单标签名称,是不需要在右侧加点号的;
六、反向区域的创建
(一)、 修改/etc/named.rfc1912.zones文件,添加一个区域
zone "99.168.192.in-addr.arpa" IN {
type master
file "192.168.99.zone"
};
(二)、创建一个文件/var/named/192.168.99.zone的文件,做为99.168.192.in-addr.arpa反向区域的数据库
$TTL 1D
@ IN SOA ns1.contoso.com. admin.contoso.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.contoso.com.
28 IN PTR ns1.contoso.com.
29 IN PTR mx1.contoso.com.
69 IN PTR fileserver.contoso.com.
或者
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$TTL 1D
$ORIGIN 99.168.192.in-addr.arpa.
@ IN SOA ns1.contoso.com. admin.contoso.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.contoso.com.
28 IN PTR ns1.contoso.com.
29 IN PTR mx1.contoso.com.
69 IN PTR fileserver.contoso.com.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~