DDNS cannot set up "A" record
Dave
dave at lepertheory.net
Wed May 15 10:49:26 UTC 2002
Hello all,
I'm having a very strange problem getting one particular computer (XP
Pro) in my home network to work with ISC DHCPD & BIND DDNS. All other
computers work fine with DDNS (1 XP Pro & 2 XP Home). For some reason I
can't figure out, the A record is never created when a DHCP request is
made. I have the DHCP server configured to do the DDNS updates, and do
not allow any other computer to do them. This works fine with every
computer but one. Here are the log messages that I get for a DHCP
request with the "broken" computer:
May 15 04:51:14 lepertheory named[2579]: client 127.0.0.1#1027: updating
zone '10.IN-ADDR.ARPA/IN': deleting an rrset
May 15 04:51:14 lepertheory named[2579]: client 127.0.0.1#1027: updating
zone '10.IN-ADDR.ARPA/IN': adding an RR
May 15 04:51:14 lepertheory named[2579]: journal file
int.10.IN-ADDR.ARPA.jnl does not exist, creating it
May 15 04:51:14 lepertheory dhcpd: delete IN PTR
254.0.2.10.in-addr.arpa. add 21600 IN PTR 254.0.2.10.in-addr.arpa.
lithium.lepertheory.net: success.
May 15 04:51:14 lepertheory named[2579]: zone 10.IN-ADDR.ARPA/IN:
sending notifies (serial 2002032402)
May 15 04:51:14 lepertheory dhcpd: DHCPREQUEST for 10.2.0.254 from
00:40:f4:06:3a:16 via eth3
May 15 04:51:14 lepertheory dhcpd: DHCPACK on 10.2.0.254 to
00:40:f4:06:3a:16 (lithium) via eth3
May 15 04:51:14 lepertheory dhcpd: DHCPREQUEST for 10.2.0.254 from
00:40:f4:06:3a:16 (lithium) via eth3
May 15 04:51:14 lepertheory dhcpd: DHCPACK on 10.2.0.254 to
00:40:f4:06:3a:16 (lithium) via eth3
********
********
******** The next line is the end of the line for me being able to
narrow down the problem, I don't understand why this is different than
the working computer ********
May 15 04:51:14 lepertheory named[2579]: client 10.2.0.254#3118:
updating zone 'lepertheory.net/IN': update failed: 'RRset exists (value
dependent)' prerequisite not satisfied (NXRRSET)
May 15 04:51:14 lepertheory named[2579]: client 10.2.0.254#3121: update
'lepertheory.net/IN' denied
May 15 04:51:14 lepertheory named[2579]: client 10.2.0.254#3124:
updating zone 'lepertheory.net/IN': update failed: 'RRset exists (value
dependent)' prerequisite not satisfied (NXRRSET)
May 15 04:51:14 lepertheory named[2579]: client 10.2.0.254#3127: update
'lepertheory.net/IN' denied
A computer making a successful request looks like this:
May 15 04:55:38 lepertheory named[2579]: client 127.0.0.1#1027: updating
zone 'lepertheory.net/IN': adding an RR
May 15 04:55:38 lepertheory named[2579]: client 127.0.0.1#1027: updating
zone 'lepertheory.net/IN': adding an RR
May 15 04:55:38 lepertheory named[2579]: journal file
int.lepertheory.net.jnl does not exist, creating it
*******
********
******* I cannot figure out why this is different on the working
computer. I don't even know if whatever command is logged here is being
executed the same for the non-working computer, or at all. *******
May 15 04:55:38 lepertheory dhcpd: if IN A dickheadii.lepertheory.net
domain doesn't exist add 21600 IN A dickheadii.lepertheory.net
10.1.0.254 add 21600 IN TXT dickheadii.lepertheory.net
"317997d60c0dc0b578cd001b80f96d6fa4": success.
May 15 04:55:38 lepertheory named[2579]: client 127.0.0.1#1027: updating
zone '10.IN-ADDR.ARPA/IN': deleting an rrset
May 15 04:55:38 lepertheory named[2579]: client 127.0.0.1#1027: updating
zone '10.IN-ADDR.ARPA/IN': adding an RR
May 15 04:55:38 lepertheory dhcpd: delete IN PTR
254.0.1.10.in-addr.arpa. add 21600 IN PTR 254.0.1.10.in-addr.arpa.
dickheadii.lepertheory.net: success.
May 15 04:55:38 lepertheory named[2579]: zone lepertheory.net/IN:
sending notifies (serial 2002032402)
May 15 04:55:38 lepertheory named[2579]: zone 10.IN-ADDR.ARPA/IN:
sending notifies (serial 2002032403)
May 15 04:55:38 lepertheory dhcpd: DHCPREQUEST for 10.1.0.254 from
00:90:27:b6:91:30 via eth3
May 15 04:55:39 lepertheory dhcpd: DHCPACK on 10.1.0.254 to
00:90:27:b6:91:30 (dickheadii) via eth3
May 15 04:55:39 lepertheory dhcpd: DHCPREQUEST for 10.1.0.254 from
00:90:27:b6:91:30 (dickheadii) via eth3
May 15 04:55:39 lepertheory dhcpd: DHCPACK on 10.1.0.254 to
00:90:27:b6:91:30 (dickheadii) via eth3
I'm not sure what causes the doubling of some of the entries, probably a
problem for another day and not one I'm real worried about now. Anyway,
as far as I can tell the two machines are configured exactly the same
way, as far as anything that would affect the DHCP request. Here's the
one that doesn't work (from the Computer Name tab of System.cpl in XP):
Full computer name: lithium.
Workgroup: DANK
Not sure if it has any effect (it hasn't that I've been able to find,
and I've looked high and low) that the computer name is lithium. instead
of lithium.lepertheory.net., but as you can see, the example computer
that works fine is configured exactly the same, as are the rest of the
computers in the house:
Full computer name: dickheadii.
Workgroup: DANK
And, of course, here is my dhcpd.conf:
option domain-name "lepertheory.net";
option routers 10.0.0.1;
option domain-name-servers 10.0.0.1;
ddns-update-style interim;
key DHCP_UPDATER {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret "***CENSORED: It's the same as in named.conf***";
};
zone lepertheory.net. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
zone 10.in-addr.arpa. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
class "ip2" {
match if (option host-name = "dickheadii");
}
class "ip3" {
match if (option host-name = "lithium");
}
subnet 10.0.0.0 netmask 255.0.0.0 {
pool {
range 10.0.0.11 10.0.0.254;
deny members of "ip2";
deny members of "ip3";
}
pool {
range 10.1.0.11 10.1.0.254;
allow members of "ip2";
deny members of "ip3";
}
pool {
range 10.2.0.11 10.2.0.254;
deny members of "ip2";
allow members of "ip3";
}
}
host albania.lepertheory.net {
hardware ethernet 00:50:BF:3A:2C:5C;
fixed-address 10.0.0.2;
}
host prometheus.lepertheory.net {
hardware ethernet 00:E0:18:26:4A:69;
fixed-address 10.0.0.3;
}
The working computer in this config file is set up almost exactly the
same as the non-working computer, the only difference being the IP pool
that is assigned to each. I use it to specify different external IP's
(It's a gaming household).
Here is my named.conf:
options {
directory "/etc/namedb";
forwarders {
24.93.1.119;
24.93.1.250;
24.93.1.120;
24.93.1.249;
24.92.226.174;
};
};
key "rndc-key" {
algorithm hmac-md5;
secret "***CENSORED***";
};
key "DHCP_UPDATER" {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret "***CENSORED: It's the same as in dhcpd.conf";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
view "internal" {
match-clients { 10.0.0.0/8; 127.0.0.1; };
zone "lowroad.dhs.org" {
type master;
file "int.lowroad.dhs.org";
allow-update { key DHCP_UPDATER; };
};
zone "lepertheory.net" {
type master;
file "int.lepertheory.net";
allow-update { key DHCP_UPDATER; };
};
zone "10.IN-ADDR.ARPA" {
type master;
file "int.10.IN-ADDR.ARPA";
allow-update { key DHCP_UPDATER; };
};
zone "15.93.24.IN-ADDR.ARPA" {
type master;
file "ext.15.93.24.IN-ADDR.ARPA";
};
zone "47.24.24.IN-ADDR.ARPA" {
type master;
file "ext.47.24.24.IN-ADDR.ARPA";
};
zone "219.95.24.IN-ADDR.ARPA" {
type master;
file "ext.219.95.24.IN-ADDR.ARPA";
};
zone "0.0.127.IN-ADDR.ARPA" {
type master;
file "int.0.0.127.IN-ADDR.ARPA";
};
};
view "external" {
match-clients { any; };
zone "lowroad.dhs.org" {
type master;
file "ext.lowroad.dhs.org";
};
zone "lepertheory.net" {
type master;
file "ext.lepertheory.net";
};
zone "15.93.24.IN-ADDR.ARPA" {
type master;
file "ext.15.93.24.IN-ADDR.ARPA";
};
zone "47.24.24.IN-ADDR.ARPA" {
type master;
file "ext.47.24.24.IN-ADDR.ARPA";
};
zone "219.95.24.IN-ADDR.ARPA" {
type master;
file "ext.219.95.24.IN-ADDR.ARPA";
};
};
And here's my zone files for the offending zone:
int.lepertheory.net:
$ORIGIN .
$TTL 86400 ; 1 day
lepertheory.net IN SOA lepertheory.net. root.lepertheory.net. (
2002032402 ; serial
3600 ; refresh (1 hour)
300 ; retry (5 minutes)
3600000 ; expire (5 weeks 6 days 16
hours)
3600 ; minimum (1 hour)
)
NS ns1.lepertheory.net.
NS ns2.lepertheory.net.
NS ns3.lepertheory.net.
A 10.0.0.1
MX 10 smtp.lepertheory.net.
$ORIGIN lepertheory.net.
albania A 10.0.0.2
$TTL 21600 ; 6 hours
dickheadii A 10.1.0.254
TXT "317997d60c0dc0b578cd001b80f96d6fa4"
$TTL 86400 ; 1 day
imap A 10.0.0.2
irc A 10.0.0.2
ns1 A 10.0.0.1
ns2 A 10.0.0.1
ns3 A 10.0.0.1
pop3 A 10.0.0.2
prometheus A 10.0.0.3
smtp A 10.0.0.2
ssh A 10.0.0.2
www A 10.0.0.2
int.10.IN-ADDR.ARPA:
$ORIGIN .
$TTL 86400 ; 1 day
10.IN-ADDR.ARPA IN SOA lepertheory.net. root.lepertheory.net. (
2002032403 ; serial
3600 ; refresh (1 hour)
300 ; retry (5 minutes)
3600000 ; expire (5 weeks 6 days 16
hours)
3600 ; minimum (1 hour)
)
NS ns1.lepertheory.net.
NS ns2.lepertheory.net.
NS ns3.lepertheory.net.
MX 10 smtp.lepertheory.net.
$ORIGIN 10.IN-ADDR.ARPA.
$ORIGIN 0.0.10.IN-ADDR.ARPA.
1 PTR lepertheory.net.
2 PTR albania.lepertheory.net.
3 PTR prometheus.lepertheory.net.
$ORIGIN 10.IN-ADDR.ARPA.
$TTL 21600 ; 6 hours
254.0.1 PTR dickheadii.lepertheory.net.
254.0.2 PTR lithium.lepertheory.net.
As you can see, the PTR record gets set up just fine, but the A record
is nowhere to be found. I checked to see if it somehow ended up in an
external (ext.) zone file, or in a lowroad.dhs.org zone file, but it
wasn't there.
If you've managed to keep reading this far and have any idea what is
going on here, please let me know, any tips at all would be appreciated.
I've checked everything I can think of short of ... ugh, sorry for
posting this while I can still think of a place to look, but it's late
and I've spent all this time writing this post, if the problem sticks
out for you please let me know... I'll be doing a tcpdump of the DHCP
conversation (that's what I just thought of and I don't know why I
didn't think to do it earlier, prolly because it's almost 7:00 AM and
I'm still up) when I sit down and work on this tomorrow (today), maybe
that will shed some more light. If you need any more info let me know.
Thank you.
- Dave
More information about the bind-users
mailing list