Назад | Перейти на главную страницу

dhcpd не отправляет обновления ddns для привязки

BIND и DHCPD настроены, но насколько я могу судить, DHCPD не пытается даже отправить обновление динамического DNS в BIND. Я могу вручную добавлять записи с помощью nsupdate с тем же ключом, который я настроил для использования DHCPD.

Сервер:

eth0: 10.0.0.1 статический (BIND и DHCPD) eth1: назначенный DHCPd (внешний, другая подсеть)

Клиент:

eth0: назначен DHCP, та же подсеть, что и сервер eth0

Конфигурация DHCPD:

authoritative;
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;

key DDNS_UPDATE {
    algorithm HMAC-MD5.SIG-ALG.REG.INT;
    secret "manysecrets";
}

zone ops.ss. {
    primary     127.0.0.1;
    key     DDNS_UPDATE;
}

zone 0.0.10.in-addr.arpa. {
    primary     127.0.0.1;
    key     DDNS_UPDATE;
}

subnet 10.0.0.0 netmask 255.255.255.0 {
    range       10.0.0.50 10.0.0.99;
    option      routers 10.0.0.1;
}

BIND Config:

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

acl trusted {
    10.0.0.0/24;
    127.0.0.0/8;
    localnets;
    localhost;
};

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      { 192.168.1.2; };
};

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 {
        update_log;
    };
    category update-security {
        update_log;
    };
};

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";

Обе системы - CentOS 6.4 с привязкой и dhcp от @updates.

DHCPD не отправляет обновления в BIND, потому что он не знает, какое DNS-имя нужно обновить, поскольку имя хоста DDNS не определено.

Убедитесь, что клиент dhcp действительно отправляет имя хоста. В Ubuntu это делает следующий параметр в dhclient.conf:

send host-name = gethostname();

Ваш именованный конфиг на первый взгляд кажется прекрасным.

Это моя установка для DHCP-сервера. Я использую ключи RNDC:

subnet 192.168.20.0 netmask 255.255.255.0 {
        range 192.168.20.100 192.168.20.200;
        option subnet-mask 255.255.255.0;
        option routers 192.168.20.1;
        option domain-name-servers 192.168.20.201;
        option domain-name "srv.internal.mycompany.be";
        ddns-domainname "srv.internal.mycompany.be.";
        ddns-rev-domainname "in-addr.arpa.";
}

убедитесь, что указано ddns-domainname, чтобы он знал, какие записи зоны нужно обновить. Не забывайте лишнюю точку в конце.

Согласно странице руководства ddns-hostname не требует настройки.

   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.