LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1060|回复: 1

[转贴]Bind9(9.3.2)源码包方式安装配置详细指南

[复制链接]
发表于 2006-8-11 10:55:45 | 显示全部楼层 |阅读模式
转载,文章原地址:http://blog.sina.com.cn/u/48e17e5501000505

[原创文章]转载请注明作者和出处,谢谢

本文假设读者已经了解 DNS 的工作原理以及三种 DNS (Cache Only、Master、Slave)的区别和联系,并掌握了基本的 linux 命令行操作方法。

二话不说,进入正题。
步骤后面的括号代表执行此项所需的命令,请根据自身情况灵活变化。

1.进入下载好的 bind 源码包所在目录( cd )
2.解压缩( tar -zxvf )
3.进入解压缩后出现的目录( cd )
4.使用如下命令
  ./configure --prefix="你希望将bind安装到的目录" --sysconfdir="你希望bind默认到这里找配置文件"
  解释:  --prefix=PREFIX 选项用于指定安装目录,默认为/usr/local/sbin
         --sysconfdir    选项用于指定bind默认寻找配置文件named.conf的路径,默认为/etc.推荐采用默认值
  另外的更多参数请参阅 README 文档。
5.稍等一段时间,完成./configure后直接输入如下命令:
  make
6.还需等待一段时间,make结束之后直接输入如下命令:
  make install
7.等待安装完成

至此 bind9 安装完成。

---------------------------------------------------
配置 bind9

特别注意:安装完成后的新 bind 是不会有任何配置文件的,也不会有任何zone数据文件。所有网上教程中所述的文件都必须依次手工建立。

配置环境假设如下:
有一个局域网,网段为 173.26.100.x
www服务提供于 173.26.100.59
dns服务器,即需要配置的机器位于 173.26.100.17
想要架设的域为 linux.org( 此域名未到ISP注册,应该是内部使用的域名 )
请根据具体情况定制。

下面开始配置工作:

1.进入/etc目录( cd )
2.执行如下命令(以默认安装路径为准):
  vim named.conf ( Ubuntu 系统下需要 sudo vim named.conf 并输入密码 )
  注:视系统不同,某些系统可能使用文本编译器 vi
3.对于假设网络环境使用的named.conf文件

options {
        directory "/var/named";  //bind默认zone文件位置
        forwarders {
                123.123.1.1;      //可定义你的上级DNS
        };
};
// 首先定义出 . (root) 这个 hint type 的档案内容
zone "." in {
        type hint;
        file "named.root";
};

// 再来则是定义出 localhost 的正反解了,很简单,就是 127.0.0.1 (必要)
zone "localhost" in {
        type master;
        file "named.localhost";
};

zone "0.0.127.in-addr.arpa" in {
        type master;
        file "named.127.0.0";
};

// 定义出我自己的域这一组正反解设定
zone "linux.org" {
        type master;
        file "named.linux.org";
};

zone "100.26.173.in-addr.arpa" {
        type master;
        file "named.173.26.100";
};

//特别注意上面zone ""引号内ip段反写

4.根据建立的named.conf,依次建立zone数据文件

  进入/var文件夹,建立文件夹named,进入named( cd、mkdir )

  建立文件named.root(根服务器位置)
;       This file holds the information on root name servers needed to
;       initialize cache of Internet domain name servers
;       (e.g. reference this file in the "cache  .  <file>"
;       configuration file of BIND domain name servers).
;
;      This file is made available by InterNIC
;       under anonymous FTP as
;           file                /domain/named.root
;           on server           FTP.INTERNIC.NET
;
;       last update:    Nov 5, 2002
;       related version of root zone:   2002110501
;
;
; formerly NS.INTERNIC.NET
;
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
;
; formerly NS1.ISI.EDU
;
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     128.9.0.107
;
; formerly C.PSI.NET
;
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
;
; formerly TERP.UMD.EDU
;
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
;
; formerly NS.NASA.GOV

   这个文件直接粘贴内容即可。或者到国际域名管理服务器rs.internic.net下载这个文件,将得到完全版本。直接粘贴上面内容可用。

   建立本机(localhost)正解文件named.localhost

   仍然在/var/named下:  vim named.localhost

  
