Как сделать DDNS+DHCP
Добавлено: 2007-09-24 14:42:09
Добрый день.
Есть сервер FreeBSD 6.2 p7 с 4 интерфейсами ( 1 в интернет, 3 в локалку с разными подсетями ) установлены DNS( Bind 9.3.3 ) и DHCP ( isc-dhcp3-server-3.0.5_2 )
Необходимо сделать так чтобы записи в зоне dns обновлялись автоматиески в зависимости от подсети клиента.
Мои настройки:
DNS
DHCP
вот какие логи выдает dhcp
Named в логах(/var/log/messages) ни чего странного не пишет
а в файлах которые указаны в named.conf вообще ни чего не пишет.
Вопрос как заставить эту схему правильно работать, и вообще возможно ли это?
Как заставить named писать логи в файлы которые указаны в named.conf?
Есть сервер 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
Код: Выделить всё
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";
Код: Выделить всё
#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;
}
Код: Выделить всё
...
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.conf вообще ни чего не пишет.
Вопрос как заставить эту схему правильно работать, и вообще возможно ли это?
Как заставить named писать логи в файлы которые указаны в named.conf?