MyWeb 2011-05-21
Web服务器(192.168.10.40)同时提供Web服务和DNS服务。所以这里我们需要安装和配置Apache和Bind。
服务器网络配置
# ee /etc/rc.conf
ifconfig_lnc0="inet 192.168.10.40 netmask 255.255.255.0"
defaultrouter="192.168.10.10"
hostname="web.rd.bj"
# ee /etc/hosts
192.168.10.40 web.rd.bj
配置好网络环境后,我们先来配置DNS服务器。在默认的Freebsd的安装过程中已经安装好了Bind,我们现在只需修改配置文件即可。
我们现在先虚拟一个域名:rd.bj来作为整个测试环境的根域名。
# cd cd /etc/namedb/
# ee named.conf
在listen-on中增加监听IP:192.168.10.40
listen-on { 127.0.0.1; 192.168.10.40; };
然后在最后加入:
zone "rd.bj" {
type master;
file "master/rd.bj";
};
zone "10.168.192.in-addr.arpa" {
type master;
file "master/10.168.192.in-addr.arpa";
};
正解档的设置
# eemaster/rd.bj
加入:
$TTL 172800
@ IN SOA rd.bj. root.rd.bj. (
2005100301 ; Serial
172800 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS rd.bj.
IN A 192.168.10.40
web IN A 192.168.10.40
squid01 IN A 192.168.10.30
squid02 IN A 192.168.10.31
proxy IN A 192.168.10.20
www IN A 192.168.10.20
开头的 @ 代表网域名称 rd.bj,IN 表示为 internet 的数据型态。
SOA 后面接的是rd.bj,表示这台rd.bj机器是rd.bj网域中的主要名称服务器。而root.rd.bj表示管理者的Email 是 [email protected]。
正解档中的内容中除了第一行外,每一行的格式为 [name] [ttl] [class] [type] [data]。以下是每个字段的说明:
name:可以是网域名称或是主机名称,如果不写的话表示与上一个设定相同。
ttl:是数据要存活的时间 (time to live),也就是 cache server 将保留在它的 cache 中的时间。如果不写的话表示和 SOA 中的设定相同。
class:指定网络的类型,这个字段应该都是使用 IN 代表 internet。
type:设定该笔数据的型态,例如:MX, A, CNAME, PTR, NS 等。
data:就是实际设定数据的部份。
Serial:这个设定的版本,这次修改的数字必须比上次的数字大,也就是每次修改这个档时,都要将这个数字提高,这样别的服务器才会将数据更新。一般而言,我们会以日期加上几位的数字来表示,如 2004040301 表示 2004 年 4 月 3 日的第一次设定。
Refresh:这个数字是次要名称服务器要多久和主要名称服务器比对数据并更新。
Retry:如果比对失败,要在几秒后再向主要名称服务器查询。
Expire:表示如果次要名称服务器一直连不上主要名称服务器,这笔数据要多久无法比对便失效。这个字段一样是以秒计算。
Minimum:表示别的快取服务器可以将你的设定存放多久。
反解档的设置
# ee master/10.168.192.in-addr.arpa
加入:
$TTL 172800
@ IN SOA rd.bj. root.rd.bj. (
2001080301 ; Serial
172800 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS rd.bj.
40 IN PTR rd.bj.
40 IN PTR web.rd.bj.
30 IN PTR squid01.rd.bj.
31 IN PTR squid02.rd.bj.
20 IN PTR proxy.rd.bj
20 IN PTR www.rd.bj
当我们设置好正解档和反解档后,我们执行一下命令产生一个localhost的反解档:
# cd /etc/namedb
# sh make-localhost
最后再修改文件/etc/resolv.conf
# ee /etc/resolv.conf
设置成:
nameserver 127.0.0.1
这样就可以让此台服务器成为这个网域中第一台DNS服务器。
现在我们就配置好了我们的DNS服务器,启动她吧!!!
# /etc/rc.d/named start
我们可以使用下面的指令查询信息:
# tail /var/log/messages
查看到没有错误信息后,我们使用nslookup命令来验证一下我们的设置。
# nslookup web.rd.bj
这里有个情况要提醒一下大家,由于我们现在squid01,squid02和proxy三台服务器还没有配置,所以在这里测试可能会出一下状况,所以我们可以再把其他3台服务器设置好了以后,再一起测试。