@ZEAL Blog·厉
WWW Zeal Blog
We stand alone,
TOGETHER.

[转]架设DNS全攻略

Posted by zeal on 2006-08-28 12:53 , 6136 characters |  + 1 - 0   English
标签 ( 网络 ):  , 
Linux下bind安装配置资料。存档、备忘。

作者cpss ,原文出处:http://cpss.zz.ha.cn/bind/bind.htm

首先从这里(version 9.2.2)下载bind,并如下将压缩包解开。

tar -xzvpf bind-9.2.2rc1.tar.gz

然后,改变目录至我们解压产生的bind 原代码目录:

cd bind-9.2.2rc1

下一步,su 成 root 用户。

我们将 bind 安装到 /usr/local/ 目录。如果没有该目录,就创建一个:

mkdir /usr/local

bind 使用 autoconf , 所以编译它是很容易的,如下:

./configure --prefix=/usr/local --mandir=/usr/local/share/man

大概几分钟时间,文件就配置好了。然后如下操作:

make

大约20分钟,编译工作可以完成。剩下的工作就是安装(install)了。如下操作:

make install

这也需要几分钟时间。

当安装完毕后,bind 并不能立即使用,这是因为还有些配置文件没有配置。我们将举些简单的配置作为例子。

在标准安装,有一个 named.conf 文件, 一个 rndc.conf 文件,和一个 namedb 目录,该目录包含 localhost.rev 文件。我们安装这些到 /usr/local/etc 目录。如果该目录不存在,就先创建一个:

mkdir /usr/local/etc

同样,我们还需要创建一个 namedb 目录:

mkdir /var/namedb

现在,我们编辑 named.conf 文件。我们以后可以添加更多的内容,但现在它看起来是这样的(我们可以从这里下载 named.conf 文件):

options {

directory "/var/namedb";    // 工作目录  

pid-file "named.pid";       // 放pid文件到工作目录,否则pid文件在/var/run目录

};


zone "." {
        type hint;

        file "named.root";

};

 

// 提供loopback地址127.0.0.1的反向地址映射

zone "0.0.127.in-addr.arpa" {

        type master;

        file "localhost.rev";
        notify no;
};

zone "173.76.207.in-addr.arpa" in { type master; file "db.207.76.173";notify no; };

 

//注意上面和下面形式不同的例子实际上完成的是一样的功能。

zone "bind.com" {

        type master;

        file "bind.com.zone";

        notify no;

        };

 

其中named.root(有时也称为named.ca,都是指的同一个东西,大家的习惯不同嘛)中包含的是目前全球顶级域名服务器地址信息,该文件有可能会随着时间的推移而变得过时了,需要我们定期去网上更新。这里是internic提供的免费下载的named.root,该文件的信息总是最新的。

下面,我们创建localhost.rev文件。该文件看起来是这样的:

$TTL 3600
@       IN      SOA     user1.bind.com. hostmaster.bind.com.
                         (
                         1       ; Serial ; Increment by one after every change
                         3600    ; Refresh every hour
                         900     ; Retry every 15 minutes
                         3600000 ; Expire 1000 hours
                         3600 )  ; Minimum 1 hour
 
 
        IN      NS      nameserv1.bind.com.
        IN      NS      nameserv2.bind.com.
 
 
1       IN      PTR     localhost.
 

你也可以下载localhost.rev文件,并将下载的文件放置到/var/namedb目录中:

mv localhost.rev /var/namedb

你也可以下载地址解析文件的实例,从分析实例中得到学习。

下面我们创建 rndc.conf 文件,并用它补充 named.conf 文件。rndc.conf 文件可以通过程序自动创建。我们先改变目录至 /usr/local/etc :

cd /usr/local/etc

然后,我们使用 rndc-confgen 产生该配置文件。由于 Solaris 7 的一个 bug ,我们需要键入一堆字母来产生 rndc 联系 bind 使用的 key(我在Solaris 8中安装时,是不需要的键入这些讨厌的字母的)。命令格式如下:

/usr/local/sbin/rndc-confgen > rndc.conf

