分类: BSD
2006-04-30 16:07:21
FreeBSD全能服务器安装手册之DNS(配置文件)篇
更新记录
2006年3月28日星期二修改了安装过程中发现的一些错误
2006年3月29日星期三增加了BIND介绍
################################设置bind9.3.1##################################
BIND介绍
BIND(Berkeley Internet Name Domain)即伯克利因特网名字域系统,它是互联网软件联合会(ISC)的开放源代码软件包,BIND提供了解析器和名字服务器软件,解析器做实际的查询工作而名字服务器则提供响应, UNIX目前使用的DNS服务器主要是依靠BIND软件来实现的。
BIND已经有三个主要版本:BIND4、BIND8和BIND9。
BIND4在20世纪80年代末期面世,BIND 8发布于1997年,而BIND9则发布于2000年中期。没有BIND 5、6和7的版本,BIND 8是如此意义重大的一个更新版本,以至于大家觉得是使用一个老版本号两倍的版本号,而事实上并非真的如此,BIND 8与4.4 BSD是一起发布,因而所有版本号都升为8;目前BIND最新的版本是BIND9.3.0。
BIND 8融入了许多能够提高效率、稳定性和安全性的先进技术。BIND9甚至走得更远,具有多处理器支持、线程安全操作、实时安全性(公开密钥加密)、IPv6支持、增量区传送和一些其他特性。
BIND9是彻底重新设计和重新实现的,它将代码中针对操作系统的特定部分独立出来,因此能更容易地将BIND移植到非UNIX系统上。BIND9的内部机制有了显著不同,但是其配置步骤却保持不变。
BIND系统由三部分组成:回答查询的称为named的守护进程;联系DNS分布式数据库的服务器解析主机查询的库例程;DNS的命令行接口:nslookup、dig和host。以DNS的术语来说,类似named的一个守护进程(或者运行它的机器)称为“名字服务器”,与其联系的客户端程序称为“解析器”。
named配置文件的格式在BIND4和BIND 8之间发生了彻底的变化,新格式类似于gated.conf的格式。配置文件名也变了:在BIND4中是/etc/named.boot,而在BIND 8和9中/etc/named.conf,缓存文件和数据文件的格式保持不变。
##############################################################################################################################################################
%%%%%%%%%%%%%%%%%建立正反向解析目录%%%%%%%%%%%%%%
mkdir /etc/namedb/rev
mkdir /etc/namedb/hosts
%%%%%%%%%%%%%%%改变正反向解析目录属性%%%%%%%%%%%%%%
chown bind:bind /etc/namedb/rev
chown bind:bind /etc/namedb/hosts
chmod –R 755 /var/named/etc/namedb/rev
chmod –R 755 /var/named/etc/namedb/hosts
%%%%%%%%%%%%%生成正反向解析文件的例子文件%%%%%%%%%%%%
cd /etc/namedb
sh make-localhost
%%%%%%%%%%%%%%%%生成这正反向解析文件%%%%%%%%%%%%%%
cp /etc/namedb/master/localhost.rev /etc/namedb/rev/222.36.42.rev
cp /etc/namedb/master/localhost.rev /etc/namedb/hosts/tjhaina.net.hosts
%%%%%%%%%%%%%生成DNS服务器的key文件%%%%%%%%%%%%%%%
/usr/sbin/rndc-confgen > /etc/namedb/rndc.conf
%%%%%%%%%%%%%将key文件导入named.conf文件%%%%%%%%%%%%%
cd /etc/namedb
tail -n10 rndc.conf | head -n9 | sed -e s/#\ //g >> named.conf
(这个命令我也不知道为什么这么写!希望大家一起讨论)
%%%%%%%%%%%%%%%%设置DNS服务器的主域%%%%%%%%%%%%%%%
ee /etc/namedb/named.conf
zone "42.36.222.IN-ADDR.ARPA" {
type master;
file "/var/named/etc/namedb/rev/222.36.42.rev";
};
zone "tjhaina.net" {
type master;
file "/var/named/etc/namedb/hosts/tjhaina.net.hosts";
};
%%%%%%%%%%%%删除或注释掉DNS服务器的监听地址%%%%%%
ee /etc/namedb/named.conf
删除
20 listen-on { 127.0.0.1; };
注释掉
// listen-on { 127.0.0.1; };
rndc reload
(由于bind9在默认的情况下只是给自己,所以要去除监听地址listen-on { 127.0.0.1; };)
%%%%%%%%%%%%%设置DNS服务器反向解析文件%%%%%%%
ee /etc/namedb/rev/222.36.42.rev
$TTL 3600
@ IN SOA ns1.tjhaina.net. root.ns1.tjhaina.net. (
20050430 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS ns1.tjhaina.net.
205 IN PTR ns1.tjhaina.net.
205 IN PTR
205是你的IP地址
(增加反向解析PTR记录 注意:不建议全部的域名及二级域名增加PTR记录)
%%%%%%%%%%%%%设置DNS服务器的正向解析文件%%%%%%%
ee /etc/namedb/hosts/tjhaina.net.hosts
$TTL 3600
@ IN SOA ns1.tjhaina.net. root.ns1.tjhaina.net. (
20050621 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS ns1.tjhaina.net.
ns1 IN A 192.168.0.205
www IN A 192.168.0.205
mail IN A 192.168.0.205
tjhaina.net. IN MX 10 mail.tjhaina.net.
(注意:MX记录的添加要先做一个mail的A记录再做MX记录。MX记录添加的原则是用你的域名指向你的mail的二级域名。不过还有其他的添加方法大家自己可以找一下相关资料)
%%%%%%%%%%%%%设置本机DNS服务器地址%%%% %%%%%%%%%%%%
ee /etc/resolv.conf
添加
nameserver 127.0.0.1
nameserver 211.98.2.4
nameserver 202.99.104.68
nameserver 202.99.96.68
nameserver 202.102.128.68
nameserver 202.103.0.117
nameserver 202.103.44.5
%%%%%%%%%%%%%启动DNS服务器%%%%%%%%%%%%%%%%%%%%%
/usr/sbin/named -gc /etc/namedb/named.conf &
(& 表示后台运行)
/usr/sbin/rndc status
(查看DNS的启动情况)
(所以选这么多DNS是考虑到了冗余设计防止万一出错)
%%%%%%%%%%%%使DNS服务器和系统一起启动%%%%%%%%
ee /etc/rc.conf
添加
named_enable="YES"
rndc reload