假设要建立一个DNS服务器负责维护的区域abc.com,包含www主机、dns主机、mail主机以及ftp主机。在192.168.124.128这台服务器配置DNS,将www主机和ftp主机解析到192.168.124.129这个IP地址上,将mail主机解析到192.168.124.130这个IP地址上。首先在主配置文件中加入区域abc.com,并配置好rndc。
要想配置DNS服务器,首先来了解一下构成一个基本的域名解析系统所要包含的文件,DNS服务器要提供基本的服务功能需要包含以下6个文件:1.DNS主配置文件:/etc/named.conf2.DNS数据库文件:/var/named/named.ca3.本地正向解析文件:/var/named/localhost.zone,其中文件名任意,由named.conf 指定。4.本地反向解析文件:/var/named/127.0.0.zone ,其中文件名任意,由named.conf 指定。5.新增区域正向解析文件:/var/named/abc.com.zone,文件名任意,由named.conf 指定。
6.新增区域反向解析文件:/var/named/124.168.192.in-addr.arpa.zone ,文件名任意,由named.conf 指定,这里用IP做为标记。
上述6个文件是构建一台基本dns服务器所需的最基本的6个配置文件,默认情况下named.conf 在 /etc 目录下,其余5个文件都在 /var/named 目录下,为了安全的考虑,软件开发人员,开发了一个新的软件包,bind-chroot 软件包,所谓DNS chroot 功能,默认是将 /var/named/chroot 当成根目录,所以本来应该放置在 /etc 目录下的 named.conf 变成了 /var/named/chroot/etc 目录下。启用chroot功能后,所有的上述6个文件存放的位置应该如下:
DNS主配置文件: /var/named/chroot/etc/named.conf 。
DNS数据库文件: /var/named/chroot/var/named/named.ca 。
本地正向解析文件: /var/named/chroot/var/named/localhost.zone 。
本地反向解析文件: /var/named/chroot/var/named/127.0.0.zone 。
区域正向解析文件: /var/named/chroot/var/named/abc.com.zone 。
区域反向解析文件: /var/named/chroot/var/named/124.168.192.in-addr.arpa.zone 。
注意: 上面的最后两个新增区域的正向及反向解析文件,需要手工添加。注意添加的位置为 /var/named/chroot/var/named 目录。
配置过程:
一、查看bind 服务器主配置文件 named.conf 。
[root@localhost~]#vi /var/named/chroot/etc/named.conf
named.conf 文件中,包含named服务的主要设置部分,根据设置功能不同,设置部分可分为许多不同类型,(如Zone 定义区域内容,每个区域中至少须存在一台DNS服务器;
Opitions 设置通用的服务器配置及其他选项默认值;
Key 指定验证和授权时使用的键值(key)信息;
Server 设置单个远程服务的特定配置选项;
Include 参照其他文件的内容;
Logging 定义记录文件内容及记录文件内容传送的对象 ;等。)
以区域zone 为主要内容,一个区域zone包括定义该区域zone的类型及对应的文件。DNS区域zone分5种类型:
Master : DNS主区域
Slave : DNS辅助区域是主区域的复制
Stub : 类似于辅助区域,但只复制主区域中NS 记录
Forward : 转发区域
Hint :用来指定ROOT 服务器
二、添加新增正向解析区域及反向解析区域
在named.conf文件中添加如下代码,通知DNS服务器主程序,新增了两个区域,此时DNS服务器维护区域的数量将由2变成4 。可利用service named status 验证。
zone "abc.com" {
type master;
file "abc.com.zone";
};
zone "124.168.192.in-addr.arpa.zone" {
type master;
file "124.168.192.in-addr.arpa.zone";
};
三、编写新增正向区域文件 abc.com.zone 。
[root@localhost ~]#vi /var/named/chroot/var/named/abc.com.zone
在指定目录下建立一个空的文件,名字为abc.com.zone ,该名称是由named.conf 中对应区域的 file 项指定的名称。在文件中输入以下代码:
$TTL 86400
@ IN SOA abc.com root.abc.com.(
2008072001;serial
28800 ;refresh
14400 ;retry
86400 ;expire
86400) ;minimum
@ IN NS dns.abc.com.
@ IN MX 10 mail.abc.com.
dns.abc.com IN A 192.168.124.128
www.abc.com IN A 192.168.124.129
mail.abc.com IN A 192.168.124.130
ftp IN CNAME www
根据前面的任务情境给出了dns 主机、www主机 、mail主机 及ftp 主机的域名解析资源记录。区域的首部给出了SOA资源记录,SOA资源记录包含5个相关参数。这5个参数都是用来控制主域名服务器与辅助服务器的同步操作。
常用资源记录类型:
SOA 区域的起始授权资源记录
NS 该区域的域名服务器资源记录
A 正向解析资源记录,域名到IP 地址的转换
PTR 反向解析资源记录,IP地址到域名的转换
MX 该区域的邮件资源记录
CNAME 主机的别名资源记录
四、编写新增反向区域文件 124.168.192.in-addr.arpa.zone 。
[root@localhost ~]#vi /var/named/chroot/var/named/124.168.192.in-addr.arpa.zone
在指定目录下建立一个空的文件,名字为124.168.192.in-addr.arpa.zone ,该名称是由named.conf 中对应区域的file项指定的名称。 在文件中输入以下代码:
$TTL 86400
@ IN SOA abc.com root.abc.com.(
2008072001;serial
28800 ;refresh
14400 ;retry
86400 ;expire
86400) ;minimum
@ IN NS dns.abc.com.
128.124.168.192.in-addr.arpa. IN PTR dns.abc.com.
129 IN PTR www.abc.com.
130 IN PTR mail.abc.com.
五、利用 rndc 控制DNS服务器。
使用下列命令生成rndc.conf 文件。
[root@localhost ~]#rndc-confgen >>/etc/rndc.conf
查看 rndc.conf ,将下列代码添加到 named.conf 文件中,使 rncd 可以远程控制 named服务。
key "rndckey" {
algorithm hmac-md5;
secret "oYXwrXp89HnCQ0bOTS0zQA==";
};
controls {
inet 127.0.0.1 port 953
allow {127.0.0.1;} keys {"rndckey";};
};
在rndc.conf 中定义了key 和controls 两个区域的相关设定,若caching-nameserver 自动生成的主配置文件 named.conf 中已包含这两个区域配置,应修改 named.conf ,使得这两个区域相关设定与 rndc.conf 一致即可,主要是key区域中secret 选项需要同步。使用rndc reload 命令控制 named 服务的重起,相当于要求 named 服务重新读取一下 named.conf 文件,这样便于 named 有区域变动后,使这生效。使用如下命令:
[root@localhost ~]#rndc reload
Server reload successful
**笔者知识面有限,如有错误,请指教!**
转载于:https://blog.51cto.com/zczheng/518069