Centos下主DNS的搭建

  昨天搭建了一个简单的主DNS,是在虚拟机的Centos下搭建的,今天来回顾下一个整体的搭建过程

  DNS是域名系统(Domain Name System)的缩写,是因特网的一项核心服务,它能提供域名与IP地址之间对应关系的转换服务。这样我们就可以更方便地去访问互联网了,不用去记住那一串IP数字。本文档主要是说明如何把一台CentOS主机配置成一个DNS服务器,以便能提供域名解析服务。

CentOS的IP地址是:192.168.1.30
要搭建的域名:txtfashion.com
需要的软件:bind-9.3.6-20.P1.el5_8.6
      bind-libs-9.3.6-20.P1.el5_8.6
      bind-devel-9.3.6-20.P1.el5_8.6
      bind-utils-9.3.6-20.P1.el5_8.6
      bind-libbind-devel-9.3.6-20.P1.el5_8.6
      bind-chroot-9.3.6-20.P1.el5_8.6
      bind-sdb-9.3.6-20.P1.el5_8.6        
  • 安装bind软件
yum -y install bind*
安装完成后,输入命令rpm -qa | grep bind
检查上述软件是否安装完成,如没安装完成,安装对应的软件包。
  • 配置

  由于安装了bind-chroot-9.3.6-20.P1.el5_8.6,现在的配置文件是在/var/named/chroot/,进入该目录:cd /var/named/chroot/

修改named.conf文件

  vi etc/named.conf

options {
        listen-on port 53 { any; };              //开启监听端口53,接受任意IP连接 
        listen-on-v6 port 53 { ::1; };            //支持IP V6 
        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     { any; };          //允许任意IP查询  
        allow-query-cache { any; };
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
view localhost_resolver {
        match-clients      { any; };
        match-destinations { any; };
        recursion yes;
        include "/etc/named.rfc1912.zones";    //主要配置文件 
};

  

修改/etc/named.rfc1912.zones文件,添加txtfashion.com的正向和反向区域 

  vi etc/named.rfc1912.zones 

zone "txtfashion.com" IN {
        type master;
        file "data/txtfashion.com.zone";
};

zone "1.168.192.in-addr.arpa" IN{
        type master;
        file "data/192.168.1";
};

  这里需要注意的是,添加反向区域时,网络号要反过来写(网络号是IP地址与子网掩码进行与操作后的结果)。例如,我现在配置的网络号192.168.1这个网段,那么它的反向区域是1.168.192.in-addr.arpa。区域里面的file字段表明解析时的数据来源文件,接下来我们去创建txtfashion.com.zone和192.168.1文件。

创建正向和反向区域资源文件

创建正向区域资源文件:vi var/named/data/txtfashion.com.zone 

$TTL 3600
@       IN      SOA     txtfashion.com. root.txtfashion.com. (
                                20140401  ; serial
                                30      ; refresh
                                60      ; retry
                                90      ; expire
                                3600 )   ; minimum
        IN      NS      www.txtfashion.com.
www     IN      A       192.168.1.30
mail    IN      A       192.168.1.30
serv1   IN      A       192.168.1.30
dns     IN      A       192.168.1.30
ftp     IN      A       192.168.1.30
win     IN      A       192.168.1.66               

创建反向区域资源文件:vi var/named/data/192.168.1 

$TTL 3600
@       IN      SOA     192.168.1.      192.168.1. (
                                20140401   ; serial
                                30      ; refresh
                                60      ; retry
                                90      ; expire
                                3600 )   ; minimum
        IN      NS      www.txtfashion.com.
30      IN      PTR     www.txtfashion.com.
30      IN      PTR     mail.txtfashion.com.
30      IN      PTR     serv1.txtfashion.com.
30      IN      PTR     dns.txtfashion.com.
30      IN      PTR     ftp.txtfashion.com.
66      IN      PTR     win.txtfashion.com.

参数说明:

serial:序列号
refresh:更新时间
retry:更新失败每隔多少时间重新与dns联系
expiry:过期时间
minimum:当前域名的查询结果,将在缓存中保留的时间
H 小时、M 分钟 W 星期 D 天 默认是秒
NS 标识一个域的域名服务器
A 将主机名--->ip (一个主机只有一个A记录)
MX 邮件交换记录
PTR ip--->主机名
CNAME 别名

修改完这四个文件后,我们需要修改这四个文件的所有者和拥有者

chown -R named.named etc/named.conf
chown -R named.named etc/named.rfc1912.zones
chown -R named.named var/named/data/txtfashion.com.zone 
chown -R named.named var/named/data/192.168.1  

重启named服务: service named restart

至此,DNS服务器端的配置已完成,下面我们稍微配置一下客户端来测试我们的DNS服务器是否正常工作。

  • 测试

  在centos下测试,可以用nslookup来测试,首先需要配置resolv.conf文件:vi /etc/resolv.conf

nameserver 192.168.1.30

  上述表示的DNS的地址为192.168.1.30

  输入命令:nslookup

> www.txtfashion.com
Server:		192.168.1.30
Address:	192.168.1.30#53

Name:	www.txtfashion.com
Address: 192.168.1.30
> ftp.txtfashion.com
Server:		192.168.1.30
Address:	192.168.1.30#53

Name:	ftp.txtfashion.com
Address: 192.168.1.30
> 192.168.1.30
Server:		192.168.1.30
Address:	192.168.1.30#53

30.1.168.192.in-addr.arpa	name = mail.txtfashion.com.
30.1.168.192.in-addr.arpa	name = serv1.txtfashion.com.
30.1.168.192.in-addr.arpa	name = dns.txtfashion.com.
30.1.168.192.in-addr.arpa	name = ftp.txtfashion.com.
30.1.168.192.in-addr.arpa	name = www.txtfashion.com.

  上述是简单的测试,如果测试不行,请检查防火墙是否开放了53的端口,方法是vi /etc/sysconfig/iptables,添加两行

-I INPUT -p tcp --dport 53 -j ACCEPT
-I INPUT -p udp --dport 53 -j ACCEPT

  然后重启iptables服务:service iptables restart

  在windows下测试,需要在本地连接属性里面修改,如下图:

 

window下在cmd下也可以用nslookup,方法和在linux下类似,下面不具体说明了,当然,linux下的53端口一定要开放。

 

上面只是配置了一个简单的DNS服务器,配置了主DNS,当然你也可以再配置一个从DNS,两者一起用,该配置我将在下一次做说明

posted @ 2014-04-10 21:13  txtfashion  阅读(400)  评论(0编辑  收藏  举报