I am experiencing some weird errors when I attempt to freeze a DNS zone:

 [EMAIL PROTECTED] ~]# rndc freeze
 rndc: 'freeze' failed: unexpected end of input

 [EMAIL PROTECTED] ~]# rndc freeze t0e.org
 rndc: 'freeze' failed: not found

 [EMAIL PROTECTED] ~]# rndc freeze t0e.org internal
 rndc: 'freeze' failed: unknown class/type

Usage:

 [EMAIL PROTECTED] ~]# rndc
   ...
   freeze zone [class [view]]
           Suspend updates to a dynamic zone.

I am using bind and dhcpd for my local network.  My OS is CentOS 5.  I
have frozen zones before fine.  The only difference I can think of is
instead of using some sample zone files off of the internet, I am using
the ones provided with bind, and they use "views".  I can query the DNS
server fine, I can even do dynamic updates from DHCP clients.  The only
strange issue I run into is I am no longer able to freeze the zones, so
I can update the zones, without breaking the dynamic updates.

I used the sample named.conf file, and made the following modifications
(see attached):
1. options: listen-on
2. view localhost-resolver: my zones
3. view internal: my zones, commented out sample zones
4. include rndc key file
5. view external: commented all out

I am also using the following files:
  cp /usr/share/doc/bind-9.3.3/sample/etc/named.conf /etc/named.conf
  cp /usr/share/doc/bind-9.3.3/sample/etc/named.root.hints
  cp /usr/share/doc/bind-9.3.3/sample/etc/named.rfc1912.zones
/etc/named.rfc1912.zones
  cp /usr/share/doc/bind-9.3.3/sample/etc/rndc.conf /etc/rndc.key
  chown root:named /etc/named*
  cat /usr/share/doc/bind-9.3.3/sample/var/named/named.root
/var/named/named.root
  chown root:named /var/named/named.root


Any thoughts or ideas as to what can be done to correct this?

Thanks in advance,
Kenneth
//
// 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";

        listen-on { 127.0.0.1; 10.10.10.1; };

};
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";

        zone "t0e.org" IN {
                type master;
                file "t0e.org.zone";
                allow-update { key "rndckey"; };
                notify yes;
        };
        zone "10.10.10.in-addr.arpa" {
                type master;
                file "t0e.org.rev";
                allow-update { key "rndckey"; };
                notify yes;
        };

};
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 "t0e.org" IN {
                type master;
                file "t0e.org.zone";
                allow-update { key "rndckey"; };
                notify yes;
        };
        zone "10.10.10.in-addr.arpa" {
                type master;
                file "t0e.org.rev";
                allow-update { key "rndckey"; };
                notify yes;
        };

        /*
        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";
};
*/
include "/etc/rndc.key";
/*
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";
        };
};
*/
/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Reply via email to