The nice things about this are:
1. The wireless network on the SuperHub can be enabled. It picks up IP addresses from the alternative DHCP server.
2. The guest wireless networks on the SuperHub can be enabled, and still allocate addresses in the 192.168.1.x or 192.168.2.x ranges.
3. You can use the connections on the SuperHub, rather than having all connections made through a separate router. I don't have a separate 1Gbps switch, so this lets me have 1Gbps connections between some of my devices.
4. If you do have a separate wireless router, you may be able to use it as well as the SuperHub, as a separate access point or repeater, giving increased coverage.
5. In normal use you need to keep the box running dnsmasq up all the time, but if it fails for any reason you can switch back to using just the SuperHub very easily, and without any rewiring.
I've got a Buffalo Linkstation NAS box that I can run DNSmasq on. DNSmasq can provide both DHCP and DNS services. I presume installing it on an NSLU2 (slug) would do just as well, or if you've got a DD-WRT router you can configure DNSMasq on it in a similar manner.
Here are the steps to get it running:
1. Install dnsmasq on your chosen box on your network. You should give that box a fixed local IP address (e.g 192.168.0.2).
2. Set the dnsmasq configuration to enable dhcp, and to set the router as the SuperHub. Here are the relevant lines for /opt/etc/dnsmasq.conf :
# Set a range of addresses and lease time for the DHCP address pool.
# Point to the SuperHub as the router to use.
# This will be the "gateway" address given to DHCP clients.
3. Edit /etc/resolv.conf to set your favoured DNS servers (e.g OpenDNS IP addresses).
4. Start dnsmasq and do whatever is appropriate on your platform to get it to start automatically on boot up.
5. Disable DNS on your SuperHub.
On my system I had to create a directory at /var/lib/misc since it wasn't already there. dnsmasq writes a file here to keep track of the DHCP leases it has issued and it won't start up if it can't create this file. Alternatively you can configure some other location for the file in dnsmasq.conf.
I chose to restrict the DHCP range to 60 addresses so that I can have a non-overlapping range configured on the SuperHub. The two DHCP servers can then co-exist on the network, although the SuperHub one is left disabled. Then if anything bad happens to the box running dnsmasq I can enable DHCP on the SuperHub and the network will still work, but using the Virgin DNS servers.
I also have a dd-wrt router which runs as a repeater-bridge for an isolated part of my network. I have set up DNSmasq on it in a similar manner, and with a DHCP range that does not overlap with the other DNSmasq on my network. That gives me redundancy - if one of the DNSmasq servers goes down new leases will be picked up from the other.
Once this is set up, there is a lot more you can do in the dnsmasq.conf file if you have more advanced needs.