From owner-freebsd-net@FreeBSD.ORG Mon Jan 18 21:31:38 2010 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D476A1065694 for ; Mon, 18 Jan 2010 21:31:38 +0000 (UTC) (envelope-from dhorn2000@gmail.com) Received: from mail-fx0-f227.google.com (mail-fx0-f227.google.com [209.85.220.227]) by mx1.freebsd.org (Postfix) with ESMTP id 63CB48FC17 for ; Mon, 18 Jan 2010 21:31:38 +0000 (UTC) Received: by fxm27 with SMTP id 27so2769699fxm.3 for ; Mon, 18 Jan 2010 13:31:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=Jl4MGYxYrmPQlSzudlNRJNWNadeQEevw5R0q+k1rWHU=; b=VehCk9xmMa71O/EbIGN3BHo31OFypdX7TqbNjurshm5B/YWbvmAXxVHKo8Ox1voOm7 ty5wIWYlxijFerXikqHVc5Pc3iiKJYvf7YLWHmgRUC+zqsh7H7uXHa48ERlk0pka0Hwk GPfNTgP5Zx/t5uElLPxpijLsaNmlVWy43lCfo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=qwHNuMWQiIlJOOmh/wGRf7cj3kKhrihzdcnTZYJdXXYZ2hxjH1dZqFJPPrXWvyVhWC BJRBZdcKwyTnfY1RzpRtjDeMODlQl29nVAkoJxKi8acQtn/FWLpdrqeKJzRP+09fk6FW 7c2CjWya09lDNQzM1yepvbzpA5ZQt6e+nRv0M= MIME-Version: 1.0 Received: by 10.239.170.147 with SMTP id s19mr753427hbe.133.1263850297189; Mon, 18 Jan 2010 13:31:37 -0800 (PST) In-Reply-To: <4B5388DE.5030603@Sun.COM> References: <4B50F719.5040402@Sun.COM> <4B5388DE.5030603@Sun.COM> Date: Mon, 18 Jan 2010 16:31:37 -0500 Message-ID: <25ff90d61001181331n47953c03h1a1973cddc741ab5@mail.gmail.com> From: David Horn To: Brett Lee Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-net@freebsd.org Subject: Re: DHCP6 client X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jan 2010 21:31:38 -0000 On Sun, Jan 17, 2010 at 5:02 PM, Brett Lee wrote: > Brett Lee wrote: >> >> Hello - >> >> Am using FreeBSD 6.3 as a dhcp6 client, trying to get DDNSv6 operational >> in this environment. =A0When 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 networ= k >> 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 l= ocal >> and global addresses via SLAAC. =A0Surely 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 >> =A0delivered by the server? =A0Obviously I'm a little bit confused :) an= d am >> thinking the problem is with the dhcpd.conf file. =A0Hoping for some >> clarification or direction. =A0Configs are below. >> >> Thanks for your guidance/suggestions! =A0-Brett >> >> Client: >> >> [root@freebsdvm ~]# ifconfig -a >> lnc0: flags=3D108843 = mtu >> 1500 >> =A0 =A0 =A0 =A0inet6 fe80::20c:29ff:fef3:a5de%lnc0 prefixlen 64 scopeid = 0x1 >> =A0 =A0 =A0 =A0inet 192.168.1.94 netmask 0xffffff00 broadcast 192.168.1.= 255 >> =A0 =A0 =A0 =A0inet6 2bad:0:564:1:20c:29ff:fef3:a5de prefixlen 64 autoco= nf >> =A0 =A0 =A0 =A0ether 00:0c:29:f3:a5:de >> plip0: flags=3D108810 mtu 1500 >> lo0: flags=3D8049 mtu 16384 >> =A0 =A0 =A0 =A0inet6 ::1 prefixlen 128 >> =A0 =A0 =A0 =A0inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 >> =A0 =A0 =A0 =A0inet 127.0.0.1 netmask 0xff000000 >> [root@freebsdvm ~]# grep -v '#' /usr/local/etc/dhcp6c.conf >> interface lnc0 { >> =A0 =A0 =A0 =A0send ia-pd 0; >> }; >> id-assoc pd { >> =A0 =A0 =A0 =A0prefix-interface lnc0 { >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0sla-id 1; >> =A0 =A0 =A0 =A0}; >> }; >> [root@freebsdvm ~]# >> >> Server: >> >> [root@solaris10u4sparc named]# grep iaaddr /var/db/dhcpd6.leases | sort = | >> uniq >> =A0iaaddr 2bad:0:564:1::12 { >> =A0iaaddr 2bad:0:564:1::18 { >> =A0iaaddr 2bad:0:564:1::19 { >> =A0iaaddr 2bad:0:564:2::18 { >> =A0iaaddr 2bad:0:564:2::19 { >> =A0iaaddr 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 =A0 =A0 =A0 interim; >> ddns-domainname =A0 =A0 =A0 =A0 "ipv6.apevt.local"; >> ddns-rev-domainname =A0 =A0 "in-addr.arpa"; >> ignore =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0client-updates; >> zone ipv6.apevt.local. { >> =A0 =A0 =A0 =A0primary 192.168.1.23; >> =A0 =A0 =A0 =A0key "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 { >> =A0 allow unknown-clients; >> =A0 min-lease-time 60; >> =A0 default-lease-time 60; >> =A0 max-lease-time 60; >> =A0 range6 2bad:0000:0564:0001::10 2bad:0000:0564:0001::19; >> subnet6 2bad:0000:0564:0002::/64 { >> =A0 allow unknown-clients; >> =A0 min-lease-time 60; >> =A0 default-lease-time 60; >> =A0 max-lease-time 60; >> =A0 range6 2bad:0000:0564:0002::10 2bad:0000:0564:0002::19; >> subnet6 =A02bad:0000:0564:0003::/64 { >> =A0 allow unknown-clients; >> =A0 min-lease-time 60; >> =A0 default-lease-time 60; >> =A0 max-lease-time 60; >> =A0 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. =A0Now using th= e > current FreeBSD, 8.0-RELEASE, with dhcp6c.conf setup as seen below: > > interface le0 { > =A0 =A0 =A0 =A0send ia-na 0; =A0 =A0 =A0 =A0 =A0 # request stateful addre= ss > =A0 =A0 =A0 =A0request domain-name; > =A0 =A0 =A0 =A0request domain-name-servers; > } > id-assoc na 0 { > } > > It works. =A0On to DDNSv6. =A0-Brett > The dhcp6c client is the wide-dhcpv6 client (I am guessing you installed from port net/dhcp6). If you are trying to do ddnsv6 using dhcpv6, you might have better luck with using the ISC dhcpv6 client at the same patchlevel as the server. (You will need to compile on your own, as ISC 4.1 dhcp does not seem to be in the freebsd ports collection at this time). In my own testing, I also needed to tell dhclient (ISC variant)'s dhclient-script how to locate ifconfig and route (simple script change from ifconfig to /sbin/ifconfig and from route to /sbin/route). Take a look at the dhclient.conf (5) man page from the ISC package under "DYNAMIC DNS". You will likely need a dhclient.conf with items like: send fqdn.fqdn "test.example.com."; send fqdn.encoded on; send fqdn.server-update off; also request dhcp6.fqdn; This also assumes that the ISC dhcpd server is configured with appropriate information to actually have the server perform updates. I have not actually turned ddns on with DHCPv6 yet, so these are just suggestions. According to RFC 4704, the protocol supports either client or server actually performing the updates, but not certain which cases work properly with ISC at this point. Please share if/when you get a working configuration with any dhcpv6 client/server combination. Good Luck. ---Dave Horn