DNS+DHCP помогите пожалуйста настроить динамический dns

Автор ALARMUS, 04 февраля 2013, 02:30:05

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

ALARMUS

Добрый день! Буду очень благодарен, если кто из людей, кто сталкивался с этими службами, кто-то поможет. Устал гадать.. может, где знак пропустил?

Описание проблемы:
Есть установленный, работающий DHCP, который присваивает IP без проблемм, а также есть установленный сервер DNS, который свои функции делает, через nslookup можно узнать хост по ip и наоборот, но мне еще нужно, сделать динамический DNS. (ddns). Есть инфа в интернете про все это. Если правила не нарушу, вот даю ссылки на примеры, которые были использованы.
Но не удается. Подключаю клиента, ip выдал ему dhcp, но хост в dns не записался.

http://pclinuxos.su/index.php/server/dhcp-server вторая статья
http://pclinuxos.su/index.php/server/dns-server
http://www.debianadmin.com/howto-setup-dhcp-server-and-dynamic-dns-with-bind-in-debian.html

Что юзаю:
DHCP: isc-dhcp-server 
DNS: bind9 

Конфиг DHCP:
dhcpd.conf

ddns-update-style interim;
ddns-updates on;
#ddns-update-style none;
include "/etc/bind/rndc.key";

key DHCP_UPDATER {
algorithm hmac-md5;
secret "wwwwweeeee";
};

#zone ololo.kiev.ua. {
#primary 127.0.0.1;
#key "rndc-key";
#}

ddns-domainname "ololo.kiev.ua";

ddns-rev-domainname "in-addr.arpa";

option domain-name "ololo.kiev.ua";
option domain-name-servers 10.0.1.104;
option routers 10.0.1.104;
option broadcast-address 10.0.1.255;
option ntp-servers 10.0.1.104;

default-lease-time 86400;
max-lease-time 86400;

authoritative;

log-facility local7;

subnet 10.0.1.0 netmask 255.255.255.0 {

range 10.0.1.113 10.0.1.115;

#host sasha
#{
#hardware ethernet 60:eb:69:57:64:1b;
#fixed-address 10.0.1.107;
#ddns-hostname "sasha";
#}

# DNS zones to update
zone 1.0.10.in-addr.arpa. {
primary 10.0.1.104;
key DHCP_UPDATER;
}

zone ololo.kiev.ua. {
primary 10.0.1.104;
key DHCP_UPDATER;
}

host sasha
{
hardware ethernet 60:eb:69:57:64:1b;
fixed-address 10.0.1.107;
#option host-name "sasha";
ddns-hostname "sasha";
}
}
[свернуть]

Конфиг DNS:

named.conf
options {
   directory "/etc/bind";

recursion yes;

version "REFUSED";

# range you allow to be asked 
   allow-query { localhost; 10.0.1.0/24; };
# range you allow to be transered
   allow-transfer { localhost; 10.0.1.0/24; };
# range you allow to be recursioned
   allow-recursion { localhost; 10.0.1.0/24; };

   auth-nxdomain no;    # conform to RFC1035
#    listen-on-v6 { any; };
};

/////////// использовал также этот метод, что закомментирован - тоже не получалось
// include "/etc/bind/rndc.key";
// controls {
// inet 127.0.0.1 allow { localhost; } keys { "rndc-key"; };
//};

key DHCP_UPDATER {
algorithm hmac-md5;
secret "22wwwwww";
};

controls {
inet 127.0.0.1 allow { localhost; } keys { DHCP_UPDATER; };
};

# define for internal section
view "internal" {
   match-clients {
       localhost;
       10.0.1.0/24;
       };
   zone "." {
       type hint;
       file "db.root";
       };
   zone "ololo.kiev.ua" {
       type master;
       file "ololo.kiev.ua.lan";
       allow-update { key DHCP_UPDATER; };
       };
   zone "1.0.10.in-addr.arpa" {
       type master;
               notify no;
       file "1.0.10.db";
       allow-update { key DHCP_UPDATER; };
       };
   zone "localhost" {
       type master;
       file "db.local";
       };
   zone "127.in-addr.arpa" {
       type master;
       file "db.127";
       };
   zone "0.in-addr.arpa" {
       type master;
       file "db.0";
       };
   zone "255.in-addr.arpa" {
       type master;
       file "db.255";
       };
};
[свернуть]

