系统环境:
1、 RHEL6.3
2、 域名为rsyslog.org
3、 IP地址为192.168.100.102
4、 主DNS为192.168.100.102
第一步:配置yum源,安装以下包:
bind-9.8.2-0.10.rc1.el6.i686.rpm 提供主要程序及相关文件
bind-chroot-9.8.2-0.10.rc1.el6.i686.rpm 为bind提供一个伪装的根目录以增强安全性(将“/var/named/chroot/文件夹作为BIND的根目录”)
bind-utils-9.8.2-0.10.rc1.el6.i686.rpm 提供nslookup及dig等测试工具(默认桌面版已经安装)
安装完成之后通过 rpm –qa命令查看系统是否已经有以下包
BIND包安装完成之后,提供的主程序默认位于“/usr/sbin/named”,系统中会自动增加一个名为named的系统服务,通过脚本/etc/init.d/named可以控制域名服务的运行。
以下是BIND 的主配置文件位于/etc/named.conf。
第二部:配置BIND主配置文件/etc/named/conf(注意,修改任何配置文件之前记得先备份,方便操作错误可以恢复,后面不在强调)
1、 将listen-on port 53 { 127.0 .0.1; }; 更改为any 意思是允许任何IP地址监听。
2、 将allow-query { localhost; } 更改为192.168.100.0/24;网段,意思是运行192.168.100.0/24网段的人查询DNS服务,如果设置为any; 意思是允许所有人查询。
3、 为了方便操作,将跟安全以及远程管理的一些信息用“//”注释掉。
4、可以看出主配置文件 named.conf里面只有“.”区域,在最下面有个 named.rfc1912.zones,是named.conf的辅助区域配置文件。意思是除了根域外,其他所有的区域配置建议在named.rfc1912.zones文件中配置,主要是为了方便管理,不轻易破坏主配置文件named.conf。这是RHEL6版本跟RHEL5不同的地方。
第三步:在辅助区域配置文件named.rfc1912.zones中创建正向反向区域。
为了减少语法错误,将以下两部分复制到文件最下面,然后进行修改即可。
修改如下:
正向区域:
zone 后面跟域名rsyslog.org
type 为区域的类型,master为主DNS区域,如果是salve 则为辅助DNS区域。
file 后面跟对应区域数据库的配置文件,一般格式为 域名.zone,当然也可以有其他写法。
allow-update 参数为none 不允许客户端动态更新
反向区域:
zone 后面跟IP地址反写,除去最后一位。
file后面跟对应的反向区域数据库配置文件,一般格式为“ip.arpa” ip不包含最后一位。
通过模版创建对应的正向反向区域数据库文件。BING数据库配置文件在/var/named/下。注意这里的配置文件名称和以上区域配置文件中设置的名称一样。请使用cp –p命令将权限一起复制过去,否则待会会出现权限问题,需要你修改权限。
可以通过查看passwd看到安装完BIND后,系统会多一个用户named,并且登录类型为nologin
第四步:创建并修改正向区域数据库配置文件,以下为默认配置,简单解释一下
$TTL 1D ;设置有效地址解析记录的默认缓存时间,默认为1天也就是1D。
@ IN SOA @ rname.invalid. ( ;设置SOA标记、域名、域管理邮箱rname@invalid,由于@有其他含义,所以用“.”代替。注意:@在正向区域文件中代表的是“rsyslog.org.” 后面不再强调
0 ;更新序列号,用于标示数据库的变换,可以在10位以内,如果存在辅助DNS区域,建议每次更新完数据库,手动加1.
1D ;刷新时间,从域名服务器更新该地址数据库文件的间隔时间,默认为1天
1H ;重试延时,从域名服务器更新地址数据库失败以后,等待多长时间,默认为为1小时
1W ;失效时间,超过该时间仍无法更新地址数据库,则不再尝试,默认为一周
1D ;设置无效地址解析记录(该数据库中不存在的地址)默认缓存时间
NS @ ;域名服务器记录,用于设置当前域的DNS服务器的域名地址,
A 127.0.0.1 ; 设置域名服务器的A记录,地址为ipv4的地址127.0.0.1,可以设置成192.168.100.102
AAAA ::1 ; 设置域名服务器的A记录,地址为ipv6的地址。
以上信息都可以不修改。
接下来创建各种地址解析记录
rhel6u3-2 A 192.168.100.102 创建主机rhel6u3-2 的A记录IP地址
DNS1 CNAME rhel6u3-2 创建主机rhel6u3-2的别名为DNS2
@ MX 5 mail.rsyslog.org. 创建邮件交换记录,5表示优先级,越小优先级越高
$GENERATE 10-50 stu$ A 192.168.100.$ 创建 主机 stu10-stu50的A记录为192.168.100.10-192.168.100.50。(注意:这是数据库文件中唯一可以使用的变量。)
设置完成之后,通过自带的脚本启动named服务,第一次启动,会生成一个远程管理的key文件,会比较慢,默认10秒-3分钟不等。
注意:如果报错,可根据提示或者查看/var/log/message日志文件进行排错。
可以通过 netstat –anpl | grep :53 查看named服务的端口监听状态
在本身系统上通过nslookup命令进行解析
在windows客户机上设置首选DNS为以上机器的IP地址,然后进行测试。
第四步:创建并修改正向区域数据库配置文件。(注意:@在反向区域文件中表示为 100.168.192.in-addr.arpa,后面不再强调!)
所以要将以下@更改为 rsyslog.org.
创建反向PRT指针
102 PTR rhel6u3-2.rsyslog.org. 创建主机rhel6u3-2的反向记录
$GENERATE 10-50 $ PTR stu$.rsyslog.org. 创建主机stu10-stu50的反向记录
创建完成之后,重启named服务
在本机上通过snlookup命令进行测试。
在windows系统上进行测试。
以下是非常重要的内容,请大家记住:
如果安装了bind-chroot文件,启动named服务之后,系统会自动将bind的 配置文件 数据库等挂接到/var/named/chroot/目录下,然后DNS读取的是/var/named/chroot中的文件。
注意以下几点:
1、 BIND域名服务器的文件会全部挂接到/var/named/chroot目录下,即使黑客远程连接上了DNS服务器,他无论怎么修改也只能修改/var/named/chroot中的文件,并不会影响系统根/下面其他文件的情况。
2、 启动named服务之后,数据是自动挂接到/var/named/chroot中的,所以不要再/var/named/chroot目录下创建这些文件,否则挂接不过去。而RHEL5是没有挂接功能需要手动复制过去的。
本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/1091943,如需转载请自行联系原作者