DHCP 4.1.1 performing DDNSv6 updates with wrong hostname. Why?
Brett Lee
brettlee at yahoo.com
Mon Jan 25 18:12:27 UTC 2010
Hello - Starting a new thread from "IPv6 DDNS using dhcp-4.1.0p1" as this seems like a different issue. In this case, it seems like the DHCP service was updating BIND with the correct IPv6 address but providing BIND the hostname of the DHCP/DNS server. This is probably a config issue on my part, but am at a loss to why.
Current config starts with:
authoritative;
server-name "2bad:0:564:1::1";
default-lease-time 1800; # 30 min
max-lease-time 3600; # 60 min
min-lease-time 300; # 5 min
option domain-name "ipv6.apevt.local";
option dhcp6.domain-search "ipv6.apevt.local,apevt.local";
option dhcp6.name-servers 2bad:0:564:1:203:baff:fee8:36f2, 2bad:0:564:2:203:baff:fee8:36f3, 2bad:0:564:3:203:baff:fee8:36f4;
ddns-hostname solaris10u4sparc;
ddns-domainname "ipv6.apevt.local";
ddns-rev-domainname "ip6.arpa";
ddns-update-style interim;
#ddns-updates on; # on by default
#update-static-leases off; # unused, as will not purge record from DNS
do-forward-updates on;
#ignore client-updates; # ignore|deny|allow ?
Here is the forward zone. You can see that 2bad:0:564:2::7f was added for the host solaris10u4sparc.
[root at solaris10u4sparc named]# cat zone.ipv6.apevt.local
$ORIGIN .
$TTL 86400 ; 1 day
ipv6.apevt.local IN SOA solaris10u4sparc.ipv6.apevt.local. root.solaris10u4sparc.ipv6.apevt.local. (
2010012416 ; serial
10800 ; refresh (3 hours)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS solaris10u4sparc.ipv6.apevt.local.
$ORIGIN ipv6.apevt.local.
$TTL 3600 ; 1 hour
chartreux A 129.147.145.143
AAAA 2bad:0:564:2::145:143
lstc1vm A 10.80.63.50
AAAA 2bad:0:564:2::63:50
lstc2vm A 10.80.63.52
AAAA 2bad:0:564:2::63:52
lstclmvs A 10.80.63.112
AAAA 2bad:0:564:2::63:112
lstcymvs A 10.80.63.113
AAAA 2bad:0:564:2::63:113
ophir A 129.147.145.144
AAAA 2bad:0:564:2::145:144
solaris10u4sparc A 192.168.1.23
TXT "02b794dee24b731b6c7a72ce8a57bf1a43"
AAAA 2bad:0:564:1::1
AAAA 2bad:0:564:2::7f
[root at solaris10u4sparc named]#
However this address does not exist on solaris10u4sparc but rather exists on chartreux.
[root at solaris10u4sparc named]# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
bge1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.1.23 netmask ffffff00 broadcast 192.168.1.255
ether 0:3:ba:e8:36:f2
bge2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
inet 10.80.63.216 netmask ffffff00 broadcast 10.80.63.255
ether 0:3:ba:e8:36:f3
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
inet6 ::1/128
bge1: flags=2100841<UP,RUNNING,MULTICAST,ROUTER,IPv6> mtu 1500 index 2
inet6 fe80::203:baff:fee8:36f2/10
ether 0:3:ba:e8:36:f2
bge1:1: flags=2100841<UP,RUNNING,MULTICAST,ROUTER,IPv6> mtu 1500 index 2
inet6 2bad:0:564:1::1/64
bge1:2: flags=2180841<UP,RUNNING,MULTICAST,ADDRCONF,ROUTER,IPv6> mtu 1500 index 2
inet6 2bad:0:564:1:203:baff:fee8:36f2/64
bge1:3: flags=2100840<RUNNING,MULTICAST,ROUTER,IPv6> mtu 1500 index 2
inet6 2bad:0:564:1::1/64
bge2: flags=2100841<UP,RUNNING,MULTICAST,ROUTER,IPv6> mtu 1500 index 3
inet6 fe80::203:baff:fee8:36f3/10
ether 0:3:ba:e8:36:f3
bge2:1: flags=2180841<UP,RUNNING,MULTICAST,ADDRCONF,ROUTER,IPv6> mtu 1500 index 3
inet6 2bad:0:564:2:203:baff:fee8:36f3/64
bge3: flags=2100841<UP,RUNNING,MULTICAST,ROUTER,IPv6> mtu 1500 index 4
inet6 fe80::203:baff:fee8:36f4/10
ether 0:3:ba:e8:36:f4
bge3:1: flags=2180841<UP,RUNNING,MULTICAST,ADDRCONF,ROUTER,IPv6> mtu 1500 index 4
inet6 2bad:0:564:3:203:baff:fee8:36f4/64
[root at solaris10u4sparc named]#
[root at chartreux /]# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.3.143 netmask ffffff00 broadcast 192.168.3.255
ether 0:1b:21:36:a5:34
nge0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
inet 129.147.145.143 netmask fffffe00 broadcast 129.147.145.255
ether 0:e0:81:5e:81:c6
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
inet6 ::1/128
e1000g2: flags=2004841<UP,RUNNING,MULTICAST,DHCP,IPv6> mtu 1500 index 2
inet6 fe80::21b:21ff:fe36:a534/10
ether 0:1b:21:36:a5:34
e1000g2:1: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
inet6 2003::145:143/64
e1000g2:2: flags=2004841<UP,RUNNING,MULTICAST,DHCP,IPv6> mtu 1500 index 2
inet6 2bad:0:564:2::7f/64
e1000g2:16: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2
inet6 2bad:0:564:2:21b:21ff:fe36:a534/64
e1000g2:17: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
inet6 2bad:0:564:2::145:143/64
e1000g2:18: flags=20c0841<UP,RUNNING,MULTICAST,DEPRECATED,ADDRCONF,IPv6> mtu 1500 index 2
inet6 2bad:0:564:1:21b:21ff:fe36:a534/64
e1000g2:19: flags=20c0841<UP,RUNNING,MULTICAST,DEPRECATED,ADDRCONF,IPv6> mtu 1500 index 2
inet6 2bad:0:564:3:21b:21ff:fe36:a534/64
[root at chartreux /]#
And it is also in the reverse zone incorrectly.
[root at solaris10u4sparc named]# nslookup 2bad:0:564:2::7f
Server: 192.168.1.23
Address: 192.168.1.23#53
f.7.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.4.6.5.0.0.0.0.0.d.a.b.2.ip6.arpa name = solaris10u4sparc.ipv6.apevt.local.
[root at solaris10u4sparc named]#
The BIND update log for the errant update follows:
24-Jan-2010 19:26:32.066 update: debug 8: client 192.168.1.23#33305: updating zone 'ipv6.apevt.local/IN': prerequisites are OK
24-Jan-2010 19:26:32.066 update: debug 8: client 192.168.1.23#33305: updating zone 'ipv6.apevt.local/IN': update section prescan OK
24-Jan-2010 19:26:32.066 update: info: client 192.168.1.23#33305: updating zone 'ipv6.apevt.local/IN': adding an RR at 'solaris10u4sparc.ipv6.apevt.local' AAAA
24-Jan-2010 19:26:32.066 update: info: client 192.168.1.23#33305: updating zone 'ipv6.apevt.local/IN': adding an RR at 'solaris10u4sparc.ipv6.apevt.local' TXT
24-Jan-2010 19:26:32.067 update: debug 8: client 192.168.1.23#33305: updating zone 'ipv6.apevt.local/IN': writing journal zone.ipv6.apevt.local.jnl
24-Jan-2010 19:26:32.096 update: debug 8: client 192.168.1.23#33305: updating zone 'ipv6.apevt.local/IN': committing update transaction
24-Jan-2010 19:26:32.099 update: debug 8: client 192.168.1.23#33306: updating zone '2.0.0.0.4.6.5.0.0.0.0.0.d.a.b.2.ip6.arpa/IN': prerequisites are OK
24-Jan-2010 19:26:32.099 update: debug 8: client 192.168.1.23#33306: updating zone '2.0.0.0.4.6.5.0.0.0.0.0.d.a.b.2.ip6.arpa/IN': update section prescan OK
24-Jan-2010 19:26:32.099 update: info: client 192.168.1.23#33306: updating zone '2.0.0.0.4.6.5.0.0.0.0.0.d.a.b.2.ip6.arpa/IN': deleting rrset at 'f.7.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.4.6.5.0.0.0.0.0.d.a.b.2.ip6.arpa' PTR
24-Jan-2010 19:26:32.099 update: info: client 192.168.1.23#33306: updating zone '2.0.0.0.4.6.5.0.0.0.0.0.d.a.b.2.ip6.arpa/IN': adding an RR at 'f.7.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.4.6.5.0.0.0.0.0.d.a.b.2.ip6.arpa' PTR
24-Jan-2010 19:26:32.099 update: debug 8: client 192.168.1.23#33306: updating zone '2.0.0.0.4.6.5.0.0.0.0.0.d.a.b.2.ip6.arpa/IN': writing journal rev.2bad.0.564.2.jnl
24-Jan-2010 19:26:32.114 update: debug 8: client 192.168.1.23#33306: updating zone '2.0.0.0.4.6.5.0.0.0.0.0.d.a.b.2.ip6.arpa/IN': committing update transaction
When *subsequent* DHCPv6 clients obtain an address, DDNS seems to fail with the "Has an address record but no DHCID, not mine." error.
Jan 25 09:11:22 solaris10u4sparc dhcpd: [ID 702911 local6.info] Confirm message from fe80::203:baff:feea:8f56 port 546, transaction ID 0xB93284
Jan 25 09:11:22 solaris10u4sparc dhcpd: [ID 702911 local6.info] Sending Reply to fe80::203:baff:feea:8f56 port 546
Jan 25 09:11:23 solaris10u4sparc dhcpd: [ID 702911 local6.info] Solicit message from fe80::203:baff:feea:8f56 port 546, transaction ID 0xD740EA
Jan 25 09:11:23 solaris10u4sparc dhcpd: [ID 702911 local6.debug] Picking pool address 2bad:0:564:1::4b
Jan 25 09:11:23 solaris10u4sparc dhcpd: [ID 702911 local6.info] Sending Advertise to fe80::203:baff:feea:8f56 port 546
Jan 25 09:11:24 solaris10u4sparc dhcpd: [ID 702911 local6.info] Request message from fe80::203:baff:feea:8f56 port 546, transaction ID 0x71353B
Jan 25 09:11:24 solaris10u4sparc dhcpd: [ID 702911 local6.debug] Picking pool address 2bad:0:564:1::4b
Jan 25 09:11:24 solaris10u4sparc dhcpd: [ID 702911 local6.error] data: leased_lease: not available
Jan 25 09:11:24 solaris10u4sparc dhcpd: [ID 702911 local6.error] Forward map from solaris10u4sparc.ipv6.apevt.local to 2bad:0:564:1::4b FAILED: Has an address record but no DHCID, not mine.
Jan 25 09:11:24 solaris10u4sparc dhcpd: [ID 702911 local6.info] Sending Reply to fe80::203:baff:feea:8f56 port 546
Jan 25 09:11:24 solaris10u4sparc dhcpd: [ID 702911 local6.info] Renew message from fe80::21b:21ff:fe36:a534 port 546, transaction ID 0x66F727
While the BIND update log reports: (subsequent DHCP clients again)
25-Jan-2010 09:11:24.192 update: info: client 192.168.1.23#34084: updating zone 'ipv6.apevt.local/IN': update unsuccessful: solaris10u4sparc.ipv6.apevt.local: 'name not in use' prerequisite not satisfied (YXDOMAIN)
25-Jan-2010 09:11:24.192 update: debug 8: client 192.168.1.23#34084: updating zone 'ipv6.apevt.local/IN': rolling back
25-Jan-2010 09:11:24.193 update: info: client 192.168.1.23#34085: updating zone 'ipv6.apevt.local/IN': update unsuccessful: solaris10u4sparc.ipv6.apevt.local/TXT: 'RRset exists (value dependent)' prerequisite not satisfied (NXRRSET)
25-Jan-2010 09:11:24.193 update: debug 8: client 192.168.1.23#34085: updating zone 'ipv6.apevt.local/IN': rolling back
And no subsequent DDNS updates occur. As expected, the host that actually has 2bad:0:564:1::4b cannot be resolved via DNS.
[root at solaris10u4sparc named]# ping -A inet6 2bad:0:564:1::4b
2bad:0:564:1::4b is alive
[root at solaris10u4sparc named]# ping -A inet6 solaris10u8sparc
ping: unknown host solaris10u8sparc
[root at solaris10u4sparc named]#
[root at solaris10u8sparc ~]# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
bge1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.1.20 netmask ffffff00 broadcast 192.168.1.255
ether 0:3:ba:ea:8f:56
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
inet6 ::1/128
bge1: flags=2004841<UP,RUNNING,MULTICAST,DHCP,IPv6> mtu 1500 index 2
inet6 fe80::203:baff:feea:8f56/10
ether 0:3:ba:ea:8f:56
bge1:1: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2
inet6 2bad:0:564:1:203:baff:feea:8f56/64
bge1:2: flags=2004841<UP,RUNNING,MULTICAST,DHCP,IPv6> mtu 1500 index 2
inet6 2bad:0:564:1::4b/128
[root at solaris10u8sparc ~]#
Seem like a config issue - or a bug? Thanks! -Brett
More information about the dhcp-users
mailing list