BIND Placing Zones outside external view


Well-Known Member
May 5, 2006
[SOVLED] BIND Placing Zones outside external view

Just as the title reads, lately BIND has been placing new zones outside the external view, just appending them to the end of the file.

Does anyone have any ideas what could be causing this?

Here's the named.conf, minus all the zones except two. One is obviously where it should be, and the second is an example of where bind has been placing them.

include "/etc/rndc.key";

controls {
	inet allow { localhost; } keys { "rndc-key"; };

    /* make named use port 53 for the source of all queries, to allow
         * firewalls to block all ports except 53:
    query-source    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";

/*      If you want to enable debugging, eg. using the 'rndc trace' command,
 *      named will try to write the '' 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/";
            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    "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; any; };
	match-destinations    { 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:
    zone "." IN {
        type hint;
        file "/var/named/";

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

    // BEGIN external zone entries
	zone "domain.tld" {
		type master;
		file "/var/named/domain.tld";


zone "domain2.tld" {
	type master;
	file "/var/named/domain2.tld";

Last edited: