{"id":1999,"date":"2022-08-15T23:12:30","date_gmt":"2022-08-15T23:12:30","guid":{"rendered":"https:\/\/www.jameshatton.co.uk\/blog\/?p=1999"},"modified":"2022-08-15T23:31:10","modified_gmt":"2022-08-15T23:31:10","slug":"file-downloads-chrome-opera-failing","status":"publish","type":"post","link":"https:\/\/www.jameshatton.co.uk\/blog\/2022\/08\/15\/file-downloads-chrome-opera-failing\/","title":{"rendered":"File Downloads (Chrome, Opera) Failing"},"content":{"rendered":"\n<p>TLDR: A network router-level firewall policy for UDP flood defense prevented web browers downloading files on network hosts.<\/p>\n\n\n\n<p>For nearly a year now, I&#8217;d been tolerating an issue where I couldn&#8217;t download files using the Chrome web browser and would get the message &#8220;Failed &#8211; Network error&#8221; after a few seconds. <\/p>\n\n\n\n<!--more-->\n\n\n\n<p>I went through various steps I could find on the web (such as at <a rel=\"noreferrer noopener\" href=\"https:\/\/www.softwaretesttips.com\/download-failed-network-error\/\" target=\"_blank\">softwaretesttips.com<\/a>) but it was only when I&#8217;d installed Opera and the same issue was occurring that I realised this may not be a Chrome issue.<\/p>\n\n\n\n<p>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&#8217;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&#8217;s modem. <\/p>\n\n\n\n<p>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:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"724\" height=\"546\" data-attachment-id=\"2000\" data-permalink=\"https:\/\/www.jameshatton.co.uk\/blog\/2022\/08\/15\/file-downloads-chrome-opera-failing\/image-4\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.jameshatton.co.uk\/blog\/wp-content\/uploads\/2022\/08\/image.png?fit=724%2C546&amp;ssl=1\" data-orig-size=\"724,546\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.jameshatton.co.uk\/blog\/wp-content\/uploads\/2022\/08\/image.png?fit=724%2C546&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/www.jameshatton.co.uk\/blog\/wp-content\/uploads\/2022\/08\/image.png?resize=724%2C546&#038;ssl=1\" alt=\"\" class=\"wp-image-2000\" srcset=\"https:\/\/i0.wp.com\/www.jameshatton.co.uk\/blog\/wp-content\/uploads\/2022\/08\/image.png?w=724&amp;ssl=1 724w, https:\/\/i0.wp.com\/www.jameshatton.co.uk\/blog\/wp-content\/uploads\/2022\/08\/image.png?resize=300%2C226&amp;ssl=1 300w\" sizes=\"auto, (max-width: 724px) 100vw, 724px\" \/><\/figure>\n<\/div>\n\n\n<p>The router was falsely identifying the inbound packets during a file download as an attack and defending against them. Repetedly toggling the &#8220;Enable UDP flood defense&#8221; 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&#8217;t be relevant.<\/p>\n\n\n\n<p>I&#8217;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.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A network router-level firewall policy for UDP flood defense prevented web browers downloading files on network hosts.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[82],"tags":[81],"class_list":["post-1999","post","type-post","status-publish","format-standard","hentry","category-ict-issues","tag-ict"],"featured_image_src":null,"author_info":{"display_name":"james","author_link":"https:\/\/www.jameshatton.co.uk\/blog\/author\/james\/"},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p89zH1-wf","jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/posts\/1999","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=1999"}],"version-history":[{"count":1,"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/posts\/1999\/revisions"}],"predecessor-version":[{"id":2001,"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/posts\/1999\/revisions\/2001"}],"wp:attachment":[{"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=1999"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=1999"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=1999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}