linux下安装bind                                       一.、Bind 简介。Bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS服务器软件,支持各种unix平台和windows平台。本文将介绍它在Red hat Linux 9中最基本的安装和配置。二.、软件的相关资源。官方网站:http://www.bind.com/源码软件包:Bind 是开源的软件,可以去其官方网站下载。http://www.isc.org/index.pl,目前最新版本为bind-9.3.1。帮助文档:http://www.isc.org/index.pl有该软件比较全面的帮助文档。FAQ:http://www.isc.org/index.pl回答了该软件的常见问题。配置文件样例:http://www.bind.com/bind.html 一些比较标准的配置文件样例。三.、软件的安装。1.安装由其官方网站中下载其源码软件包bind-9.3.1. tar.gz。接下来我将对安装过程的一些重要步骤,给出其解释:[root@localhost root]#tar Czvxf bind-9.3.1. tar.gz[root@localhost root]#cd bind-9.3.1[root@localhost bind-9.3.1]# ./configure--prefix=/usr/local/bind    [root@localhost bind-9.3.1]#make[root@localhost bind-9.3.1]#make install tar Czvxf bind-9.3.1.tar.gz 解压缩软件包。 ./configure 针对机器作安装的检查和设置,大部分的工作是由机器自动完成的,但是用户可以通过一些参数来完成一定的设置,其常用选项有: ./configure --help 察看参数设置帮助。 --prefix= 指定软件安装目录(默认/usr/local/)。 --enable-ipv6 支持ipv6。 可以设置的参数很多,可以通过 -help察看需要的,一般情况下,默认设置就可以了。 默认情况下,安装过程是不会建立配置文件和一些默认的域名解析的,不过并不妨碍,可以从下载一些标准的配置文件(http://www.bind.com/bind.html),也可以使用本文所提供的样例文件。 默认情况下,安装在 /usr/local/bind/sbin/named 默认的主配置文件,/usr/local/bind/etc/named.conf(须手动建立)。 四、建立BIND用户: # groupadd bind # useradd -g bind -d /usr/local/named -s /sbin/nologin bind 五、创建配置文件目录: # mkdir  /usr/local/named/etc  # chown bind:bind /usr/local/bind/etc  # chmod 700 /usr/local/bind/etc 六、创建主要的配置文件: # vi /usr/local/bind/etc/named.conf ===========================named.conf======================= acl "trust-lan" { 127.0.0.1/16; 192.168.0.0/24;}; options {         directory "/usr/local/bind/etc/"; pid-file "/var/run/named/named.pid"; version "0.0.0"; datasize 40M; allow-transfer { "trust-lan";}; recursion yes; allow-notify { "trust-lan"; }; allow-recursion { "trust-lan"; }; auth-nxdomain no; forwarders { 202.106.124.90; 202.106.0.20;}; }; logging {        channel warning        { file "/var/log/named/dns_warnings" versions 3 size 1240k;        severity warning;        print-category yes;        print-severity yes;        print-time yes;        };        channel general_dns        { file "/var/log/named/dns_logs" versions 3 size 1240k;        severity info;        print-category yes;        print-severity yes;        print-time yes;        };        category default { warning; };        category queries { general_dns; }; }; zone "." {        type hint;        file "named.root"; }; zone "0.0.127.IN-ADDR.ARPA" {        type master;        file "localhost"; }; zone "wang.st.com" {        type slave;        file "wang.st.com";        masters {                192.168.0.1;        }; }; zone "0.168.192.in-addr.arpa" {        type slave;        file "0.168.192.in-addr";        masters {                192.168.0.1;        }; }; =========================named.conf========================== # vi /usr/local/bind/etc/home.com ============================ wang.st.com ========================== $TTL 86400 $ORIGIN home.com. @       IN      SOA     wang.st.com. root.wang.st.com (        2001111601 ; serial        28800 ; refresh        14400 ; retry        3600000 ; expire        86400 ; default_ttl        )        IN      NS      wang.st.com. ;; -- default address - @       IN      A       192.168.0.1 ;; -- wang SerVer -- wang    IN      A               192.168.0.1           IN      MX      0       wang.st.com.          IN       MX      10      wang.st.com  IN      HINFO           "Fedora 3".           IN      TXT             "The internet gateway". dns     IN      CNAME   wang www     IN      CNAME   wang mail    IN      CNAME   wang ftp     IN      CNAME   wang ============================ wang.st.com ========================== # vi /usr/local/bind/etc/0.168.192.in-addr ======================== 0.168.192.in-addr ===================== $TTL 86400 @       IN      SOA     wang.st.com. root.wang.st.com. (                2001111601      ; Serial                28800           ; refresh                14400           ; retry                3600000         ; expire                86400 )         ; minimum @       IN      NS      wang.st.com. 1       IN      PTR     wang.st..com..1       IN      PTR     www.wang.com. 1       IN      PTR     mail.wang.com. 1       IN      PTR     ftp.wang.com. ======================== 0.168.192.in-addr ====================== # vi /usr/local/bind/etc/localhost =========================== localhost =========================== $TTL    3600 @       IN      SOA     wang.st.com. root.wang.st.com.  (                                20040526  ; Serial                                3600       ; Refresh                                900        ; Retry                                3600000   ; Expire                                3600 )    ; Minimum        IN      NS      wang.st.com. 1       IN      PTR    wang.st.com. =========================== localhost =========================== 更新根区文件: # cd /usr/local/bind/etc/ # wget ftp://ftp.internic.org/domain/named.root 或者# cd /usr/local/bind/etc/ # vi named.root =========================== name.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;       -OR-                    RS.INTERNIC.NET;;       last update:    Jan 29, 2004;       related version of root zone:   2004012900;;; 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     192.228.79.201;; 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;.                        3600000      NS    E.ROOT-SERVERS.NET.E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10;; formerly NS.ISC.ORG;.                        3600000      NS    F.ROOT-SERVERS.NET.F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241;; formerly NS.NIC.DDN.MIL;.                        3600000      NS    G.ROOT-SERVERS.NET.G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4;; formerly AOS.ARL.ARMY.MIL;.                        3600000      NS    H.ROOT-SERVERS.NET.H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53;; formerly NIC.NORDU.NET;.                        3600000      NS    I.ROOT-SERVERS.NET.I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17;; operated by VeriSign, Inc.;.                        3600000      NS    J.ROOT-SERVERS.NET.J.ROOT-SERVERS.NET.      3600000      A     192.58.128.30;; operated by RIPE NCC;.                        3600000      NS    K.ROOT-SERVERS.NET.K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129 ;; operated by ICANN;.                        3600000      NS    L.ROOT-SERVERS.NET.L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12;; operated by WIDE;.                        3600000      NS    M.ROOT-SERVERS.NET.M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33; End of File=========================== name.root ===========================创建PID和日志文件: # mkdir /var/run/named/ # chmod 777 /var/run/named/ # chown bind:bind /var/run/named/ # mkdir /var/log/named/ # touch /var/log/named/dns_warnings # touch /var/log/named/dns_logs # chown bind:bind /var/log/named/*  生成rndc-key: # cd /usr/local/bind/etc/ # ../sbin/rndc-confgen > rndc.conf 把rndc.conf中: # Use with the following in named.conf, adjusting the allow list as needed:  后面以的部分加到/usr/local/bind/etc/named.conf中并去掉注释 七、启动: [root@localhost root]# /usr/local/sbin/named -g状态检查: # /usr/local/bind/sbin/rndc status/usr/local/bind/sbin/named默认情况是一个后台deamon ,-g选项表示前台运行,并将调试信息打印到标准输出,这在我们安装调试阶段是非常有帮助的。 如果建立了配置文件和域名解析文件(关于怎样建立将在下面的部分讲到),ps aux 应该可以查到named 的进程,或netstat -an 也可以看到53端口的服务已经起来了。(DNS默认端口为53) 如果要设置开机自启动DNS server,只需在/etc/rc.d/rc.local中加入一行 /usr/local/bind/sbin/named #!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff.touch /var/lock/subsys/local/usr/local/bind/sbin/named八、安装使用的一些经验: 1.带调试信息的启动 named -g /usr/local/sbin/named默认情况是一个后台deamon ,-g选项表示前台运行,并将调试信息打印到标准输出,这在我们安装调试阶段是非常有帮助的。 2.客户端命令nslookup简介 windows ,linux 平台均支持此调试命令。 键入nslookup即进入与服务器交互状态,这时键入域名或ip地址就可以向服务器正向或逆向查询。 >www.test.com 正向域名解析 >192.168.0.1 逆向IP解析   >exit 退出。

03-15 12:34