In my home I happen to run a small Windows Server 2012 R2 domain, I have two Active Directory servers, one is the primary and the other replicates the primary AD server in the event of it ever going down. Because of this AD setup, I am running the DNS role on these servers but leave DHCP duties to my ASUS RT N66U router, running DD-WRT. I configured my RT N66U to push Static DNS addresses of the AD servers to clients, however I also have Virtual Wireless interfaces which are not part of the same subnet and unbridged. Pushing these DNS servers at clients connecting via these interfaces will essentially sink hole their DNS lookup ability, so I needed a way to configure DNS servers addresses based on the interface, fortunately with DNSmasq you can!
DD-WRT has recently been compiling firmware’s using the 3.x Linux kernel compared to the 2.4 and 2.6 builds. These newer kernel builds provide various improvements to the firmware. Being someone has been using K2.6 builds for a while, I decided to take the plunge and upgrade and check out how my setup worked on 3.x builds. One major setup I have is a Hurricane Electric tunnel setup on the router for IPv6. This didn’t work the same way it did on K2.6 and required some additional work. Here’s my adventures of IPv6 in DD-WRT on the 3.x builds. Hopefully providing some useful information for anyone else wanting to do the same thing
DD-WRT provides a lot of builds for different flash chip sizes. Sometimes though, you might need a module or two that isn’t included in the compiled firmware. Fortunately because of the way DD-WRT is developed (open source) you are able to grab the DD-WRT kernel sources from SVN and do a bit of DIY kernel module compiling. Though its not as simple as it sounds, but hopefully this general guide you get you on your way in compiling kernel modules. For this specific guide I am demonstrating how to compile IPv6 modules.