主域名服务器要负责解析某一个区域,这也是我们要在网络中配置DNS服务器的最主要目的。这里创建一个名为“example.com”的正向查找区域。
首先要创建“example.com”区域,也就是在主配置文件/etc/named.conf中添加区域信息:type master; 指明了区域的类型是主域名服务器。
file “example.com.zone” 指定了example.com区域的数据文件,该区域所有的DNS记录都存放在数据文件中。数据文件的文件名可以由管理员自行设置,只要实际的文件名能与其对应一致即可。
接下来就要生成数据文件,数据文件默认都存放在/var/named目录中。数据文件中有一部分固定的信息,如果我们自己手工输入的话比较麻烦,在/var/named目录中有一个名为named.localhost的文件,我们可以用它作为模板,将它直接复制过来修改使用。
# cp /var/named/named.localhost /var/named/example.com.zone由于数据文件要被named服务调用,所以必须要保证named服务对数据文件具有读取权限,但默认情况下named服务对这个由我们复制出来的数据文件是没有读取权限的:# ll /var/named/example.com.zone-rw-r-----. 1 root root 152 5月 9 06:14 /var/named/example.com.zone下面有两种方法可以解决这个问题:
一是修改数据文件的权限,让其它用户也具有读取权限:# chmod 644 /var/named/example.com.zone# ll /var/named/example.com.zone-rw-r--r--. 1 root root 152 5月 9 06:14 /var/named/example.com.zone二是将数据文件的所属组改为named:# chown :named /var/named/example.com.zone# ll /var/named/example.com.zone-rw-r-----. 1 root named 152 5月 9 06:14 /var/named/example.com.zone大家可以根据自己的习惯选择使用哪种方法。下面我们来编辑数据文件,在原有基础之上修改后的效果如下图所示:
# vim /var/named/example.com.zone数据文件可以分为上下两部分,上半部分是全局配置项以及SOA记录:
这部分内容很多是对时间的设置,时间默认单位为秒,也可以使用以下单位:M(分钟)、H(小时)、D(天)、W(周)。
第1行的TTL表示地址解析记录的默认缓存时间,1D表示1天。 第2行开头的@表示当前的DNS区域名;SOA是区域的主DNS服务器,如果区域中只有1台DNS服务器,那么SOA也就是当前服务器,dns.example.com.是当前DNS服务器的域名;root.example.com.是当前域管理员的信箱。(注意,在这个文件中所有域名的后面要加上“.”) 第3~7行是对从域名服务器的设置。这里就不解释了。下半部分是资源记录,就是当前区域中的DNS记录,这部分内容就比较重要了。
NS,指定当前域的DNS服务器。
MX,邮件交换器记录,后面的10代表优先级。 A,主机记录。 CNAME,别名记录。注意这个文件对格式要求比较严格,不能乱加空格和空行。修改完成后,保存退出。重启服务生效:# service named restart 同样我们可以在另外一台客户端计算机linux2上进行测试,DNS服务器可以将我们所配置的域名正确解析出来。