Centos 5 problem with starting named fail

Discussion in 'Server Operation' started by rhunn, Nov 6, 2007.

  1. rhunn

    rhunn New Member

    Centos 5 problem with starting named services failed

    Hello,

    Here is an error that I got when I try to start named services in Centos 5.

    [root@walter1814 ~]# /etc/init.d/named
    Locating /var/named/chroot//etc/named.conf failed:
    [FAILED]

    Is there a fix for this in Centos 5?

    Thanks
    Ronnie
     
    Last edited: Nov 6, 2007
  2. falko

    falko Super Moderator Howtoforge Staff

    What's the output of
    Code:
    updatedb
    locate named.conf
    ?
     
  3. rhunn

    rhunn New Member

    Here is the output.........

    [root@test ~]# updatedb
    [root@test ~]# locate named.conf
    /etc/dbus-1/system.d/named.conf
    /usr/share/doc/bind-9.3.3/sample/etc/named.conf
    /usr/share/logwatch/default.conf/services/named.conf
    /usr/share/man/man5/named.conf.5.gz

    Thank for the help.
     
  4. falko

    falko Super Moderator Howtoforge Staff

    Try this:
    Code:
    mkdir -p /var/named/chroot/etc
    cp /usr/share/doc/bind-9.3.3/sample/etc/named.conf /var/named/chroot/etc
    Then restart BIND.
     
  5. rhunn

    rhunn New Member


    I still got an error when I restart bind or named......Here is the error that spits out....

    [root@test ~]# mkdir -p /var/named/chroot/etc
    [root@test ~]# cp /usr/share/doc/bind-9.3.3/sample/etc/named.conf /var/named/chroot/etc
    [root@test ~]# service named start
    Starting named:
    Error in named configuration:
    /etc/named.conf:58: open: /etc/named.root.hints: file not found
    [FAILED]

    Thank for the help Falko.
     
  6. falko

    falko Super Moderator Howtoforge Staff

    What's the output of
    Code:
    updatedb
    locate named.root.hints
    ?
     
  7. rhunn

    rhunn New Member


    Here are the output.....


    [root@test ~]# updatedb
    [root@test ~]# locate named.root.hints
    /usr/share/doc/bind-9.3.3/sample/etc/named.root.hints
     
  8. falko

    falko Super Moderator Howtoforge Staff

    Copy /usr/share/doc/bind-9.3.3/sample/etc/named.root.hints to /etc and /var/named/chroot/etc and restart BIND.
     
  9. rhunn

    rhunn New Member

    Now this is what I got when I restart named services.



    [root@test ~]# cp /usr/share/doc/bind-9.3.3/sample/etc/named.root.hints /etc
    [root@test ~]# cp /usr/share/doc/bind-9.3.3/sample/etc/named.root.hints /var/named/chroot/etc
    [root@test ~]# service named start
    Starting named:
    Error in named configuration:
    /etc/named.conf:64: open: /etc/named.rfc1912.zones: file not found
    [FAILED]
    [root@test ~]# updatedb
    [root@test ~]# locate named.rfc1912
    /usr/share/doc/bind-9.3.3/sample/etc/named.rfc1912.zones
    [root@test ~]# cp /usr/share/doc/bind-9.3.3/sample/etc/named.rfc1912.zones /var/named/chroot/etc
    [root@test ~]# cp /usr/share/doc/bind-9.3.3/sample/etc/named.rfc1912.zones /etc
    [root@test ~]# service named start
    Starting named:
    Error in named configuration:
    zone localdomain/IN: loading master file localdomain.zone: file not found
    localhost_resolver/localdomain/IN: file not found
    zone localhost/IN: loading master file localhost.zone: file not found
    localhost_resolver/localhost/IN: file not found
    zone 0.0.127.in-addr.arpa/IN: loading master file named.local: file not found
    localhost_resolver/0.0.127.in-addr.arpa/IN: file not found
    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: loading master file named.ip6.local: file not found
    localhost_resolver/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: file not found
    zone 255.in-addr.arpa/IN: loading master file named.broadcast: file not found
    localhost_resolver/255.in-addr.arpa/IN: file not found
    zone 0.in-addr.arpa/IN: loading master file named.zero: file not found
    localhost_resolver/0.in-addr.arpa/IN: file not found
    zone my.internal.zone/IN: loading master file my.internal.zone.db: file not found
    internal/my.internal.zone/IN: file not found
    zone my.ddns.internal.zone/IN: loading master file slaves/my.ddns.internal.zone.db: file not found
    internal/my.ddns.internal.zone/IN: file not found
    zone my.external.zone/IN: loading master file my.external.zone.db: file not found
    external/my.external.zone/IN: file not found
    [FAILED]


    Thanks Falko
     
  10. falko

    falko Super Moderator Howtoforge Staff

    What's in /var/named/chroot/etc/named.conf? I guess there'S some sample data in there that needs to be removed/replaced with your own zones.
     
  11. rhunn

    rhunn New Member


    This is what I have in /var/named/chroot/etc/named.conf. So what do I need to do to setup this server to point it to local DNS.


    [root@test ~]# cat /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";
    };
    };
     
  12. falko

    falko Super Moderator Howtoforge Staff

    Please remove this whole part:

    Code:
    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";
    };
    };
    and add your own zones instead: http://www.howtoforge.com/traditional_dns_howto
     
  13. Rock

    Rock New Member

    It works.

    Followed this thread till the end. No comments as to if it works.
    For the good of other users, yes this works!
    At least for me.
     
  14. vikasvishnu

    vikasvishnu New Member

    Amazing.. thanks bro! Didnt want to go through the config file to see what's wrong and so just got into this thread! It works super cool!
     
  15. eudesafp

    eudesafp New Member

    The way more simple

    yum install caching-nameserver
     
  16. peacengell

    peacengell Member

    that great in this thread

    that works like a charm great to find what need to be done and where to find the files

    i used this command instead of locate

    find . -name named -print

    this give you all the file name named

    this command should run from / root directory

    thanks anyway bye guys keep it up
     

Share This Page