HPlogo Configuring and Managing MPE/iX Internet Services > Appendix B BIND 8 Configuration File

Appendix B BIND 8 Configuration File

MPE documents

Complete PDF
Table of Contents
Index

E0802 Edition 6
E0701 Edition 5 ♥
E0400 Edition 4

The following is a dummy configuration file example. This explains in brief what each configuration directive is useful for and its syntax. All the directives are not required for a typical BIND configuration.
/*
* This is a worthless, nonrunnable example of a named.conf file that has
* every conceivable syntax element in use. We use it to test the parser.
* It could also be used as a conceptual template for users of new features.
*/

/*
* C-style comments are OK
*/

// So are C++-style comments

# So are shell-style comments

// watch out for ";" -- it's important!


options {
         directory ".";                        // use current directory
         named-xfer "/usr/libexec/named-xfer"; // _PATH_XFER
         dump-file "named_dump.db";            // _PATH_DUMPFILE
         pid-file "/var/run/named.pid";        // _PATH_PIDFILE
         statistics-file "named.stats";        // _PATH_STATS
         check-names master fail;
         check-names slave warn;
         check-names response ignore;
         datasize default;
         stacksize default;
         coresize default;
         files unlimited;
         recursion yes;
         fetch-glue yes;
         fake-iquery no;
         notify yes;                      // send NOTIFY messages. You can set
                                          // notify on a zone-by-zone
                                          // basis in the "zone" statement
                                          // see (below)
         auth-nxdomain yes;               // always set AA on NXDOMAIN.
                                          // don't set this to 'no' unless
                                          // you know what you're doing -- older
                                          // servers won't like it.
         multiple-cnames no;              // if yes, then a name my have more
                                          // than one CNAME RR. This use
                                          // is non-standard and is not
                                          // recommended, but it is available
                                          // because previous releases supported
                                          // it and it was used by large sites
                                          // for load balancing.
allow-query { any; }; allow-transfer { any; }; transfers-in 10; // DEFAULT_XFERS_RUNNING, cannot be // set > than MAX_XFERS_RUNNING (20) transfers-per-ns 2; // DEFAULT_XFERS_PER_NS transfers-out 0; // not implemented max-transfer-time-in 120; // MAX_XFER_TIME; the default number // of minutes an inbound zone transfer // may run. May be set on a per-zone // basis. /* * The "transfer-format" option specifies the way outbound zone * transfers (i.e. from us to them) are formatted. Two values are * allowed: * * one-answer Each RR gets its own DNS message. * This format is not very efficient, * but is widely understood.All * versions of BIND prior to 8.1 generate * this format for outbound zone * and require it on inbound transfers. * * many-answers As many RRs as will fit are put into * each DNS message. This format is * the most efficient, but is only known * to work with BIND 8. Patches to * BIND 4.9.5 named-xfer that enable it * to understand 'many-answers' will be * available. * * If you are going to be doing zone transfers to older servers, you * shouldn't use 'many-answers'. 'transfer-format' may also be set * on a host-by-host basis using the 'server' statement (see below). */ transfer-format one-answer; query-source address * port *; /* * The "forward" option is only meaningful if you've defined * forwarders. "first" gives the normal BIND * forwarding behavior, i.e. ask the forwarders first, and if that * doesn't work then do the full lookup. You can also say * "forward only;" which is what used to be specified with * "slave" or "options forward-only". "only" will never attempt * a full lookup; only the forwarders will be used. */ forward first; forwarders { }; // default is no forwarders /* * Here's a forwarders example that isn't trivial */ /* forwarders { 1.2.3.4; 5.6.7.8; }; */ topology { localhost; localnets; }; // prefer local nameservers /* * Here's a more complicated topology example; it's commented out * because only one topology block is allowed. * topology { 10/8; // prefer network 10.0.0.0 // netmask 255.0.0.0 most !1.2.3/24; // don't like 1.2.3.0 netmask // 255.255.255.0 at all { 1.2/16; 3/8; }; // like 1.2.0.0 netmask 255.255.0.0 // and 3.0.0.0 netmask 255.0.0.0 // equally well, but less than 10/8 }; */ listen-on port 53 { any; }; // listen for queries on port 53 on // any interface on the system // (i.e. all interfaces). The // "port 53" is optional; if you // don't specify a port, port 53 // is assumed. /* * Multiple listen-on statements are allowed. Here's a more * complicated example: */ /* listen-on { 5.6.7.8; }; // listen on port 53 on interface // 5.6.7.8 listen-on port 1234 { // listen on port 1234 on any !1.2.3.4; // interface on network 1.2.3 1.2.3/24; // netmask 255.255.255.0, except for }; // interface 1.2.3.4. */ /* * Interval Timers */ clean-interval 60; // clean the cache of expired RRs // every 'clean-interval' minutes interface-interval 60; // scan for new or deleted interfaces // every 'interface-interval' minutes statistics-interval 60; // log statistics every // 'statistics-interval' minutes }; zone "master.demo.zone" { type master; // what used to be called "primary" file "master.demo.zone"; check-names fail; allow-update { none; }; allow-transfer { any; }; allow-query { any; }; // notify yes; // send NOTIFY messages for this // zone? The global option is used // if "notify" is not specified // here. also-notify { }; // don't notify any nameservers other // than those on the NS list for this // zone }; zone "slave.demo.zone" { type slave; // what used to be called "secondary" file "slave.demo.zone"; masters { 1.2.3.4; // where to zone transfer from 5.6.7.8; }; check-names warn; allow-update { none; }; allow-transfer { any; }; allow-query { any; }; max-transfer-time-in 120; // if not set, global option is used. // also-notify { }; // don't notify any nameservers other // than those on the NS list for this // zone }; zone "stub.demo.zone" { type stub; // stub zones are like slave zones, // except that only the NS records // are transferred. file "stub.demo.zone"; masters { 1.2.3.4; // where to zone transfer from 5.6.7.8; }; check-names warn; allow-update { none; }; allow-transfer { any; }; allow-query { any; }; max-transfer-time-in 120; // if not set, global option is used. }; zone "." { type hint; // used to be specified w/ "cache" file "cache.db"; }; acl can_query { !1.2.3/24; any; }; // network 1.2.3.0 mask 255.255.255.0 // is disallowed; rest are OK acl can_axfr { 1.2.3.4; can_query; }; // host 1.2.3.4 and any host allowed // by can_query are OK zone "non-default-acl.demo.zone" { type master; file "foo"; allow-query { can_query; }; allow-transfer { can_axfr; }; allow-update { 1.2.3.4; 5.6.7.8;servers. }; }; key sample_key { // for TSIG; supported by parser algorithm hmac-md5; // but not yet implemented in the secret "your secret here"; // rest of the server }; key key2 { algorithm hmac-md5; secret "ereh terces rouy"; }; server 1.2.3.4 { bogus no; // if yes, we won't query or listen // to this server transfer-format one-answer; // set transfer format for this // server (see the description of // 'transfer-format' above) // if not specified, the global option // will be used transfers 0; // not implemented keys { sample_key; key2; }; // for TSIG; supported by the parser // but not yet implemented in the // rest of the server }; logging { /* * All log output goes to one or more "channels"; you can make as * many of them as you want. */ channel syslog_errors { // this channel will send errors or syslog user; // or worse to syslog (user facility) severity error; }; /* * Channels have a severity level. Messages at severity levels * greater than or equal to the channel's level will be logged on * the channel. In order of decreasing severity, the levels are: * * critical a fatal error * error * warning * notice a normal, but significant event * info an informational message * debug 1 the least detailed debugging info * ... * debug 99 the most detailed debugging info */ /* * Here are the built-in channels: * * channel default_syslog { * syslog daemon; * severity info; * }; * * channel default_debug { * file "named.run"; * severity dynamic; // this means log debugging * // at whatever debugging level * // the server is at, and don't * // log anything if not * // debugging * }; * * channel null { // this is the bit bucket; * file "/dev/null" // any logging to this channel * // is discarded. * }; * * channel default_stderr { // writes to stderr * file "<stderr>"; // this is illustrative only; * // there's currently no way * // of saying "stderr" in the * // configuration language. * // i.e. don't try this at home. * severity info; * }; * * default_stderr only works before the server daemonizes (i.e. * during initial startup) or when it is running in foreground * mode (-f command line option). */ /* * There are many categories, so you can send the logs * you want to see wherever you want, without seeing logs you * don't want. Right now the categories are * * default the catch-all. many things still * aren't classified into categories, and * they all end up here. also, if you * don't specify any channels for a * category, the default category is used * instead. * config high-level configuration file * processing * parser low-level configuration file processing * queries what used to be called "query logging" * lame-servers messages like "Lame server on ..." * statistics * panic if the server has to shut itself * down due to an internal problem, it * logs the problem here (as well as * in the problem's native category) * update dynamic update * ncache negative caching * xfer-in zone transfers we're receiving * xfer-out zone transfers we're sending * db all database operations * eventlib debugging info from the event system * (see below) * packet dumps of packets received and sent * (see below) * notify the NOTIFY protocol * cname messages like "XX points to a CNAME" * security approved/unapproved requests * os operating system problems * insist consistency check failures * maintenance periodic maintenance * load zone loading * response-checks messages like * "Malformed response ..." * "wrong ans. name ..." * "unrelated additional info ..." * "invalid RR type ..." * "bad referral ..." */ category parser { syslog_errors; // you can log to as many channels default_syslog; // as you want }; category lame-servers { null; }; // don't log these at all channel moderate_debug { severity debug 3; // level 3 debugging to file file "foo"; // foo print-time yes; // timestamp log entries print-category yes; // print category name print-severity yes; // print severity level /* * Note that debugging must have been turned on either * on the command line or with a signal to get debugging * output (non-debugging output will still be written to * this channel). */ }; /* * If you don't want to see "zone XXXX loaded" messages but do * want to see any problems, you could do the following. */ channel no_info_messages { syslog; severity notice; }; category load { no_info_messages; }; /* * You can also define category "default"; it gets used when no * "category" statement has been given for a category. */ category default { default_syslog; moderate_debug; }; /* * If you don't define category default yourself, the default * default category will be used. It is * * category default { default_syslog; default_debug; }; */ /* * If you don't define category panic yourself, the default * panic category will be used. It is * * category panic { default_syslog; default_stderr; }; */ /* * Two categories, 'packet' and 'eventlib', are special. Only one * channel may be assigned to each of them, and it must be a * file channel. If you don't define them yourself, they default to * * category eventlib { default_debug; }; * * category packet { default_debug; }; */ }; include "filename"; // can't do within a statement




Appendix A Samba for MPE/iX Sample Comfiguration File


Appendix C BIND 8.1 Enhanced Features