$TTL    600
; 这个跟清除 cache 的时间有关系, 单位是秒
@       IN      SOA     localhost.      root.localhost. (
                2002120601   ; Serial  与 master 及 slave 是否同步有关,一般而言,如果这个数值变大了, slave 才会同步更新!
                28800        ; Refresh 定义出 slave 多久会主动的检查 serial 的值,以便主动的更新数据库!
                14400        ; Retry   定义出,如果 slave 没有连上 master DNS 主机则多久之后会重新再次的主动检查!
                720000       ; Expire  如果一直没有连接上 mater ,那么到了这个时候slave 就会放弃检查的动作了,不再更新!
                86400 )      ; Minimum 这个其实就是 TTL 如果您没有定义 TTL ,那么 TTL 的值就以这个来设定
; 开始设定正解的信息内容:
@               IN      NS      localhost. ; 特别留意最后面有个 .
localhost.      IN      A       127.0.0.1   ; A 是正解里面 hostname 对应 IP 的标志

   加入注释后有些乱,粘贴过去后调整一下格式,另外注意删除中文空格,否则会出现错误。

     建立本机(localhost)反解文件named.127.0.0

     还是/var/named下:    vim named.127.0.0
$TTL    600
; This is about DNS server's settings
@       IN      SOA     localhost.      root.localhost. (
                2002120601      ; Serial
                28800           ; Refresh
                14400           ; Retry
                720000          ; Expire
                86400 )         ; Minimum
; The server's infomations
@               IN      NS      localhost.
1               IN      PTR     localhost.

     注释已经加过,此处不再赘述

     下面开始我们的linux.org域解析文件,首先是正解文件named.linux.org

     vim named.linux.org
$TTL    600
; 跟上面提到的一样,设定主机的一些基本信息
@       IN      SOA     dns.linux.org.        root.dns.linux.org.   (
                        2002120601      ; Serial
                        28800           ; Refresh
                        14400           ; Retry
                        720000          ; Expire
                        86400   )       ; minimum
; 主机的设定参数部分
@               IN      NS      dns.linux.org. ; 这个 zone 的主机
@               IN      MX 10   dns.linux.org. ; 邮件转递的主要邮件主机
dns             IN      A       173.26.100.17
dns             IN      TXT     "The testing DNS server" ; 仅是说明文件 !
; 其它主机的设定信息上面
www             IN      A       173.26.100.59

    然后是linux.org域反解文件named.100.26.173

    vim named.100.26.173
$TTL    600
@       IN      SOA     dns.linux.org.        root.dns.linux.org.   (
                        2002120601      ; Serial
                        28800           ; Refresh
                        14400           ; Retry
                        720000          ; Expire
                        86400   )       ; minimum
@       IN      NS      dns.linux.org.
17      IN      PTR     dns.linux.org.
; The following is about other hosts
59      IN      PTR     www.linux.org.

    至此我们对于假设网络环境的配置已经全面完成。

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

测试 bind9

使用如下命令启动 named 服务:

/etc/rc.d/init.d/named start

注:在 Ubuntu 下以源码包方式安装后启动使用如下命令:

   sudo /usr/local/sbin/named -g

如果启动成功,将看到提示信息,最后为running.特别注意如果出错,看看在哪一步出现的问题,如果是加载 zone 文件失败,多半是zone文件格式不对。如果发现bad name的提示,请注意删除 zone 文件中的中文空格。

named启动成功后,执行如下步骤:

1.进入/etc目录( cd )

2.执行如下命令:

  vim resolv.conf

  在第一行,特别注意是第一行,添加代码:

  nameserver "173.26.100.17"

3.再启动一个shell,执行如下命令:

  dig www.linux.org

  如果成功解析,在 ANSWER SECTION 中将会出现 www.linux.org 对应的 ip 地址 173.26.100.59

  如果 59 上确实开设了 www 服务的话,用浏览器察看 www.linux.org 将可以访问 59 的 www 服务。

至此内网 DNS 解析配置完成。外网配置类似,可以灵活变通。



                                            辰星

                                                2006年8月7日于哈尔滨


原文章有格式,比较容易看,贴过来有点乱~~~
 楼主| 发表于 2006-8-15 21:45:24 | 显示全部楼层
呵呵,看来配置DNS的需求还是相对比较少的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表