1. 安装的系统是CentoOS5.3 ;
2. 所在网络:内部局域网192.168.0.0网段。
机器一作为服务器,IP:192.168.0.10, 主机名:Hostname: test.com ;
3. 网卡设置项: #cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Advanced Micro Devices [AMD] 79c 970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=static
HWADDR=00: 0c :29:66:26:67
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.0.10
TYPE=Ethernet
由上可以看出是使用的静态IP:192.168.0.10。上述几项含义如下:
》DEVICE=name ,其中,name是物理设备名。
》IPADDR=addr,其中,addr是IP地址。
》NETMASK=mask,其中,mask是网络掩码值。
》BROADCAST=addr,其中,addr是广播地址。
》GATEWAY=addr,其中addr是网关地址。
》ONBOOT=answer,其中,answer是yes(引导时激活设备)或no(引导时不激活设备)
》USERCTL=answer,其中,answer是yes(非root用户能控制该设备)或no
》BOOTPROTO=proto,其中,proto取下列值之一:none,引导时不使用协议;static静态分配地址;bootp,使用BOOTP协议,或dhcp,使用DHCP协议。
4. 设计:将此机器设置为DNS服务器,另一台在局域网的IP地址自由获得(或固定,如192.168.0.20 )的机器,能够通过此DNS服务器进行解析域名并能够转向到其他网址。如方位新浪网、凤凰网等。
5. 安装Bind
1)方法一:使用yum 安装
# yum -y install bind*
# yum -y install caching-nameserver
2)方法二:使用光盘rpm包安装
1.挂载光盘
[root@localhost mnt]# mount /dev/cdrom /mnt
2.查看安装软件
[root@localhost mnt]# rpm -qa|grep bind*
bind-utils- 9.3.4 -10.P1.el5
ypbind-1.19-11.el5
bind-9.3.4-10.P1.el5
bind-chroot-9.3.4-10.P1.el5
binutils-2.17.50.0.6-9.el5
bind-libs-9.3.4-10.P1.el5
[root@localhost CentOS]# rpm -qa|grep caching*
package caching-nameserver- 9.3.4 -10.P1.el5.x86_64.rpm is not installed
[root@localhost CentOS]# rpm -ivh caching-nameserver-9.3.4-10.P1.el5.x86_64.rpm
warning: caching-nameserver-9.3.4-10.P1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
Preparing... ########################################### [100%]
1:caching-nameserver ########################################### [100%]
6. 主配置文件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
添加以下内容:
zone "." IN {
type hint;
file "named.ca";
};
zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone " 0.0.0 .0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.ip6.local";
allow-update { none; };
};
zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};
zone "test.com" IN { //定义一个正向域 test.com
type master;
file "test.com.zone"; //定义正向解析文件名 test.com.zone
allow-update { none; };
};
zone "0.168.192.in-addr.arpa" IN { //定义反向域
type master;
file "192.168.0.zone"; //定义反向解析文件名192.168.0.zone
allow-update { none; };
};
7. 配置正、反解文件。
正反解文件都在相同目录下,由于安装了chroot包后,所以配置正反解文件要到/var/named/chroot/var/named/目录下,而且在此目录下也有正反解的模板文件。具体用到的命令如下:
[root@killgoogle var]# cd /var/named/chroot/var/named/
[root@killgoogle var]# cp -p localdomain.zone test.com.zone
[root@killgoogle var]# cp -p named.local 192.168.0.zone
记得加参数P,不然很有可能启动不了named服务。现在就可以编辑正解(test.com.zone)、反解(192.168.0.zone)这两个文件了。
[root@killgoogle var]# vi test.com.zone
$TTL 86400
@ IN SOA localhost root (
42 ; serial (d. adams )
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS test.com
www IN A 192.168.0.10
上面这是最基本的正解文件的配置。
[root@killgoogle var]# vi 192.168.0.zone
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial //只是序号而已
28800 ; Refresh //slave的更新时间
14400 ; Retry //当slave更新失败,重新更新时间
3600000 ; Expire //重复多久后不再更新
86400 ) ; Minimum //可看作TTL,尤其�]有�O定$TTL时
IN NS test.com.
10 IN PTR www.test.com.
说明: 最后一句前面的那个10是指的主机IP:192.168.0.110的最后一个数。
注: 到此为止,DNS服务器的90%的工作基本结束,剩下的就是扫尾工作。
五、收尾工作。
1、首先是修改/etc/resolv.conf文件。只有修改了这个文件才可以用自己的机器进行域名解析,命令如下:
[root@killgoogle var]# vi /etc/resolv.conf
只要加上一句:nameserver 192.168.0.10就行了。
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,
[root@localhost named]# nslookup
> www.test.com
Server: 192.168.0.10
Address: 192.168.0.10#53
Name: www.test.com
Address: 192.168.0.10
5、设置named服务随机启动。
步骤如下:输入setup命令---选择“System Services”---按 “Tab”键切换到“Run Tool”—回车—新对话框中把光标下移到“named”前---用空格键使“named”选项前多出个“*”表示----按 “Tab”键切换到“OK”----按 “Tab”键切换到“Quit”
注:如果在正、反解文件中添加了记录后,别忘了用“service named restart”命令重启named服务,否则修改无法生效。
六、在另一台机器中设置如下:
IP地址,自由获得(或者设定为:IP:192.168.0.20;子网掩码:255.255.255.0;网关:192.168.1.1);
首选DNS:192.168.1.110
打开浏览器打开相关站点。此时一切正常