Router: E3000
Build: tomato-E3000USB-1.28.9054MIPSR2-beta-Ext
I've been experimenting with the dnsmasq adding more upstream DNS servers and using the "all-servers" directive in my configuration. Specifically, I added the following in the dnsmasq custom configuration box:
server=8.8.8.8
server=8.8.4.4
server=208.67.222.222
all-servers
My ISP will provide 3 DNS servers on DHCP, so this will result with a total of 6 DNS server for dnsmasq to use. In addition, the "all-servers" option will force dnsmasq to send queries to all 6 and use the result from the first server that replies.
I started noticing that PCs in LAN, making DNS resolution against dnsmasq on the router will intermittently get no IP address on query results. This was not an issue with any of the upstream DNS servers because queries done directly against them had no issues.
I further installed tcpdump in a thumb drive and ran some packet capture. Dumps from vlan2 (WAN) showed that the router received 6 DNS replies on every single request made from a LAN PC. However the corresponding dumps on vlan1 (LAN) showed that dnsmasq will occasionally send a blank DNS response back internally.
This symptom seems to occur only with "all-servers" option and if dnsmasq has more than 4 upstream DNS servers to query for results.