файлы зон
Файл прямой зоны:
$TTL 86400
@              IN    SOA    ns1.diagnostics.kiev.ua. root.diagnostics.kiev.ua. (
        2012111700    ;Serial
        3600        ;Refresh
        1800        ;Retry
        604800        ;Expire
        86400        ;Minimum TTL
)
              IN    NS    ns1.diagnostics.kiev.ua.
              IN    A    10.0.1.104
              IN    MX 10    diagnostics.kiev.ua.

ns1.diagnostics.kiev.ua. IN    A    10.0.1.104
              IN    TXT    "Primary Name Server"
semicond1         IN    CNAME    diagnostics.kiev.ua.
ftp             IN    CNAME    diagnostics.kiev.ua.
www             IN    CNAME    diagnostics.kiev.ua.

master01         IN    A    10.0.1.102
               IN    TXT    "Claster master"
storage01          IN    A    10.0.1.103
             IN    TXT    "Data Storage"
slave01             IN    A    10.0.1.109
slave02             IN    A    10.0.1.110
slave03             IN    A    10.0.1.111
slave04             IN    A    10.0.1.112


node62             IN    A    10.0.1.62



Файл обратной зоны

$TTL 86400
@    IN    SOA    ns1.diagnostics.kiev.ua. root.diagnostics.kiev.ua. (
        2012111700    ;Serial
        3600        ;Refresh
        1800        ;Retry
        604800        ;Expire
        86400        ;Minimum TTL
)
    IN    NS    ns1.diagnostics.kiev.ua.

    IN    PTR    diagnostics.kiev.ua.
    IN    A    255.255.255.0

104    IN    PTR    ns1.diagnostics.kiev.ua.

102    IN    PTR    master01.diagnostics.kiev.ua.
103    IN    PTR    storage01.diagnostics.kiev.ua.
109    IN    PTR    slave01.diagnostics.kiev.ua.
110    IN    PTR    slave02.diagnostics.kiev.ua.
111    IN    PTR    slave03.diagnostics.kiev.ua.
112    IN    PTR    slave04.diagnostics.kiev.ua.


62    IN    PTR    node62.diagnostics.kiev.ua.
[свернуть]

Olej

Цитата: ALARMUS от 04 февраля 2013, 02:30:05Буду очень благодарен, если кто из людей, кто сталкивался с этими службами, кто-то поможет.
DNS сервер

rayanAyar

Честно скажу - приведенные статьи не открывал. Открыл man на своей системе. И что-то в моём мане немного не так, как в приведенных конфигах:
Открыть содержимое (спойлер)

       for ISC BIND, something like this:

       key DHCP_UPDATER {
         algorithm HMAC-MD5.SIG-ALG.REG.INT;
         secret pRP5FapFoJ95JEL06sv4PQ==;
       };

       zone "example.org" {
            type master;
            file "example.org.db";
            allow-update { key DHCP_UPDATER; };
       };

       zone "17.10.10.in-addr.arpa" {
            type master;
            file "10.10.17.db";
            allow-update { key DHCP_UPDATER; };
       };

       You will also have to configure your DHCP server to do updates to these zones.   To do so, you need to add something like  this
       to your dhcpd.conf file:

       key DHCP_UPDATER {
         algorithm HMAC-MD5.SIG-ALG.REG.INT;
         secret pRP5FapFoJ95JEL06sv4PQ==;
       };

       zone EXAMPLE.ORG. {
         primary 127.0.0.1;
         key DHCP_UPDATER;
       }

       zone 17.127.10.in-addr.arpa. {
         primary 127.0.0.1;
         key DHCP_UPDATER;
       }
[свернуть]

Всё хорошо проверили? В статьях именно такой способ описан?

gardarea51

#3
Я подобное делал, но не стал использовать, при такой настройке bind постоянно правит файлы зон сам и руками туда уже ничего не добавишь. И честно говоря уже не помню как именно делал. Но вот мои старые конфиги (файл ключа в системе обычно уже есть, это конфиги для арча, у меня все касательно ddns закомментировано, но если раскомментировать - оно работало).

Конфиг dhcpd.conf:
authoritative;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;

#option ms-classless-static-routes code 249 = array of unsigned integer 8;
#option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

#include "/etc/rndc.key"; #Ключ и зоны для динамического DNS
#zone urfu { primary 127.0.0.1; key rndc-key; }
#zone 2.168.192.in-addr.arpa { primary 127.0.0.1; key rndc-key; }

subnet 192.168.2.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.2.255;
option routers 192.168.2.1; #,192.168.2.1;
option ntp-servers 192.168.2.1;

