加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSS
您当前的位置:首页 > 原创教程 > Linux系统管理

CentOS 5.5中配置域名服务器(使用chroot)详细过程

时间:2010-12-11 15:28:49  来源:  作者:

本文介绍基于CentOS 5.5 的域名服务器的配置,开启chroot环境,以提高安全性。

1.所需软件包:

bind,bind-utils,bind-chroot,caching-nameserver

如果没有安装可以使用下面的命令安装:

yum install bind bind-utils bind-utils caching-nameserver

我的测试环境的输出如下(四个软件包都安装过了),

[root@dns ~]# yum install bind bind-utils bind-utils caching-nameserver
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: centos.ustc.edu.cn
 * base: centos.ustc.edu.cn
 * extras: centos.ustc.edu.cn
 * updates: centos.ustc.edu.cn
Setting up Install Process
Package 30:bind-9.3.6-4.P1.el5_4.2.i386 already installed and latest version
Package 30:bind-utils-9.3.6-4.P1.el5_4.2.i386 already installed and latest version
Package 30:bind-utils-9.3.6-4.P1.el5_4.2.i386 already installed and latest version
Package 30:caching-nameserver-9.3.6-4.P1.el5_4.2.i386 already installed and latest version
Nothing to do

2.关闭防火墙或者在防火墙中打开对udp 53端口的访问,禁用SELinux。

如果已经禁用了防火墙则可省略此步骤,否则将导致其他机器无法访问udp 53端口,进而导致服务使用配置好的域名服务器进行域名解析。

关闭防火墙指令:service iptalbes stop

开机不启动防火墙服务:chkconfig iptables off

修改/etc/selinux/config中的“SELINUX=enforcing”为“SELINUX=disabled”,然后重启系统。

3.关于bind开机启动。

bind的服务器在centos中注册为named服务。

设置开机自动启动named服务: chkconfig  named  on

立即启动named服务:service named start

 4.将/var/named/chroot/etc/named.caching-nameserver.conf复制为/var/named/chroot/etc/named.conf

命令为:cp /var/named/chroot/etc/named.caching-nameserver.conf  /var/named/chroot/etc/named.conf

注意:应为启用了chroot,chroot的目录为/var/named/chroot,所以对应的配置文件的根位置在/var/named/chroot。

特别提醒:默认的配置文件使用named.conf,如果找不到named.conf文件,才会找named.caching-nameserver.conf  文件。因此将其复制为named.conf,既符合一般的习惯,还保留了一个备份,如果named.conf文件出错还可以从named.caching-nameserver.conf进行恢复。

还要为/var/named/chroot/etc/named.conf文件修改所属的组,否则导致named服务无法启动:

命令为:chgrp named /var/named/chroot/etc/named.conf 

重启named服务:service named restart

如果希望编辑named.conf的路径不用那么长,可以创建符合连接:

命令为:[root@dns etc]# ln -s /var/named/chroot/etc/named.conf /etc/named.conf

以后就可以直接:vim /etc/name.conf了,等同于vim /var/named/chroot/etc/named.conf

[root@dns etc]# service named start
启动 named:                                               [确定]

5.编辑/etc/named.conf中的options,修改其监听的端口和允许查询的客户端ip地址

options的原有内容(省略了其他内容):

options {
        listen-on port 53 { 127.0.0.1; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";

        // Those options should be used carefully because they disable port
        // randomization
        // query-source    port 53;    
        // query-source-v6 port 53;

        allow-query     { localhost; };
        allow-query-cache { localhost; };
};

改为:

options {
        listen-on port 53 { 127.0.0.1; 192.168.0.1};
       // listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";

        // Those options should be used carefully because they disable port
        // randomization
        // query-source    port 53;    
        // query-source-v6 port 53;

        //allow-query     { localhost; };
        //allow-query-cache { localhost; };
};

解释:只允许dns服务器监听127.0.0.1的IP和192.168.0.1的IP地址(在很多情况下是DNS服务器的公网地址),192.168.0.1为域名服务器自己的IP地址。不监听ipv6地址。

重启named服务。此时,dns服务器已经可以为其他机器提供域名解析服务了。

可以在域名服务器本机上进行测试:[root@dns ~]# vim /etc/resolv.conf ,添加"nameserver  127.0.0.1"。

在命令行中输入host  www.163.com,即可查询到对应的ip地址列表。(前提是域名服务器自己能够连入互联网了,否则是没办法解析的。)

 

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
在CentOS下搭建Android 开发环境
在CentOS下搭建Androi
轻松搭建属于自己的Ubuntu发行版
轻松搭建属于自己的Ub
利用SUSE Studio 打造自己的个性化Linux发行版
利用SUSE Studio 打造
那些采用PHP技术的IT大企业
那些采用PHP技术的IT大
相关文章
栏目更新
栏目热门