My setup is:
Internet -> Router1 -> Router2 -> LAN1 + LAN2
Router1 is from my ISP and has to be used to connect to the Internet. Router2 is running Tomato, which I'm using for adblocking and other advanced features. LAN1 is my main subnet while LAN2 is the guest subnet. Router2 acting as the DHCP server for both LAN1 and LAN2. Router1 has a static route back to LAN2 and is configured as the gateway and static DNS in Router2.
If I disable all DNS features on Router2 (Advanced -> DHCP/DNS), both LAN1 and LAN2 can access the Internet fine. If I enable internal DNS and intercept, which I need for adblocking to work, LAN1 can access the Internet but LAN2 can't access the Internet. LAN2 can still tracert to both Router1 and Router2, just not the Internet.
I'm guessing Router2 is providing the proper DNS to LAN1 but not LAN2, though I don't know why. Any ideas on how to fix this?