Shares not accessible by other computers if Windows 10 firewall is ON
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.
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:
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.
I have the same problems, with folders on 2 Windows 10 computers, and I get it fixed.
Firstly, go to Windows Defender Firewall on Local Computer (that has shared folders) then select Advanced settings Windows Defender Firewall with Advanced Security
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
Problems resolved!