暂时先记录下,以后再整理。
更多参考:
BIND9中文手册:https://www.centos.bz/manual/BIND9-CHS.pdf
http://www.zytrax.com/books/dns/ch7/view.html
logging 定义日志
opitons 定义全局配置,DNS全局参数都在这里配置
zone 定义一个区域声明,比如区域文件名、类型等
view 定义一个视图
acl 定义IP地址访问列表
include 包含一个文件
trusted-keys 定义信任的DNSSED密钥
key 设置密钥信息,它应用在通过TSIG进行授权和认证的配置中
controls 宣告rnde utility 使用的控制通道 ( channel)
其中type项的值:
master:表示定义的是主域名服务器
slave :表示定义的是辅助域名服务器
hint:表示是互联网中根域名服务器
Bind 中的指令以$开始
$TTL(Time To Live)生存时间。它以秒为单位定义该资源记录中的信息存放在高速缓存中的时间长度。这里定义为86400秒,也就是1天。(本地缓存)
SOA(start of authority)资源记录:它定义了一个域的全局特性,必须是出现在zone文件中的第一个资源记录,而且一个zone文件中必须只有一个SOA资源记录。其中SOA后面的ns1与root分别是域名服务器和管理员邮箱([email protected]),其全写分别是ns1.cobb.com.和root.cobb.com,因为$ORIGIN指明了域名,所以这个地方可以略去。
NS(name server)资源记录:它定义了为本域(domain)(这个例子中是cobb.com)服务的域名服务器。需要注意的是外部域名服务器(例子中的ns2)必须为zone cobb.com包含一个zone文件。
MX(mail exchanger)资源记录:它定义了本域中的邮件服务器。这个资源记录是可选的,因为一个域中不一定有邮件服务器。
A(Address)资源记录:这是个很关键的记录。它定义了zone文件中提到的主机或服务的IPv4地址(IPv6地址叫AAAA记录),而且这些IPv4地址必须是外部可见的。例如万维网服务器www.cobb.com的IPv4地址是192.168.10.10。
CNAME记录:是一个已经定义了IPv4地址的主机的别名记录。通常用来为已经存在的主机分配一个或多个服务。示例中的主机ljx.cobb.com既做主机又提供ftp服务。从上面的分析可以看出,我们也可以不用CNAME,只需要为不同的服务指定相同的IP地址即可。但是实际上两种情况下必须用CNAME记录:1)真是主机或别名主机在不同的域中,我们不知道外部域中的IP地址,所以必须要用CNAME,例如ftp.cobb.com是ftp.cobb.net的一个别名,但是在域cobb.com中无法知道ftp.cobb.net的IP地址,只能用CNAME记录;2)用户希望访问一个站点时用cobb.com产生www.cobb.com的效果,这时我们需要有如下的CNAME定义:
allow-query {}; 允许查询的主机, 白名单
allow-transfer {}; 允许区域传送主机, 白名单
allow-recursion {}; 允许递归的主机
allow-update {}; 允许更新区域数据库中的内容
如果希望只允许本地网络访问,编辑 /etc/named.conf 并将这行配置加入到 options 区域。
listen-on { 127.0.0.1; };
修改 resolv.conf 以使用本地的 DNS 服务器,127.0.0.1。
重启 named 服务
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
缓存 DNS 服务器
当 BIND 被配置为缓存服务器的时候,它只会回应已缓存的请求,并将所有其他的请求转发到上游的 DNS 服务器(例如说您的 ISP 的服务器,或者 Google、OpenNIC 等知名的服务)。
将以下配置加入到 /etc/named.conf 的 global 或特定的域名区域中,并根据个人情况修改相应 IP 地址。
options {
listen-on { 192.168.1.5; };
forwarders { 8.8.8.8; 8.8.4.4; };
};