DHCP6 client
Brett Lee
Brett.Lee at Sun.COM
Sun Jan 17 22:02:13 UTC 2010
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 at 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 at freebsdvm ~]# grep -v '#' /usr/local/etc/dhcp6c.conf
> interface lnc0 {
> send ia-pd 0;
> };
> id-assoc pd {
> prefix-interface lnc0 {
> sla-id 1;
> };
> };
> [root at freebsdvm ~]#
>
> Server:
>
> [root at 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 at 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 at 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
More information about the freebsd-net
mailing list