Previously, I built ISC DHCP to get DHCPv6 onto my DD-WRT router. This is all well and good, but the required files to make it run are a little on the large side, considering the small amount of flash available on consumer routers. Wide is a whole 250k, making it much more suitable. It's also a lot simpler to compile.
As I mentioned before, my Netgear died, and I now have a Buffalo, therefore the --host section from here on will be different from my previous posts. So, lets get started by downloading and extracting the source:
# wget http://downloads.sourceforge.net/project/wide-dhcpv6/wide-dhcpv6/wide-dhcpv6-20080615/wide-dhcpv6-20080615.tar.gz # tar xzvf dhcpv6-20080615.tar.gz # cd dhcpv6-20080615
First thing we need to do is add this line to a new file called config.cache, to sort out things the configure script cannot for itself:
From here, it's pretty much a simple configure and make, then copy the binary to the router:
# ./configure --prefix=/opt --host=mips-linux-uclibc --cache-file=config.cache LDFLAGS="-L
-L/opt/lib -static" --with-localdbdir=/tmp # make
That's that! If all went well, you should have a dhcp6s binary to copy to your router. Configuring it to serve just dns details is a single line config file, mine is /opt/etc/dhcp6s.conf. Simply replace with your IPv6 DNS servers.
option domain-name-servers 2001:db8::1;
To start the server, it's just a quick
# dhcp6s -c /opt/etc/dhcp6s.conf br0
Which you can also add to your startup script. That's it, you should now have a smaller working DHCPv6 server dishing out IPv6 DNS servers!