Board logo

主題: [問題]CentOS 5 的BIND無法啟用! [打印本頁]

發表人: MU    時間: 2007-12-1 08:03 PM     主題: [問題]CentOS 5 的BIND無法啟用!

小弟目前在玩CentOS 5時碰上了一些問題,如下:
因為一時興起,所以試著玩CentOS 5 ,想要建立DNS Server時碰上了一點困難,我裝了以下這些套件
ypbind-1.19-7.el5
system-config-bind-4.0.3-2.el5.centos
bind-9.3.3-9.0.1.el5
bind-chroot-9.3.3-9.0.1.el5
bind-libs-9.3.3-9.0.1.el5
bind-utils-9.3.3-9.0.1.el5

主要的設定檔都在:/var/named/chroot/ 的裡面,共有dev/  etc/  proc/ var/等子目錄。
而etc/的目錄裡的檔案共有:
localtime            .named.conf.swp      named.root.hints     rndc.key
named.conf           named.rfc1912.zones  rndc.conf

var/的子目錄又分別有以下幾個子目錄:named/ run/   tmp/
named/子目錄裡的檔案有:data/                my.external.zone.db              named.root
localdomain.zone     my.internal.zone.db  named.ip6.local      named.zero
localhost.zone       named.broadcast      named.local          slaves/


/var/named/chroot/etc/named.conf主要的設定內容如下:

//
// Sample named.conf BIND DNS server 'named' configuration file
// for the Red Hat BIND distribution.
//
// See the BIND Administrator's Reference Manual (ARM) for details, in:
//   file:///usr/share/doc/bind-*/arm/Bv9ARM.html
// Also see the BIND Configuration GUI : /usr/bin/system-config-bind and
// its manual.
//
options
{
        /* make named use port 53 for the source of all queries, to allow
         * firewalls to block all ports except 53:
         */
        query-source    port 53;
        query-source-v6 port 53;

        // Put files that named is allowed to write in the data/ directory:
        directory "/var/named"; // the default
        dump-file               "data/cache_dump.db";
        statistics-file         "data/named_stats.txt";
        memstatistics-file      "data/named_mem_stats.txt";

};
logging
{
/*      If you want to enable debugging, eg. using the 'rndc trace' command,
*      named will try to write the 'named.run' file in the $directory (/var/named).
*      By default, SELinux policy does not allow named to modify the /var/named directory,
*      so put the default debug log file in data/ :
*/
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
//
// All BIND 9 zones are in a "view", which allow different zones to be served
// to different types of client addresses, and for options to be set for groups
// of zones.
//
// By default, if named.conf contains no "view" clauses, all zones are in the
// "default" view, which matches all clients.
//
// If named.conf contains any "view" clause, then all zones MUST be in a view;
// so it is recommended to start off using views to avoid having to restructure
// your configuration files in the future.
//
view "localhost_resolver"
{
/* This view sets up named to be a localhost resolver ( caching only nameserver ).
* If all you want is a caching-only nameserver, then you need only define this view:
*/
        match-clients           { localhost; };
        match-destinations      { localhost; };
        recursion yes;
        # all views must contain the root hints zone:
        include "/etc/named.root.hints";

        /* these are zones that contain definitions for all the localhost
         * names and addresses, as recommended in RFC1912 - these names should
         * ONLY be served to localhost clients:
         */
        include "/etc/named.rfc1912.zones";
};
view "internal"
{
/* This view will contain zones you want to serve only to "internal" clients
   that connect via your directly attached LAN interfaces - "localnets" .
*/
        match-clients           { localnets; };
        match-destinations      { localnets; };
        recursion yes;
        // all views must contain the root hints zone:
        include "/etc/named.root.hints";

        // include "named.rfc1912.zones";
        // you should not serve your rfc1912 names to non-localhost clients.

        // These are your "authoritative" internal zones, and would probably
        // also be included in the "localhost_resolver" view above :

        zone "my.internal.zone" {
                type master;
                file "my.internal.zone.db";
        };
        zone "my.slave.internal.zone" {
                type slave;
                file "slaves/my.slave.internal.zone.db";
                masters { /* put master nameserver IPs here */ 127.0.0.1; } ;
                // put slave zones in the slaves/ directory so named can update them
        };
        zone "my.ddns.internal.zone" {
                type master;
                allow-update { key ddns_key; };
                file "slaves/my.ddns.internal.zone.db";
                // put dynamically updateable zones in the slaves/ directory so named can update them
        };
};
key ddns_key
{
        algorithm hmac-md5;
        secret "use /usr/sbin/dns-keygen to generate TSIG keys";
};
view    "external"
{
/* This view will contain zones you want to serve only to "external" clients
* that have addresses that are not on your directly attached LAN interface subnets:
*/
        match-clients           { !localnets; !localhost; };
        match-destinations      { !localnets; !localhost; };

        recursion no;
        // you'd probably want to deny recursion to external clients, so you don't
        // end up providing free DNS service to all takers

        // all views must contain the root hints zone:
        include "/etc/named.root.hints";

        // These are your "authoritative" external zones, and would probably
        // contain entries for just your web and mail servers:

        zone "my.external.zone" {
                type master;
                file "my.external.zone.db";
        };
};

named.rfc1912.zones的設定內容如下:
// named.rfc1912.zones:
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
//
zone "localdomain" IN {
        type master;
        file "localdomain.zone";
        allow-update { none; };
};

zone "localhost" IN {
        type master;
        file "localhost.zone";
        allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
        allow-update { none; };
};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
        type master;
        file "named.ip6.local";
        allow-update { none; };
};

