[Cerowrt-devel] Got DHCPv6 working in CeroWrt 3.7.x over HE.net tunnel

Richard E. Brown richb.hanover at gmail.com
Sun Jan 27 10:11:44 EST 2013


Folks,

I just tested the DHCPv6 facilities of Dave's 3.7.4-3 build (Congratulations, Dave!) and it works as desired. The default configurations of dnsmasq-dhcpv6 and the IPv6 6in4 tunneling work almost trivially. All you need to do is create the tunnel using your own credentials, tweak the firewall configuration, and Presto! You're on the air.

I have updated the script on the wiki to do all this. It details all the steps you need to do to get a 6in4 tunnel account and to run the configuration script. The script got dramatically shorter, because the desired behavior is now built in by default. Look at:

http://www.bufferbloat.net/attachments/download/166/tunnelbroker.sh

NB: This script only works with CeroWrt Modena 3.7.4-3 and newer. 
NB: The script on the main "IPv6 Tunneling" page of the wiki will *not* work with Modena - that's for Sugarland and older. Once Modena goes into beta, I will update that page.

Thanks for all the help I've received on this.

Rich Brown
Hanover, NH USA


On Jan 27, 2013, at 6:47 AM, Dave Taht <dave.taht at gmail.com> wrote:

> 
> 
> On Sun, Jan 27, 2013 at 3:35 AM, Török Edwin <edwin+ml-cerowrt at etorok.net> wrote:
> On 01/27/2013 01:25 PM, Dave Taht wrote:
> >
> >
> > On Sun, Jan 27, 2013 at 12:46 AM, Török Edwin <edwin+ml-cerowrt at etorok.net <mailto:edwin+ml-cerowrt at etorok.net>> wrote:
> >
> >     On 01/27/2013 06:17 AM, Richard E. Brown wrote:
> >     > Thanks to Dave Täht and Robert Bradley for the pointers to making CeroWrt 3.7.x hand out IPv6 addresses to LAN devices. (This has been tested with 3.7.4-2.)  The process is indeed a few simple
> >     steps:
> >     >
> >     > 1) remove dnsmasq & dnsmasq-dhcpv6, then install again (see Dave Täht's note below)
> >     > 2) Add config to /etc/dnsmasq.conf to hand out DHCPv6 addresses (as suggested by Robert Bradley)
> >
> >     Yep, that sounds like what I've done too.
> >
> >
> >
> > I have incorporated these changes (aside from the he specific config) into the next build of cero. (which has dnsmasq 2.66 test12 in it.
> >
> > Thx everyone for tracking this down.
> >
> > Incidentally, how do I get dnsmasq to hand out more than one dns server to clients? I'd like it to
> > do so - one for ipv6 and for ipv4, or 2 for ipv4, etc.
> >
> > What happens now is you can configure dnsmasq to talk to tons of dns servers but it only hands out itself. Given the timeouts in DNS and so on it seems saner to hand out two, or more, to clients, as
> > per the RFC (if you have two or more)
> >
> > Another place I was stuck was on getting dhcpv6-pd to work. I'd setup an isc-dhcp server as a test (on a laptop, pretending to be the master box)
> > and I could see it handing out a /56 prefix, as configured, but only the external ge00 address would be configured. What seemed to be happening was bombing out in the netifd script not putting in the
> > ".ge00" interface into a ubus function call. It was also only distributing a /128 to clients...
> 
> dhcpv6-pd works with pppoe for me.
> I have this in /etc/config/network which is pretty much the default, except se00 is the only one with ip6assign:
> 
> config interface 'ge01'
>         option ifname '@ge00'
>         option proto 'dhcpv6'
>         option broadcast '1'
>         option metric '2048'
>         option reqprefix 'auto'
> 
> This is the only difference betwen your setup
> and mine, in that I was specifically requesting a 60 rather than "auto". 
> 
> I'll try it.
> 
> Still unintegrated at present is the p2p ipv6 ahcp/mesh networking support for ipv6, which is a shame because it used to be easier than all the other interfaces.
> 
> What needs to happen there is that all the ahcp meshy interfaces (gw11 and gw01) need to get the same /128 prefix and ahcp server handed a /64 pool to deal with...
>  
> config interface 'se00'
>         option ifname 'se00'
>         option proto 'static'
>         option ipaddr '172.30.42.1'
>         option netmask '255.255.255.224'
>         option ip6assign '64'
> 
> What happens then is that se00 gets the delegated /64 prefix directly, and only that:
> 2: se00: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
>     inet6 2a02:2f02:1022:a2eb::1/64 scope global
>        valid_lft forever preferred_lft forever
>     inet6 fe80::c43d:c7ff:fe97:8050/64 scope link
> 
> 
> However, I will argue this is wrong, and the lifetimes should match whatever was handed to you from upstream.
>   
> With the default configuration I noticed something similar to you: only a /128 assigned, but I thought thats because
> I only get a /64 to begin with.
> 
> 
> Well, on a shared network it should be part of the local /64...
> 
> >
> > Perhaps now that this other stuff is correct, that will work. I will try it in the morning.
> >
> > this was how I'd setup the "dhcpv6 server"'s /etc/dhcp/dhcpd.conf
> >
> > subnet6 2001:db8:0:1::/64 {
> >         # Range for clients
> >         range6 2001:db8:0:1::129 2001:db8:0:1::254;
> >         # Additional options
> >         option dhcp6.name-servers 2001:db8:0:1::1;
> >         option dhcp6.domain-search "cerowrt.org <http://cerowrt.org>";
> >         # Prefix range for delegation to sub-routers
> >         prefix6 2001:db8:0:100:: 2001:db8:0:f00:: /56;
> >         # Example for a fixed host address
> >         host specialclient {
> >                 host-identifier option dhcp6.client-id 00:01:00:01:4a:1f:ba:e3:60:b9:1f:01:23:45;
> >                 fixed-address6 2001:db8:0:1::127;
> >         }
> > }
> >
> > I think the last unaligned_instruction trap is dead.
> >
> > Lastly, there is another nifty new feature of dnsmasq - secondary domain updates. I have no idea how to get that going...
> >
> >
> >     > 3) Tweak the firewall to put henet 6in4 tunnel into WAN zone
> >     > 3) Bring up henet and restart network, firewall, dnsmasq
> >
> >     Not related to ipv6, but if you want a ntp server for your LAN you have to do this:
> >     # opkg remove luci-app-ntpc
> >     # opkg remove ntpclient
> >     # killall ntpclient
> >     # uci set system.ntp.enable_server 1
> >     # uci commit system
> >     # /etc/init.d/sysntpd restart
> >
> >
> > This is an artifact of formerly using the isc ntp server in cero (for the multicast, and autokey support, as well as for the possible linkage to the gpsd daemon for a 1pps signal) At some future point
> > I'd like to make this work again (because testing against a stratum 1 clock like what gpsd can do has long been on my list of worthwhile things to do), but I have no problem with using the well
> > integrated smaller default ntp server in openwrt. (well, I'd like it to do ipv6, too)
> >
> > I have made these two packages optional and enabled the local ntp server.
> >
> > Still up here, no matter what ntp client/server is used is some means of doing dnssec again.
> 
> Does dnsmasq support that?
> 
> 
> partial dnssec support is in a branch of dnsmasq. simon is seeking funding to complete it.
>  
> Best regards,
> --Edwin
> 
> 
> 
> -- 
> Dave Täht
> 
> Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.bufferbloat.net/pipermail/cerowrt-devel/attachments/20130127/dcc3ffa1/attachment-0002.html>


More information about the Cerowrt-devel mailing list