BIND and DHCPD are configured but as far as I can tell DHCPD makes no attempt to even send Dynamic DNS update to BIND. I can manually add records using nsupdate with the same key I have configured DHCPD to use.


eth0: static (BIND and DHCPD) eth1: DHCPd assigned (external, different subnet)


eth0: DHCP assigned, same subnet as Server eth0

DHCPD Config:

option          domain-name "ops.ss";
option          domain-name-servers testvm1.ops.ss;

ddns-updates        on;
ddns-update-style   interim;

default-lease-time  3600;
max-lease-time      7200;
log-facility        local6;

    algorithm HMAC-MD5.SIG-ALG.REG.INT;
    secret "manysecrets";

zone ops.ss. {
    key     DDNS_UPDATE;

zone 0.0.10.in-addr.arpa. {
    key     DDNS_UPDATE;

subnet netmask {
    option      routers;

BIND Config:

include "/etc/named/ddns.key";

acl trusted {;;

options {
    listen-on port 53 { trusted; };
    directory       "/var/named";
    dump-file       "/var/named/data/cache_dump.db";
        statistics-file     "/var/named/data/named_stats.txt";
        memstatistics-file  "/var/named/data/named_mem_stats.txt";
    allow-query     { trusted; };
    forwarders      {; };

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
    channel update_log {
        file "data/bind-updates.log";
        severity debug;
        print-category yes;
        print-severity yes;
        print-time yes;
    category update {
    category update-security {

zone "." IN {
    type hint;
    file "named.ca";

zone "ops.ss" IN {
    type master;
    file "dynamic/fwd_ops.ss";
    allow-update { key DDNS_UPDATE; };

zone "0.0.10.in-addr.arpa." {
    type master;
    file "dynamic/rev_10.0.0.0_24";
    allow-update { key DDNS_UPDATE; };

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

Both systems are CentOS 6.4 with bind and dhcp from @updates


DHCPD is not pushing updates to BIND because it does not know what DNS name to update since no DDNS hostname is defined.


According to the man page ddns-hostname does not need to be set.

   The ddns-hostname statement

     ddns-hostname name;

     The  name  parameter should be the hostname that will be used in set-
     ting up the client's A and PTR records.  If no ddns-hostname is spec-
     ified  in  scope,  then the server will derive the hostname automati-
     cally, using an algorithm that  varies  for  each  of  the  different
     update methods.

Make sure the dhcp client is actually sending the hostname. In Ubuntu, the following option in dhclient.conf does this:

send host-name = gethostname();

Your named config seems fine, at first sight.

This is my setup for the DHCP server. I use RNDC key's:

subnet netmask {
        option subnet-mask;
        option routers;
        option domain-name-servers;
        option domain-name "srv.internal.mycompany.be";
        ddns-domainname "srv.internal.mycompany.be.";
        ddns-rev-domainname "in-addr.arpa.";

make sure the ddns-domainname is specified, so it knows which zone records to update. Don't forget the extra "dot" at the end.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.