LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Networking (https://www.linuxquestions.org/questions/linux-networking-3/)
-   -   BIND 9/DHCPD DDNS Not Functioning (https://www.linuxquestions.org/questions/linux-networking-3/bind-9-dhcpd-ddns-not-functioning-287005/)

Corxscrew 02-06-2005 03:15 PM

BIND 9/DHCPD DDNS Not Functioning
 
I have recently setup a Suse 9.2 server to do networking services. I had thought that I had set it up correctly, but apparently not. I have told it to do dynamicDNS updates - however, this just doesn't happen. I don't know what I'm doing wrong. I have followed the various instructions on the iternet and various places, and my configuration looks the same as theirs, but it just isn't working - DDNS updates just don't happen. Below are both of my config ffiles, /etc/named.conf and /etc/dhcpd.conf


named.conf
Code:

# Copyright (c) 2001-2004 SuSE Linux AG, Nuernberg, Germany.
# All rights reserved.
#
# Author: Frank Bodammer, Lars Mueller <lmuelle@suse.de>
#
# /etc/named.conf
#
# This is a sample configuration file for the name server BIND 9.  It works as
# a caching only name server without modification.
#
# A sample configuration for setting up your own domain can be found in
# /usr/share/doc/packages/bind/sample-config.
#
# A description of all available options can be found in
# /usr/share/doc/packages/bind/misc/options.

options {
               
        # The directory statement defines the name server's working directory

        directory "/var/lib/named";
               
        # Write dump and statistics file to the log subdirectory.  The
        # pathenames are relative to the chroot jail.

        dump-file "/var/log/named_dump.db";
        statistics-file "/var/log/named.stats";
               
        # The forwarders record contains a list of servers to which queries
        # should be forwarded.  Enable this line and modify the IP address to
        # your provider's name server.  Up to three servers may be listed.

        #forwarders { 192.0.2.1; 192.0.2.2; };

        # Enable the next entry to prefer usage of the name server declared in
        # the forwarders section.

        #forward first;

        # The listen-on record contains a list of local network interfaces to
        # listen on.  Optionally the port can be specified.  Default is to
        # listen on all interfaces found on your system.  The default port is
        # 53.

        #listen-on port 53 { 127.0.0.1; };

        # The listen-on-v6 record enables or disables listening on IPv6
        # interfaces.  Allowed values are 'any' and 'none' or a list of
        # addresses.

        listen-on-v6 { any; };
               
        # The next three statements may be needed if a firewall stands between
        # the local server and the internet.

        #query-source address * port 53;
        #transfer-source * port 53;
        #notify-source * port 53;

        # The allow-query record contains a list of networks or IP addresses
        # to accept and deny queries from. The default is to allow queries
        # from all hosts.

        #allow-query { 127.0.0.1; };

        # If notify is set to yes (default), notify messages are sent to other
        # name servers when the the zone data is changed.  Instead of setting
        # a global 'notify' statement in the 'options' section, a separate
        # 'notify' can be added to each zone definition.

        notify no;
        include "/etc/named.d/forwarders.conf";
};

# To configure named's logging remove the leading '#' characters of the
# following examples.
#logging {
#        # Log queries to a file limited to a size of 100 MB.
#        channel query_logging {
#                file "/var/log/named_querylog"
#                        versions 3 size 100M;
#                print-time yes;                        // timestamp log entries
#        };
#        category queries {
#                query_logging;
#        };
#
#        # Or log this kind alternatively to syslog.
#        channel syslog_queries {
#                syslog user;
#                severity info;
#        };
#        category queries { syslog_queries; };
#
#        # Log general name server errors to syslog.
#        channel syslog_errors {
#                syslog user;
#                severity error;
#        };
#        category default { syslog_errors;  };
#
#        # Don't log lame server messages.
#        category lame-servers { null; };
#};

# The following zone definitions don't need any modification.  The first one
# is the definition of the root name servers.  The second one defines
# localhost while the third defines the reverse lookup for localhost.

zone "." in {
        type hint;
        file "root.hint";
};

zone "localhost" in {
        type master;
        file "localhost.zone";
};

zone "0.0.127.in-addr.arpa" in {
        type master;
        file "127.0.0.zone";
};

# Include the meta include file generated by createNamedConfInclude.  This
# includes all files as configured in NAMED_CONF_INCLUDE_FILES from
# /etc/sysconfig/named

include "/etc/named.conf.include";
logging {
        category default { default_syslog; };
        category xfer-in { default_syslog; };
        category xfer-out { default_syslog; };
};
zone "WLAN-TN.site" in {
        allow-transfer { any; };
        allow-query { any; };
        allow-update { any; };
        file "master/WLAN-TN.site";
        type master;
};
zone "0.168.192.in-addr.arpa" in {
        allow-transfer { any; };
        allow-update { any; };
        allow-query { any; };
        file "master/0.168.192.in-addr.arpa";
        type master;
};

dhcpd.conf

Code:

option domain-name "WLAN-TN.site";
option domain-name-servers 192.168.0.2, 192.168.0.3;
option routers 192.168.0.1;
default-lease-time 14400;
ddns-update-style interim;
ddns-updates on;
update-static-leases true;
authoritative;
subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.5 192.168.0.150;
  default-lease-time 14400;
  max-lease-time 172800;
}

host wlan-001 {
        hardware ethernet 00:11:09:81:06:51;
        fixed-address 192.168.0.5;
}


cdabb 02-07-2005 03:24 AM

What named messages are you getting on the DNS server when a clients gets a DHCP addresses?

You may want to look to see if the DHCP server is logging any errors at the time it tries to update the clients IP to DNS.

scowles 02-07-2005 05:43 AM

Don't know if this will help, but in my DDNS configuration files, I include the "zones" I want updated in dhcpd.conf. Plus, I use a key to insure that MS client's do NOT trigger a DDNS update request directly to the DNS server. Only DHCP is allowed to trigger an update request (nsupdate).<cut/paste>
Code:

# Specify the domain name to append to hostname
# announcement from dhcp client
ddns-domainname "mydomain.com";
 
# Specify the auth key to use for nsupdate. Use the
# following command to generate the key:
# dnssec-keygen -a HMAC-MD5 -b 256 -n USER dhcp_updater
key dhcp_updater {
    algorithm HMAC-MD5.SIG-ALG.REG.INT;
    secret "TIWkoyvYyjEE6b3jQ4sbz2hKIPT2AVdk7O6SmJ3Avwk=";
};
 
# Specify the DNS zones to be updated by dhcpd. Note:
# zones must match the way they are specifed in named.conf
zone mydomain.com. {
      primary 127.0.0.1;
      key dhcp_updater;
};
 
zone 8.168.192.in-addr.arpa. {
        primary 127.0.0.1;
        key dhcp_updater;
};

... more stuff

###################################################
# HOSTS: Static ip assignments. Add any DHCP enabled
# clients that you want to assign the same ip address to (static).
###################################################
group {
    ddns-domainname "mydomain.com";
 
      host enterprise {
          hardware ethernet 00:0c:41:12:8f:a4;
          fixed-address 192.168.9.21;
          ddns-hostname enterprise;
          ddns-rev-domainname  "21.9.168.192";
      }

...more static hosts

Relavent DDNS code from named.conf...
Code:

// --------------------------------------------------------------------
// Define DHCP/DDNS key (nsupdate). See "man dhcpd.conf" on how
// to generate this key. If your not using DDNS, then add comment
// lines // to the following and change allow-update in the zone
// definition to none.
// --------------------------------------------------------------------
key "dhcp_updater" {
    algorithm HMAC-MD5.SIG-ALG.REG.INT;
    secret "TIWkoyvYyjEE6b3jQ4sbz2hKIPT2AVdk7O6SmJ3Avwk=";
};
// ---------------------- End dhcp-updater ----------------------------

...snip...

        // Load the internal mydomain.com zone
        zone "mydomain.com" in {
                type master;                      // Zone is a master
                notify yes;                        // Send notifies
                allow-update { dhcp_updater; };    // Allow DDNS from DHCP server only
                file "int/db.mydomain";            // Load zone file
        };
 
        // Load the internal 192.168.10.0/24 reverse zone
        zone "10.168.192.in-addr.arpa" in {
                type master;                      // Zone is a master
                notify yes;                        // Send notifies?
                allow-update { dhcp_updater; };    // Allow DDNS from DHCP server only
                file "int/db.192.168.10";          // Load zone file

Good Luck!


All times are GMT -5. The time now is 06:19 AM.