Yup, you're right. It's not DNS. But I found the problem. The FORWARD chain is defaulting to DROP in .40, but its ACCEPT in .39.
It has been set to DROP for more than a year now:
Code:
commit c1cef682061ee167cfa237258fb384b81e1ac629
Author: Eric Sauvageau <rmerl@lostrealm.ca>
Date: Sat Feb 23 17:27:44 2013 -0500
Fix cdrouter firewall_2 - we now drop FORWARD packets by default, but accept forwarded packets lan2wan
However I had only applied that fix to the regular and failover mode, and had forgotten to also apply it to load balancing mode - which was fixed recently at the same time I fixed the firewall not setting the default policy to ACCEPT when the firewall is disabled.
If you have it set to load balancing and your packets are dropped then there's a good chance that something's odd about your network environment. You will have to check why traffic isn't matching one of the FORWARD rules in the chain. For this, enable logging of dropped packets on the webui, then check your system log to see the logged dropped packets.