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

Török Edwin edwin+ml-cerowrt at etorok.net
Sun Jan 27 06:35:35 EST 2013

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'
config interface 'se00'
        option ifname 'se00'
        option proto 'static'
        option ipaddr ''
        option netmask ''
        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

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.

> 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?

Best regards,

More information about the Cerowrt-devel mailing list