Страница 1 из 1

Как сделать DDNS+DHCP

Добавлено: 2007-09-24 14:42:09
sidor-r
Добрый день.
Есть сервер FreeBSD 6.2 p7 с 4 интерфейсами ( 1 в интернет, 3 в локалку с разными подсетями ) установлены DNS( Bind 9.3.3 ) и DHCP ( isc-dhcp3-server-3.0.5_2 )
Необходимо сделать так чтобы записи в зоне dns обновлялись автоматиески в зависимости от подсети клиента.
Мои настройки:

Код: Выделить всё

# ifconfig
nve0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 172.16.0.12 netmask 0xffffff00 broadcast 172.16.0.255
        ether 00:16:e6:d7:de:6f
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet 192.168.1.99 netmask 0xffffff00 broadcast 192.168.1.255
        ether 00:e0:4c:88:05:b9
        media: Ethernet autoselect (none)
        status: active
rl1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        ether 00:e0:4c:89:06:58
        media: Ethernet autoselect (10baseT/UTP)
        status: no carrier
rl2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet 192.168.2.99 netmask 0xffffff00 broadcast 192.168.2.255
        ether 00:e0:4c:87:03:f6
        media: Ethernet autoselect (none)
        status:active
rl3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet 192.168.3.99 netmask 0xffffff00 broadcast 192.168.3.255
        ether 00:e0:4c:56:fc:b7
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
DNS

Код: Выделить всё

options {
        directory       "/etc/namedb";
        pid-file        "/var/run/named/pid";
        version         "Windows 98SE";
        listen-on       {
                        127.0.0.1;
                        192.168.1.99;
                        192.168.2.99;
                        192.168.3.99;
        };
        forwarders      {
                172.16.0.10;
        };
};

key DHCP_UPDATER {
        algorithm hmac-md5;
        secret "xsWj02qxE7aCRb87t6+oYA==";
};

key DHCP_UPDATER_2 {
        algorithm hmac-md5;
        secret "xsWj02qxE7aCRb87t6+oYA==";
};

key DHCP_UPDATER_3 {
        algorithm hmac-md5;
        secret "xsWj02qxE7aCRb87t6+oYA==";
};


controls {
        inet 127.0.0.1 allow
        {
         localhost;} keys {"rndc-key";};
};

acl "internals" {
                192.168.1.0/24; 127.0.0.1/32;
};

acl "internals_2" {
                192.168.2.0/24; 127.0.0.1/32;
};

acl "internals_3" {
                192.168.3.0/24; 127.0.0.1/32;
};
view "internal" {

        match-clients {
                "internals";
                };

        recursion yes;

zone "spektor.local" {
        type master;
        file "dynamic/spektor.local";
        allow-update
                {
                 key DHCP_UPDATER;
                };
        };

zone "1.168.192.in-addr.arpa" {
        type master;
        file "dynamic/1.168.192.in-addr.arpa";
        allow-update
                {
                key DHCP_UPDATER;
                };
        };

zone "0.0.127.IN-ADDR.ARPA" {
        type master;
        file "master/localhost.rev";
        };

};
view "internal_2" {

        match-clients {
                "internals_2";
                };

        recursion yes;

zone "spektor.local" {
        type master;
        file "dynamic/2_spektor.local";
        allow-update
                {
                 key DHCP_UPDATER_2;
                };
        };

zone "2.168.192.in-addr.arpa" {
        type master;
        file "dynamic/2.168.192.in-addr.arpa";
        allow-update
                {
                 key DHCP_UPDATER_2;
                };
        };

zone "0.0.127.IN-ADDR.ARPA" {
        type master;
        file "master/localhost.rev";
        };
};

view "internal_3" {

        match-clients {
                "internals_3";
                };

        recursion yes;

zone "spektor.local" {
        type master;
        file "dynamic/3_spektor.local";
        allow-update
                {
                 key DHCP_UPDATER_3;
                };
        };

zone "3.168.192.in-addr.arpa" {
        type master;
        file "dynamic/3.168.192.in-addr.arpa";
        allow-update
                {
                 key DHCP_UPDATER_3;
                };
        };

zone "0.0.127.IN-ADDR.ARPA" {
        type master;
        file "master/localhost.rev";
        };

};

logging {
        channel update_debug {
            file "/var/log/named-update.log";
            severity  debug 3;
            print-category yes;
            print-severity yes;
            print-time     yes;
        };
        channel security_info    {
            file "/var/log/named-auth.log";
            severity  info;
            print-category yes;
            print-severity yes;
            print-time     yes;
        };
      category update { update_debug; };
      category security { security_info; };
};

include "/etc/namedb/rndc.key";
DHCP

Код: Выделить всё

#cat dhcpd.conf
option domain-name "spektor.local";
option domain-name-servers  ns.spektor.local;
default-lease-time 720000;
max-lease-time 720000;
min-lease-time 720000;
authoritative;
deny duplicates;
allow client-updates;
update-optimization on;
update-static-leases on;
ddns-updates on;
ddns-update-style interim;
ddns-ttl 60;