zone "255.in-addr.arpa" IN {
        type master;
        file "named.broadcast";
        allow-update { none; };
};

zone "0.in-addr.arpa" IN {
        type master;
        file "named.zero";
        allow-update { none; };
};


named.root.hints的設定內容如下:
//
//   The 'named.root' root cache hints zone for the bind DNS 'named' nameserver.
//
//   named's cache must be primed with the addresses of the root zone '.' nameservers.
//   The root zone file can be obtained by querying the root 'A' nameserver:
//     $ dig . ns @198.41.0.4 > named.root
//   Or by download via FTP / HTTP:
//     $ wget ftp://ftp.rs.internic.net/domain/named.root
//
//   Every view that is to provide recursive service must include this zone.
//
zone "." IN {
        type hint;
        file "named.root";
};


啟動時的訊息:
[root@localhost /]# /etc/init.d/named restart
正在停止 named:                                            [失敗]
正在啟動 named:                                            [失敗]
[root@localhost /]#

LOG檔裡面沒有錯誤訊息!


以上全都是預設的值,為什麼會啟動不了呢?我已經反覆的看過好幾次的相關設定,就是找不出原因!.....希望有玩過這個版本的大大可以幫小弟解惑一下,感激不盡.......謝謝。
發表人: woohaha    時間: 2007-12-1 10:18 PM

或許可參考這篇文件
http://linux.vbird.org/linux_server/0350dns.php#server_settings
發表人: MU    時間: 2007-12-2 11:17 AM

發現有以下錯誤訊息:
Dec  2 03:15:55 localhost named[6957]: starting BIND 9.3.3rc2 -u named -t /var/named/chroot
Dec  2 11:15:55 localhost named[6957]: found 1 CPU, using 1 worker thread
Dec  2 11:15:55 localhost named[6957]: loading configuration from '/etc/named.conf'
Dec  2 11:15:55 localhost named[6957]: listening on IPv4 interface lo, 127.0.0.1#53
Dec  2 11:15:55 localhost named[6957]: listening on IPv4 interface eth0, 192.168.1.1#53
Dec  2 11:15:55 localhost named[6957]: /etc/named.conf:107: configuring key 'ddns_key': bad base64 encoding
Dec  2 11:15:55 localhost named[6957]: loading configuration: bad base64 encoding
Dec  2 11:15:55 localhost named[6957]: exiting (due to fatal error)
發表人: 陽だまり    時間: 2007-12-2 01:50 PM

應該是這個問題

named.conf文件存在未定義的安全密鑰ddns_key。使用dns-keygen 或 dnskeygen命令創建一個正確的條目。

Feb 25 20:38:49 bigboy named[4593]: /etc/named.conf:99: configuring key 'ddns_key': bad base64 encoding
Feb 25 20:38:49 bigboy named[4593]: loading configuration: bad base64 encoding


原資料連結
發表人: MU    時間: 2007-12-2 11:52 PM


引用:
陽だまり寫到:
應該是這個問題

named.conf文件存在未定義的安全密鑰ddns_key。使用dns-keygen 或 dnskeygen命令創建一個正確的條目。

Feb 25 20:38:49 bigboy named[4593]: /etc/named.conf:99: configuring key 'ddns_key': bad base64 encoding
Feb 25 20:38:49 bigboy named[4593]: loading configuration: bad base64 encoding


原資料連結

沒錯......問題就在這裡......今天下午我把整個name.conf的組態檔做更改之後.....已OK了.....




歡迎光臨 TWed2k (http://twed2k.org/) Powered by Discuz! 4.1.0