Helping people with computers... one answer at a time.

In Windows 7, the firewall is on by default. Sometimes, the firewall will actually prevent machines from seeing one another, even within your local LAN.

I just replaced my router and now all of a sudden my machines can't see each other. They were working fine before the replacement and I could regularly access files and make remote desktop connections between the machines. They all see the internet just fine, just not each other. What gives?

That was actually me a few days ago.

I replaced my router to address a network performance issue and all of a sudden, my machines couldn't see each other.

My opinion of Windows networking for the average consumer isn't very high, so when I discovered what was happening, how easy it is to miss, and how easy it is to fix, I realized that it was time to write up my discoveries.

The error

My error manifested this way:

Computer not found

That machine is a Windows 7 machine on which I have several external USB drives connected and I use it as a kind of network attached storage device, or NAS - hence the name.

But network attached storage isn't very helpful if you can't connect to it.

As it turns out, the machine was working fine. Windows was simply being paranoid and protecting itself.

The solution

I walked down to my basement and did the following:

  • I clicked the network icon in the taskbar notification area (this machine insists on showing an 'X' on the connection, even though the connection is working):

    Windows 7 network icon in the taskbar notification area

  • I clicked Open Network and Sharing Center:

    Open Network and Sharing Center link

  • I saw the problem - the network connection had been classified as a Public Network:

    Network classified as a 'Public' network

  • I clicked Public Network to change it to something else:

    Windows 7 Set Network Location dialog

    I clicked Home Network.

  • I was then presented with the "Do you want to create a Homegroup?" dialog:

    Windows 7 Create a Homegroup dialog

    I clicked Cancel.

I could now, once again, access this machine remotely from other machines.

And to be clear, this is a setting that you confirm on the machine that you are connecting to.

"Home" versus "Public"

The difference between telling Windows that you're connected to a home network versus a public one is a matter of security and trust.

On a public network, you can trust no one. In places like coffee shops or other open Wifi hotspots, you have no idea what other computers are sharing the internet connection with you and thus, you can't be certain that they're not malicious in some way.

As a result, when making this choice, Windows configures its firewall to be as secure as possible. All non-essential incoming services are blocked by default. This includes remote desktop, as I experienced, as well as file sharing.

The idea behind a Home network is that you can trust everyone sharing the local network behind your router. You control, or know, all of the connected computers and can presumably make sure that they're all operated securely. With that as an assumption, Windows then opens up to allow several services through the firewall - including remote desktop and file sharing.

(To be honest, I'm not sure the nuances behind the third option, a Work Network. For the vast majority of people, Home and Public are really the only options to be concerned with.)

So how'd it change?

The real question is how does Windows determine that you're on a new network? When I took my laptop to Starbucks and connected there for the first time, Windows popped up the Set Network Location dialog and asked me whether it was a home, work, or public network. (Naturally, I said public.)

How'd it know I'd changed networks?

Your first reaction might be to say, "Well, the wireless network has a different name or SSID." True. But consider this: the same thing happens for a wired connection. Move a computer to a new location and connect it with a cable, and Windows will again ask: "Home, work or public?"

I don't know how Windows does it, but I can guess.

I would guess that it remembers the MAC address of the router that you're connecting to.

A MAC address is supposed to be unique for every device connected to any ethernet network. As a result, when you connect to a new network, your machine is connecting to a different router with a different MAC address. As long as you stay connected to that same router, Windows believes that you're on the same network.

I could be wrong about the details, but my theory also explains one other thing...

Why it happened to me.

Remember what I said I did when this all started? I changed my router.

New router means new MAC address, and that means "A new network!" from Windows' point of view.

Why it's easy to miss

When Windows first connects to what it considers to be a new network - which you'll most commonly see when you setup a new machine or connect a new machine to your network for the first time - it does two things:

  • It displays the Set Network Location dialog, asking you whether this is a home, work, or public network.

  • Until you say otherwise, it assumes public.

The assumption that the network is public is for security reasons. For example, if Windows assumed that the network was a home network but in reality you were connected to a public network, your computer would be at risk.

There's an additional step, though, where it gets tricky.

Let's say that you're not around to notice that it's asking you for the network location or that for some reason, you just don't notice.

And then let's say the machine reboots.

When it comes back online:

  • It continues to assume public.

  • It does not ask again what you want.

In other words, it simply defaults to public.

And until I walked down to my basement and told it otherwise, I could not remotely access my machine or access the files on it.

The big take-away

If you're having trouble connecting to a Windows 7 machine across your local network, check the network location setting on that machine as I've described above. It could very well be Windows trying to protect you.

Article C5062 - February 1, 2012 « »

Share this article with your friends:

Share this article on Facebook Tweet this article Email a link to this article
Leo Leo A. Notenboom has been playing with computers since he was required to take a programming class in 1976. An 18 year career as a programmer at Microsoft soon followed. After "retiring" in 2001, Leo started Ask Leo! in 2003 as a place for answers to common computer and technical questions. More about Leo.

Not what you needed?

Recent Comments
18 Comments
Dom P
February 6, 2012 2:28 AM

I cannot agree more about the network implementation problems. I have network issues that may be related : my LAN consists of a PC/XP and a PC/W7 through a modem/router and a Workgroup (not Homegroup). Whereas I can access XP folders using the W7 pc, the converse is refused. When trying to troubleshoot the network on my W7 PC (Network Sharing Center > See full Map), Windows tells me it cannot create the map. The proposed solutions (installing LLTD on the XP PC, allowing my Kaspersky firewall for local Networks) do not work. What gives ?

Geoff.
February 8, 2012 5:49 PM

quick fix Dom P put your files to share in the win7 public folders and then use your xp machine to map to the public folders.
Hope it helps.

Chris
December 5, 2012 11:23 AM

I have set up a wireless net work under the impression there is no other network there later i found a second router under a table hidden after inspection i found this to be also linked to a 3g lan connection and also the community printer this is quite a problem for me as the one is linked to a tracking system on vehicles and cannot be removed how do i go about fixing this does any one have an idea?
thanks Chris

DonL
January 23, 2013 6:25 PM

What fixed my problem of not being able to see to Windows 7 shares on wire LAN connected desktop from a wirelessly connected Win 7 laptop was to bridge the two networks that Win 7 set up on my laptop. They had two different names and the had to be selected (wired and wireless network) and then select bridge the connection. I do not have a homegroup set up, only a workgroup.

sgt schultz
March 24, 2013 2:19 PM

a little basic, may be right for simple users. The main result for this is actually the firewall. Turn it off and check then go from there.