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