先说一下我的环境,station1 搭建为主DNS,station2搭建为从DNS,station3搭建为高速缓存DNS,station4上做测试。这四台机器对应的IP分别为192.168.0.1-4,对应的主机名分别为station1-4.example.com。
1.station1-3统一装上所需要的包:
yum -y install bind bind-chroot caching-nameserver
2.修改主DNS的配置文件:
因为我们装了bind-chroot包,所有的操作就都是在chroot环境下的,所以配置文件的位置是:/var/named/chroot/下面的/etc和/var/named/
在/var/named/chroot/etc下新建一个named.conf的文件。
先添加如下内容:
options{
directory "/var/named";
};
这一块儿的意思是,指定zone文件的路径。
zone "xiaosu.com"{
type master;
file "xiaosu.com.zone";
};
zone "0.168.192.in-addr.arpa"{
type master;
file "192.168.0.rev";
};
上面这块的意思是解析xiaosu.com的域,类型是主DNS类型,详细的内容在xiaosu.com.zone这个文件中,待会儿我们要创建这个文件。
下面这块儿的意思是解析192.168.0这个网段的反向域名,类型也是主类型,详细内容在192.168.0.rev里面。当然,我们也要手动创建这个文件。
截图如下
进入/var/named/chroot/var/named这个目录,这个目录里面有很多的模板文件:
复制localhost.zone为xiaosu.com.zone
复制named.local为192.168.0.rev
截图如下:
下面开始修改xiaosu.com.zone这个文件
修改成如下:
$TTL 86400
@ IN SOA station1.example.com. root.station1.example.com. (
2011040601 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS station1.example.com
www IN A 192.168.0.1
web IN A 192.168.0.1
test IN A 192.168.0.2
ftp IN A 192.168.0.3
第一处把@修改为DNS服务器的主机名:station1.example.com.。注意的是这里要填写的是FQDN(完全合格域名),也就是后面要加点。
第二处是把@修改为DNS管理员的邮箱,注意的是,中间的@要用“.”代替,因为在配置文件中,“@”代表本机,如果这里也用@的话,会有歧义,并且最后也要加“.”。
第三处是把serial的号码改一下,比较标准的格式是:4个数字表示年+2个数字表示的月+2个数字表示的日+当天的第几次修改。比如2011040601就代表2011年4月6日的第一次修改。
下面几个参数一般不需要修改,除非你是专业的作系统调优。
第四处修改是在NS后面的@改为主机名。
其他的修改就是添加各种记录了:
第一条的意思就算www.xiaosu.com指向IP为192.168.0.1
第二条的意思就算web.xiaosu.com指向IP为192.168.0.1
其他就不说了,截图如下:
这样,我们就把正向文件做好了,现在开始作反向文件:
修改192.168.0.rev
打开该文件,将第一个,第二个和第三个localhost修改为station1.example.com,注意,这里也是完全合格域名,最后要有“.”。
然后就是修改记录了:
1 IN PTR web.xiaosu.com
.
这样代表192.168.0.1的反向域名为web.xiaosu.com,由于这里也是完全合格域名,最后也要加“.”。
截图如下:
然后要做的,也是很重要的,就是修改权限,把所有配置文件的所属组都修改为named,以保证named这个守护进程能够加载这些配置文件。
chown root.named /var/named/chroot/etc/named.conf
chown root.named /var/named/chroot/var/named/192.168.0.rev
chown root.named /var/named/chroot/var/named/xiaosu.com.zone
下面就可以重启服务并进行验证了
service named restart;chkconfig named on
验证正向:
dig www.xiaosu.com @192.168.0.1
这条命令的意思就是在192.168.0.1这台DNS上验证www.xiaosu.com。
阴影部分下面这一行显示出www.xiaosu.com 对应的IP是192.168.0.1
验证反向:
dig -x 192.168.0.1 @192.168.0.1
这条命令就代表反向查询 192.168.0.1
截图如下:
阴影下面这两行显示出,192.168.0.1下面有两行记录。
至此,主DNS服务器配置完毕。
3.搭建从DNS服务器就比较简单了:
从DNS服务器不需要写zone文件,从DNS的zone文件都是从主DNS服务器上复制过来的,我们只需要指向主DNS即可。
在station2上搭建从DNS服务器
修改/var/named/chroot/etc/named.conf
内容如下:
options {
directory "/var/named";
};
zone "xiaosu.com"{
type slave;
file "slaves/xiaosu.com";
masters { 192.168.0.1; };
};
zone "0.168.192.in-addr.arpa"{
type slave;
file "slaves/192.168.0.rev";
masters { 192.168.0.1; };
};
这里的type类型就变成了slave类型。文件存放的路径也换成了slaves目录下,并且还要指向主服务器的IP地址--192.168.0.1,这三行也就是和主DNS有区别,其他都一样。
截图如下:
重启服务,并设为开机启动
service named restart ;chkconfig named on
先查看zone 文件是否复制过来了:
ll | /var/named/chroot/var/named/slaves |
可以看到两个zone文件都已经复制过来了,现在用dig 命令测试一下:
可以看到,测试成功!
4搭建高速缓存DNS就更简单了,由于高速缓存DNS里面不需要查找本地的记录文件,每次接受客户机查询的时候,都向其他的DNS服务器进行查询,并把结果保存到高速缓存中,当下次查询时,就直接从高速缓存中调取结果。
这次把station3搭建成高速缓存DNS
修改/var/named/chroot/etc/named.conf
内容如下:
options {
directory "/var/named";
forward only;
forwarders { 192.168.0.1; };
};
截图如下:
重启服务,并设置为开机启动。
验证如下:
为了验证该DNS确实把数据存放到了缓存中,我们把station1上的DNS服务给停掉,然后继续验证,我们会发现依旧可以查询到刚才的记录,截图略,呵呵
本文出自 “飞翔的单车” 博客,转载请与作者联系!