File Downloads (Chrome, Opera) Failing

TLDR: A network router-level firewall policy for UDP flood defense prevented web browers downloading files on network hosts.

For nearly a year now, I’d been tolerating an issue where I couldn’t download files using the Chrome web browser and would get the message “Failed – Network error” after a few seconds.

I went through various steps I could find on the web (such as at softwaretesttips.com) but it was only when I’d installed Opera and the same issue was occurring that I realised this may not be a Chrome issue.

I tried downloding files on my laptop and it still failed, with both browsers, so I then had to think further back along the network path. I was hoping the issue wasn’t with my ISP but when I managed to opportunistically test the file downloads on a different network that happened to use the same ISP, they worked fine. This all started to point to the WAN-LAN router sat in between my devices and the ISP’s modem.

My router is a Draytek. I had a rudimentary look around the settings and updated it to the latest firmware. No difference. So I started and in-depth look at the settings and paid particular attention to the firewall settings and I found the culprit:

The router was falsely identifying the inbound packets during a file download as an attack and defending against them. Repetedly toggling the “Enable UDP flood defense” option on and off and testing file downloads confirmed this setting was responsible. What has me scratchign my head slightly is that file transfers in a web browser use the HTTP (or HTTPS) application-layer protocol, which uses the TCP transport-layer protocol so UDP flood defense shouldn’t be relevant.

I’d appreciate any light being shed on this TCP/UDP if you know why. Hopefully this post gets indexed and helps somebody else scratching their head with problems being able to download files in a web browser.