option domain-name-servers 192.168.2.1; #93.88.181.2,8.8.8.8,93.88.182.2;
option domain-name "urfu";

option netbios-name-servers 192.168.2.10; #Самба-сервер, выступающий в роли WINS-сервера
option netbios-node-type 8;

#ddns-updates on; #Разрешение Dynamic DNS
#ddns-update-style interim;
#ddns-ttl 3600;
        #ddns-domainname "urfu";
        #ddns-rev-domainname "2.168.192.in-addr.arpa";
#ignore client-updates;
#update-static-leases true;

#Клиенты получают маршруты от сервера DHCP (для работы этого надо раскомменитровать определение выше)
#option ms-classless-static-routes  16,172,16,172,16,10,1, 8,10,172,16,10,1, 20,93,88,176,172,16,10,1;

range 192.168.2.30 192.168.2.254;

group top{
host area51 { hardware ethernet 00:1C:C0:5A:21:E1; fixed-address 192.168.2.10; }
        host dhcp11 { hardware ethernet 00:1c:c0:5a:22:4c; fixed-address 192.168.2.11; }
        host dhcp12 { hardware ethernet 00:e0:4c:16:11:29; fixed-address 192.168.2.12; }
        host dhcp13 { hardware ethernet 00:50:ba:53:49:aa; fixed-address 192.168.2.13; }
        host dhcp14 { hardware ethernet 00:1c:c0:5a:33:1f; fixed-address 192.168.2.14; }
        host dhcp15 { hardware ethernet 00:1c:c0:0a:0f:26; fixed-address 192.168.2.15; }
        host dhcp16 { hardware ethernet 00:1c:c0:0a:0f:18; fixed-address 192.168.2.16; }
host dhcp17 { hardware ethernet 70:71:bc:0b:c9:c5; fixed-address 192.168.2.17; }
        host dhcp18 { hardware ethernet 00:19:66:2c:4e:a9; fixed-address 192.168.2.18; }
host dhcp19 { hardware ethernet 00:19:66:2c:4e:a1; fixed-address 192.168.2.19; }
host dhcp20 { hardware ethernet 00:01:6c:a5:bc:85; fixed-address 192.168.2.20; }
host dhcp21 { hardware ethernet 00:1c:c0:0a:0f:4a; fixed-address 192.168.2.21; }
}

default-lease-time 3600;  #36000;
max-lease-time 7200; #43200;
}

Конфиг bind named.conf:
acl "lan" { 192.168.2.0/24; 127.0.0.1; }; #Список доступа lan
#include "/etc/rndc.key"; #Ключ для динамического DNS

#Глобальные опции сервера, умолчально - перенаправление запросов на гуглДНС
options {
        directory "/var/named";
        pid-file "/var/run/named/named.pid";
#dump-file "/var/named/named_dump.db";
        auth-nxdomain yes;
        datasize default;
        server-id none;
        hostname none;
        version none;

        listen-on { lan; };
        listen-on-v6 { none; };
        allow-query { lan; };
        allow-recursion { lan; };
        forwarders { 8.8.8.8; 8.8.4.4; };

        allow-transfer { none; };
        allow-update { none; };
};

zone "localhost" IN {
        type master;
        file "localhost.zone";
        #allow-transfer { any; };
};

zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "127.0.0.zone";
        #allow-transfer { any; };
};

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

#################################################################

#Форвард запросов к зоне .ustu на DNS-сервера УрФУ
zone "ustu" IN {
      type forward;
      forward only;
      forwarders { 93.88.181.2; 93.88.182.2; };
};

#Описание внутренней зоны, пусть будет urfu
zone "urfu" IN {
      type master;
      file "urfu.zone";
      check-names ignore;
      allow-query { lan; };
      #allow-update { key rndc-key; lan; };
      allow-transfer { lan; };
};

#Обратное преобразование для внутренней зоны
zone "2.168.192.in-addr.arpa" IN {
      type master;
      file "192.168.2.zone";
      allow-query { lan; };
      #allow-update { key rndc-key; lan; };
      allow-transfer { lan; };
};

#################################################################

logging {
channel default-log { file "/var/log/named.log"; severity debug; print-severity yes; };
category default { default-log; };

channel "querylog" { file "/var/log/named_query.log"; print-time yes; };
category queries { querylog; };
};


Посмотрите, надеюсь вам это поможет. =)

ALARMUS

gardarea51, спасибо за ответ и пример!!! Реально 5 разных форумов и примеров штормил, проблемы были и с ключом и самими опциями ddns в dhcpd.conf! УРА!)))  :)