一直键入直到console上提示“stop typing”为止。这将自动产生rndc.conf 文件。rndc.conf文件也包括一些必须加入到named.conf的行。我们可以通过下面命令自动将这些行加到named.conf文件中:

tail -n10 rndc.conf | head -n9 | sed -e s/#\ //g >> named.conf

现在,我们可以准备运行bind了。首先我们先在console上通过命令运行:

/usr/local/sbin/named -gc /usr/local/etc/named.conf &

在出现一些信息后,将最后显示一行为“running”。

使用如下命令:

/usr/local/sbin/rndc status

它将显示我们服务器已经运行了,显示如下:

number of zones: 5
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
server is up and running

bind启动后,我们可以用 rndc 来控制 bind 的运行、重新调配置文件,而不再需要野蛮地用kill对付bind了。

现在我们可以去设置dns服务器启动时自动运行,不需要我们开一个窗口去运行它。我们可以在“/etc/rc2.d”目录下做一个启动文件,这样每次服务器启动时bind都会自动启动起来。这个工作比较简单,这里就不再赘述了。

---------------------------------------

什么是域名解析?
域名解析就是域名到IP地址的转换过程。IP地址是网路上标识您站点的数字地址,为了简单好记,采用域名来代替ip地址标识站点地址。域名的解析工作由DNS服务器完成。

什么是A记录?
A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置您域名的二级域名。

什么是MX记录?
邮件路由记录,用户可以将该域名下的邮件服务器指向到自己的mail server上,然后即可自行操控所有的邮箱设置。您只需在线填写您服务器的IP地址,即可将您域名下的邮件全部转到您自己设定相应的邮件服务器上。

什么是CNAME记录?
即:别名记录。这种记录允许您将多个名字映射到同一台计算机。 通常用于同时提供WWW和MAIL服务的计算机。例如,有一台计算机名为“host.mydomain.com”(A记录)。 它同时提供WWW和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个别名(CNAME):WWW和MAIL。 这两个别名的全称就是www.mydomain.com和“mail.mydomain.com”。实际上他们都指向“host.mydomain.com”。

什么是TTL值?
TTL值全称是“生存时间(Time To Live)”,简单的说它表示DNS记录在DNS服务器上缓存时间。要理解TTL值,请先看下面的一个例子:
假设,有这样一个域名myhost.abc.com(其实,这就是一条DNS记录,通常表示在abc.com域中有一台名为myhost的主机)对应IP地址为1.1.1.1,它的TTL为10分钟。这个域名或称这条记录存储在一台名为dns.abc.com的DNS服务器上。

现在有一个用户在浏览器中键入一下地址(又称URL):http://myhost.abc.com 这时会发生什么呢?

该访问者指定的DNS服务器(或是他的ISP,互联网服务商,动态分配给他的)8.8.8.8就会试图为他解释myhost.abc.com,当然8.8.8.8这台DNS服务器由于没有包含myhost.abc.com这条信息,因此无法立即解析,但是通过全球DNS的递归查询后,最终定位到dns.abc.com这台DNS服务器,dns.abc.com这台DNS服务器将myhost.abc.com对应的IP地址1.1.1.1告诉8.8.8.8这台DNS服务器,然有再由8.8.8.8告诉用户结果。8.8.8.8为了以后加快对myhost.abc.com这条记录的解析,就将刚才的1.1.1.1结果保留一段时间,这就是TTL时间,在这段时间内如果用户又有对myhost.abc.com这条记录的解析请求,它就直接告诉用户1.1.1.1,当TTL到期则又会重复上面的过程。

Last Modified on 2007-05-28 14:29
1 条评论:
- 拉力机 () (link) 于 2006-09-25 15:51
真的太好看了!@_@~~
日志存档
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
本 Blog 原创内容
遵循以下授权:

Creative Commons
(创作共用) CC

署名-非商业性
-相同方式分享
ZEAL Blog 基于
Powered byPivot - 1.24.1: 'Arcee'
Pivot1.24.1
开发
系统部署于
Linode.com
Launched @
2005-04-27
Since 2005.04.27  梦想 就像鸡蛋 要么孵化 要么臭掉RSS Feed (Entries) | About me | Back To Home | @ZEAL | zbird.com | 沪ICP备05024379号