How do I make Windows 7 treat a VPN connection to a subnet look like a non-"public" network?

Solution 1:

According to one forum post you need to configure the gateway for that particular network.

http://www.tomshardware.com/forum/215-63-change-network-type

For Windows 7 network types, the secret lies in the GATEWAY entry. Any network you connect on that doesn't have a DEFAULT GATEWAY provided with, becomes PUBLIC and you cannot change it's type.

Solution 2:

If you are able to, add this to your OpenVPN server config:

push "route 0.0.0.0 0.0.0.0 vpn_gateway 999"

So that Windows 7 will permit setting the network type, it pushes a bogus default route, which should never be used (because of the high metric cost). If it's desirable to push only to Windows 7 hosts, try using OpenVPN client config.