一、Bind 简介。

Bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS服务器软件,支持各种unix平台和windows平台。本文将介绍它在Centos5.5中最基本的安装和配置。

二、安装步骤

系统环境:CentOS 5.5

1、所在网络:公司内网,本机器一作为DNS服务器,IP:192.168.1.2, 主机名:hzbenhe;

网卡设置项: #cat /etc/sysconfig/network-scripts/ifcfg-eth0

#Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
HWADDR=00:40:45:20:79:e1
IPADDR=192.168.1.2
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes
TYPE=Ethernet

是使用的静态IP:192.168.1.2。

2、我的需求:将此机器设置为DNS服务器,内网其它PC通过此DNS服务器解析上网,同时让内网PC通过域直接访问公司内网WEB服务器;如公司网站、ERP系统、邮件WEB登陆等等。

3. 安装Bind

# yum -y install bind*
# yum -y install caching-nameserver

4. 主配置文件named.conf的配置。

首先要进入目录,由于安装了chroot包(主要功能就不多介绍),所以主配置文件named.conf在/var/named/chroot/etc/下进行配置。命令如下:

[root@killgoogle ~]# cd /var/named/chroot/etc/

;

由于安装了上面六个包后,这个目录下就默认会生成一个named.conf文件,但这个named.conf文件只是个解释文档,所以我们要通过以下命令来把named.conf文件的模板拷贝一份。命令如下:

[root@killgoogle etc]# cp -p named.caching-nameserver.conf named.conf

现在就可以用named.conf文件进行配置了。命令如下:

[root@killgoogle etc]# vi named.conf   //改后内容如下
options {
listen-on port 53 { any; };
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";
query-source port 53;
query-source-v6 port 53;
allow-query { 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";
};

在此目录下还有一个文件要配置,命令如下:

[root@killgoogle etc]# vi named.rfc1912.zones

添加以下内容: (hzbenhe.tst为需要自定义解析的域名)

zone "hzbenhe.tst" IN {
type master;
file "hzbenhe.tst.zone";
allow-update { none; };
};

zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.zone";
allow-update { none; };
};

5. 配置正、反解文件。

正反解文件都在相同目录下,由于安装了chroot包后,所以配置正反解文件要到/var/named/chroot/var/named/目录下,而且在此目录下也有正反解的模板文件。具体用到的命令如下:

[root@killgoogle var]# cd /var/named/chroot/var/named/

[root@killgoogle var]# cp -p localdomain.zone hzbenhe.tst.zone

[root@killgoogle var]# cp -p named.local 192.168.1.zone

记得加参数P,不然很有可能启动不了named服务。现在就可以编辑正解(hzbenhe.tst.zone)、反解(192.168.1.zone)这两个文件了。

[root@killgoogle var]# vi jecks.cn.zone

$TTL    86400
@               IN SOA  localhost root (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
                IN NS           hzbenhe.tst
localhost       IN A            192.168.1.2
nexus           IN A            192.168.1.2
bugz            IN A            192.168.1.2
wiki            IN A            192.168.1.2
dp              IN A            192.168.1.2
bbs             IN A            192.168.1.2
git             IN A            192.168.1.2
zd              IN A            192.168.1.2

黄色部分为兹定于域名解析的二级域名,有多少我们都需要再这里配置上

上面这是最基本的正解文件的配置。

[root@killgoogle var]# vi 192.168.1.zone

$TTL    86400
@       IN      SOA     localhost. root.localhost.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN      NS      hzbenhe.tst.
2       IN      PTR     www.hzbenhe.tst.

这里2为DNS服务器的ip末尾,www.hzbenhe.tst.可以任意输,只是一个服务器名字

说明: 最后一句前面的那个2是指的我自己IP:192.168.1.110的最后一个数。

注:

到此为止,我们的DNS服务器的90%的工作基本结束,剩下的就是扫尾工作。

三、收尾工作

1、首先是修改/etc/resolv.conf文件。只有修改了这个文件才可以用自己的机器进行域名解析,命令如下:

[root@killgoogle var]# vi /etc/resolv.conf

只要加上一句:nameserver 192.168.1.2就行了。

2、配置selinux。命令如下:

[root@killgoogle var]# setup

弹出一个对话框。我们要进行的是防火墙配置,步骤如下:

选择“Firewall Configuration”—按 “Tab”键切换到“Run Tool”—回车—“Security Level”选项要在“Enabled”前面按一下“Tab”键—“SelLinux”选项要选“Disabled”—按一下“Tab”键—选中 “Customize”—弹出新对话框—在“Other Port”栏目里输入“53:tcp 53:udp”—“OK”—返回上一个对话框—“OK”—对话框自动关闭。配置完成。

3、开启服务。命令如下:

[root@killgoogle ~]# service named start

4、测试。

测试的命令是nslookup,我想,知道DNS的、想配置DNS的人,应该不会不知道nslookup,更不会不知道Nslookup怎么用,所以在这就不多解释了。

5、设置named服务随机启动。

chkconfg named on

也可这个操作:输入setup命令—选择“System Services”—按 “Tab”键切换到“Run Tool”—回车—新对话框中把光标下移到“named”前—用空格键使“named”选项前多出个“*”表示—-按 “Tab”键切换到“OK”—-按 “Tab”键切换到“Quit”

注:如果在正、反解文件中添加了记录后,别忘了用“service named restart”命令重启named服务,否则修改无法生效。

在另一台机器中设置如下:

IP地址,自由获得(或者设定为:IP:192.168.1.120;子网掩码:255.255.255.0;网关:192.168.1.1);

首选DNS:192.168.1.2

打开浏览器打开相关站点。此时一切正常。