Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Jan 2010 15:02:06 -0700
From:      Brett Lee <Brett.Lee@Sun.COM>
To:        freebsd-net@freebsd.org
Subject:   Re: DHCP6 client
Message-ID:  <4B5388DE.5030603@Sun.COM>
In-Reply-To: <4B50F719.5040402@Sun.COM>
References:  <4B50F719.5040402@Sun.COM>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.

--Boundary_(ID_7iy+6UmvzQaL/0dLKrrdUQ)
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT

Brett Lee wrote:
> Hello -
> 
> Am using FreeBSD 6.3 as a dhcp6 client, trying to get DDNSv6 operational 
> in this environment.  When I execute 'dhcp6c -d lnc0' from the command 
> line, the following messages are logged on the (ISC 4.1.0p1) DHCP6 server:
> 
> Solicit message from fe80::20c:29ff:fef3:a5de port 546, transaction ID 
> 0xB3D95D
> Unable to pick client prefix: no IPv6 prefix pools on this shared network
> Sending Advertise to fe80::20c:29ff:fef3:a5de port 546
> 
> Am confused by the message above, in particular the "prefix pools", as 
> this host obtains the "global address" prefix and configures both link 
> local and global addresses via SLAAC.  Surely this can't be the same 
> prefix.
> 
> Equally confusing is that the Solaris hosts on this LAN have no problem 
> getting v6 addresses via this DHCP server, and there seems to be plenty 
> of free leases available.
> 
> Does FreeBSD 6.3 DHCP6 client need a "prefix", or a "pool" of them to be 
>  delivered by the server?  Obviously I'm a little bit confused :) and am 
> thinking the problem is with the dhcpd.conf file.  Hoping for some 
> clarification or direction.  Configs are below.
> 
> Thanks for your guidance/suggestions!  -Brett
> 
> Client:
> 
> [root@freebsdvm ~]# ifconfig -a
> lnc0: flags=108843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,NEEDSGIANT> 
> mtu 1500
>         inet6 fe80::20c:29ff:fef3:a5de%lnc0 prefixlen 64 scopeid 0x1
>         inet 192.168.1.94 netmask 0xffffff00 broadcast 192.168.1.255
>         inet6 2bad:0:564:1:20c:29ff:fef3:a5de prefixlen 64 autoconf
>         ether 00:0c:29:f3:a5:de
> plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> mtu 1500
> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
>         inet6 ::1 prefixlen 128
>         inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
>         inet 127.0.0.1 netmask 0xff000000
> [root@freebsdvm ~]# grep -v '#' /usr/local/etc/dhcp6c.conf
> interface lnc0 {
>         send ia-pd 0;
> };
> id-assoc pd {
>         prefix-interface lnc0 {
>                 sla-id 1;
>         };
> };
> [root@freebsdvm ~]#
> 
> Server:
> 
> [root@solaris10u4sparc named]# grep iaaddr /var/db/dhcpd6.leases | sort 
> | uniq
>   iaaddr 2bad:0:564:1::12 {
>   iaaddr 2bad:0:564:1::18 {
>   iaaddr 2bad:0:564:1::19 {
>   iaaddr 2bad:0:564:2::18 {
>   iaaddr 2bad:0:564:2::19 {
>   iaaddr 2bad:0:564:3::18 {
> [root@solaris10u4sparc named]# grep -v '#' /etc/dhcpd.conf | egrep 
> '[A-Z]|[a-z]|[0-9]'
> authoritative;
> include "/etc/rndc.key";
> ddns-update-style       interim;
> ddns-domainname         "ipv6.apevt.local";
> ddns-rev-domainname     "in-addr.arpa";
> ignore                  client-updates;
> zone ipv6.apevt.local. {
>         primary 192.168.1.23;
>         key "rndc-key";
> log-facility local6;
> min-lease-time 60;
> default-lease-time 3600;
> max-lease-time 43200;
> option domain-name "ipv6.apevt.local";
> option domain-name-servers 192.168.1.254, 192.168.1.23;
> option dhcp.domain-search "ipv6.apevt.local, 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;
> subnet6 2bad:0000:0564:0001::/64 {
>    allow unknown-clients;
>    min-lease-time 60;
>    default-lease-time 60;
>    max-lease-time 60;
>    range6 2bad:0000:0564:0001::10 2bad:0000:0564:0001::19;
> subnet6 2bad:0000:0564:0002::/64 {
>    allow unknown-clients;
>    min-lease-time 60;
>    default-lease-time 60;
>    max-lease-time 60;
>    range6 2bad:0000:0564:0002::10 2bad:0000:0564:0002::19;
> subnet6  2bad:0000:0564:0003::/64 {
>    allow unknown-clients;
>    min-lease-time 60;
>    default-lease-time 60;
>    max-lease-time 60;
>    range6 2bad:0000:0564:0003::10 2bad:0000:0564:0003::19;
> [root@solaris10u4sparc named]#
> 

Seems I misconfigured dhcp6c.conf to request a pool of addresses for 
delivery downstream instead of a single stateful address.  Now using the 
current FreeBSD, 8.0-RELEASE, with dhcp6c.conf setup as seen below:

interface le0 {
	send ia-na 0;		# request stateful address
	request domain-name;
	request domain-name-servers;
}
id-assoc na 0 {
}

It works.  On to DDNSv6.  -Brett

--Boundary_(ID_7iy+6UmvzQaL/0dLKrrdUQ)--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B5388DE.5030603>