So I recently had enough of the built-in WiFi on my Arris Cable Modem. The signal was poor and it was only Wireless N. I decided it was time to bite the bullet and grab another wireless device to take over the wireless functions from my modem.
I decided to purchase the Netgear R6220 AC Router, as it was the least expensive router that still had wireless AC and gigabit ports on it. Seriously, why do manufacturers still push 10/100 anything?
In any case, I promptly purchased the device, updated the firmware (it will actually do this automatically upon first boot), put my cable modem into bridge mode and set up the Netgear so it handles DHCP as well as DNS forwarding.
Now the fun starts
Fast forward an hour or so, and I drop connection. I reboot the R6220 and everything is fine, and an hour later, it drops connection again.
This time while I was unable to browse the Internet, I attempted a basic test — ping google.com!
Pinging Google by name did not work, but pinging by IP Address did work. So DNS wasn’t resolving. A “quick fix” was to log into the router and hit “apply” (regardless of any settings change) or reboot the wireless portion, and DNS queries would work once again. I could alternatively set the NIC on my computer to use static DNS servers — even pointing them to the same ones the Netgear was pointed to made my web browsing work again. If I switched back to the Netgear, DNS resolution failed again.
Not being satisfied with the workaround (who wants to reboot their router every hour?) I waited another hour until I couldn’t browse the Internet and fired up Wireshark.
The wireshark analysis showed that the DNS request standard request is sent to the Netgear, but there is never any standard response from the Netgear. When performing correctly, a standard response is received from the Netgear by the client, the payload of which being the IP Address of the domain you are trying to reach. The Netgear would get the payload from external DNS servers.
I notified Netgear technical support of this, but there was no response at all. There are various other posts about this on the Netgear technical support forums — including mine, but no resolution other than try to step backwards in firmware until the problem doesn’t exist — I don’t want to do free QA for Netgear, so I found another workaround. I found that offloading DHCP and DNS back to the Arris cable modem and putting the Netgear R6220 into “AP Only” mode resolved this, as I was no longer using the Netgear as a DNS forwarder.
Unfortunately when you enable “AP Mode” you lose a lot of features — packet filtering, port forwarding, anything firewall related all goes away and your R6220 acts as just a simple access point. If you were looking to purchase an AP to replace the built in firewall functions on your modem (which are usually pretty sparse), you will not like the R6220.
What Netgear Could Do
Netgear could do a few things to fix this issue.
- Fix the damn memory leak that causes the DNS daemon to freak out on the router. That would be the best thing.
- Alternatively, they could allow you to configure the DHCP server to change the DNS servers it hands out to clients. In an unfortunate oversight, with the R6220 configured to handle DHCP, you CANNOT tell DHCP clients what DNS servers to use. The R6220 assigns itself as the DHCP option for DNS for downstream clients, and you configure the forwarders on the R6220 itself. The flow of DNS requests in this case would be CLIENT -> R6220 -> External DNS Servers. If you were allowed to configure the DHCP options for DNS Servers on the unit, the flow would go CLIENT -> External DNS servers, bypassing whatever unfortunate and ultimately bad DNS forwarding that goes on in the unit itself.
Hope this helps.