Shares not accessible by other computers if Windows 10 firewall is ON

I am trying to share a folder on my Windows 10 machine. The computer is connected to the network via Ethernet. The problem is that when I try to access this shared folder from another Windows computer, I get an error saying that "Windows cannot access \\xxxxx" with an error code 0x80070035 (Network path was not found).

Now, if on the Windows 10 machine I turn the firewall off, the share can be accessed by the other computers with no problem. So this narrows down the problem to the firewall settings.

What is confusing is all of the "File and Printer Sharing" firewall settings are already enabled (see below).

What am I missing? Is there any other firewall rule to be enabled? Any ideas?

Thanks, AlefSin

(ps, I have only the Windows firewall, no other 3rd party virus protection or firewall programs).

enter image description here

Edit 1: I manually added a rule to the firewall to open TCP port 445. Now the shares are visible. So most probably what @Jacob mentioned is right: somehow the system does not recognize it is indeed connected to a "Private network", though at least parts of system think so:

enter image description here


Solution 1:

I manually added a rule to the firewall to open TCP port 445. This resolves the issue by allowing SMB2 and SMB3 over TCP. However, this solution is less than ideal since it does not answer the problem as to why the system's default firewall were not correctly setup by Windows.

Solution 2:

I had the same problem, and @JacobBoykin's answer made to look in the right direction. But it's not only about being on a private network for a "private network" firewall rule to apply. Note that a few columns further to the right, the scope of many (at least all private) rules is set to "Local subnet", such as here:

enter image description here

In my case, I was connecting to a server on 10.0.0.2 (having subnet mask 255.255.255.0) from a client computer 10.1.0.3 (subnet mask 255.255.255.0); hence, the server's firewall did not recognize my request as coming from the same subnet, and did not apply the "private" rule. Similarly, since my current network was marked "private", the "public" rule was not applied. Regardless of how many rules I activated, no request came through.

The solution, in my (DHCP) case, was to edit rules to extend the scope; basically, I added "10.1.0.0/16" to the scope of the private "File and Printer Sharing (SMB-In)", which opens port 445 to requests from that IP range. That was enough in my use case.

Alternatively, I guess I could have changed my IP configuration to have all computers on the same subnet.

Solution 3:

I have the same problems, with folders on 2 Windows 10 computers, and I get it fixed.

  1. Firstly, go to Windows Defender Firewall on Local Computer (that has shared folders) then select Advanced settings Windows Defender Firewall with Advanced Security

  2. In Inbound Rules, double click on File and Printer Sharing (SMB-In) and in the tab Scope add your Remote Computer's IP address here. Click Apply File and Printer Sharing (SMB-In) Properties

  3. Problems resolved!