key DHCP_UPDATER {
        algorithm hmac-md5;
        secret "xsWj02qxE7aCRb87t6+oYA==";
};

key DHCP_UPDATER_2 {
        algorithm hmac-md5;
        secret "xsWj02qxE7aCRb87t6+oYA==";
};

key DHCP_UPDATER_3 {
        algorithm hmac-md5;
        secret "xsWj02qxE7aCRb87t6+oYA==";
};

zone spektor.local.{
    primary 127.0.0.1;
    key DHCP_UPDATER;
}

zone 1.168.192.in-addr.arpa.{
    primary 127.0.0.1;
    key DHCP_UPDATER;
}

zone 2_spektor.local.{
    primary 127.0.0.1;
    key DHCP_UPDATER_2;
}

zone 2.168.192.in-addr.arpa.{
    primary 127.0.0.1;
    key DHCP_UPDATER_2;
}
zone 3_spektor.local.{
    primary 127.0.0.1;
    key DHCP_UPDATER_3;
}

zone 3.168.192.in-addr.arpa.{
    primary 127.0.0.1;
    key DHCP_UPDATER_3;
}


log-facility local7;

subnet 192.168.1.0 netmask 255.255.255.0 {
      range  192.168.1.0 192.168.1.50;
      option routers 192.168.1.99;
    option domain-name-servers 192.168.1.99;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.1.255;
    option ntp-servers 192.168.1.99;
}

subnet 192.168.2.0 netmask 255.255.255.0 {
      range  192.168.2.0 192.168.2.50;
      option routers 192.168.2.99;
    option domain-name-servers 192.168.2.99;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.2.255;
    option ntp-servers 192.168.2.99;
}

subnet 192.168.3.0 netmask 255.255.255.0 {
      range  192.168.3.0 192.168.3.50;
      option routers 192.168.3.99;
    option domain-name-servers 192.168.3.99;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.3.255;
    option ntp-servers 192.168.3.99;
}
вот какие логи выдает dhcp

Код: Выделить всё


...
Sep 23 17:42:32 bsd-1 dhcpd: DHCPDISCOVER from 00:0c:29:9c:35:39 via rl2
Sep 23 17:42:33 bsd-1 dhcpd: DHCPOFFER on 192.168.2.49 to 00:0c:29:9c:35:39 (test-1) via rl2
Sep 23 17:42:33 bsd-1 dhcpd: Added new forward map from test-1.spektor.local to 192.168.2.49
Sep 23 17:42:36 bsd-1 dhcpd: unable to add reverse map from 49.2.168.192.in-addr.arpa. to test-1.spektor.local: timed out
Sep 23 17:42:36 bsd-1 dhcpd: DHCPREQUEST for 192.168.2.49 (192.168.2.99) from 00:0c:29:9c:35:39 (test-1) via rl2
Sep 23 17:42:36 bsd-1 dhcpd: DHCPACK on 192.168.2.49 to 00:0c:29:9c:35:39 (test-1) via rl2
Sep 23 17:42:38 bsd-1 dhcpd: DHCPREQUEST for 192.168.2.49 from 00:0c:29:9c:35:39 (test-1) via rl2
Sep 23 17:42:38 bsd-1 dhcpd: DHCPACK on 192.168.2.49 to 00:0c:29:9c:35:39 (test-1) via rl2
...

Sep 23 23:00:31 bsd-1 dhcpd: DHCPDISCOVER from 00:c0:26:aa:7f:44 via rl3
Sep 23 23:00:32 bsd-1 dhcpd: DHCPOFFER on 192.168.3.49 to 00:c0:26:aa:7f:44 (comp) via rl3
Sep 23 23:00:32 bsd-1 dhcpd: Forward map from comp.spektor.local to 192.168.3.49 FAILED: Has an A record but no DHCID, not mine.
Sep 23 23:00:32 bsd-1 dhcpd: DHCPREQUEST for 192.168.3.49 (192.168.3.99) from 00:c0:26:aa:7f:44 (comp) via rl3
Sep 23 23:00:32 bsd-1 dhcpd: DHCPACK on 192.168.3.49 to 00:c0:26:aa:7f:44 (comp) via rl3
...

Named в логах(/var/log/messages) ни чего странного не пишет
а в файлах которые указаны в named.conf вообще ни чего не пишет.
Вопрос как заставить эту схему правильно работать, и вообще возможно ли это?
Как заставить named писать логи в файлы которые указаны в named.conf?

Re: Как сделать DDNS+DHCP

Добавлено: 2007-09-25 0:57:57
Alex Keda
какой-то идентификатор хочет...
а чё за машина клиентская? OC?

Re: Как сделать DDNS+DHCP

Добавлено: 2007-09-25 7:41:41
sidor-r
lissyara писал(а):какой-то идентификатор хочет...
а чё за машина клиентская? OC?
Windows XP sp2

Re: Как сделать DDNS+DHCP

Добавлено: 2007-09-25 17:58:26
Alex Keda
попробуй другую ОС - FreeBSD например - 6.2. прекрасно в DNS регистрируется.
а вот что в M$ всё криво - это уже неоднократно убеждались.