我有一台运行 Windows 7 Pro RTM 的计算机。这台计算机有两个网络连接:
- 连接到 Internet 的 Wi-Fi 连接(通过家庭路由器)工作得很好。
- OpenVPN 虚拟网络连接。更准确地说,这是一个虚拟以太网连接,其行为与物理以太网有线连接完全相同。
我的问题是“网络和共享中心”显示 OpenVPN 连接的“未知网络”。经过一些研究,我发现逻辑网络(域外)由连接的默认网关的 MAC 地址标识。问题是,OpenVPN 连接没有默认网关:它是一个专用网络,所以我不需要...
因此,“未知网络”总是被认为是公共的,所以防火墙总是处于“公共模式”,这是我不想要的。另外,我不能重命名“未知连接”或任何东西(这是有道理的),所以它有点难看。
我的目标是为具有私有配置文件的 OpenVPN 连接定义适当的逻辑网络。我知道一些解决方法(禁用防火墙,修改安全策略以使所有未知网络“私有”),但它们仍然是解决方法。我只想让我的客户连接到 VPN,而无需禁用他们的防火墙设置,无需更改具有潜在副作用的全局配置(“安全策略”解决方案),也无需查看网络中丑陋的“未知连接”和共享中心。
有什么办法可以做到这一点吗?我试图检查注册表中发生了什么(HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList 很有趣),但我仍然没有找到一种方法来“强制”将 OpenVPN 连接分配给一个逻辑网络。
任何帮助将不胜感激。
超级用户出现了一个相关问题:https ://superuser.com/questions/37355/windows-7-cant-identify-network/37422
我们使用的解决方法是通过 OpenVPN 配置文件将默认路由推送到客户端,例如:
您绝对希望确保提供的指标高于您的 Internet 默认路由,否则所有流量都将通过 VPN 路由(这在特定情况下可能是可取的,但这是另一个主题)。
请注意,如果操作不当,摆弄一般的网络配置和特别是路由可能会产生各种不良副作用,但只要您知道自己在做什么,您应该能够判断影响:
也就是说,我们已经成功使用此解决方法很长一段时间了,完全没有任何问题。
这里有一个 Powershell 脚本,它看起来像你想要的那样。
对于 OpenVPN AS(访问服务器),您可能希望将其添加到服务器配置指令框中的高级 VPN 设置中:
然后更新服务器,等 voilet,Win7 将在 TAP 设备上获取默认 gw,并让您将网络类型从未知更改为其他。
感谢@Steffen-Opel 的提示!:)
我想留下我的贡献。看看我的案例有什么用... Windows 7 和 Windows 8...
我花了很多时间来解决客户端入站连接的问题。
在防火墙上禁用 TAP 接口可以正常工作,但与在 VPN 上下文中关闭防火墙几乎相同。VPN 机器在不同的安全上下文中运行,有些可能会影响其他机器。
我尝试了“默认网关”的配置,将网络识别为“工作网络”(仅在 Win7 中,而不是在 Win8 中),但还是没有 PING!
在注册表中手动添加“*NdisDeviceType”记录在 Win8 中也不起作用。
因此,仔细查看 Windows 防火墙配置,我看到了另一个范围配置,而不仅仅是配置文件,所以我尝试运行另一个服务而不是 PING,当它正常工作时,我感到惊讶,即使在“未知网络”和“公共配置文件”中也是如此!
因此,我尝试隔离 de PING 问题,使其工作的配置如下:在 IPv4 PING 之外启用的默认 Windows 防火墙条目是“文件和打印机共享(回声请求 - ICMv4-In)”,所以在他的属性,我点击“范围”,在“远程IP地址”中,我从“本地子网”更改为“任何IP地址”,这确实使PING工作。
嘿,我能够得到这个工作。我去了网络和共享中心,然后单击“家庭组”。屏幕上显示我无法加入家庭组,因为网络是公共的。然后我点击了“什么是网络位置?”这个问题。它允许我更改网络类型。弹出一个屏幕说 Windows 无法更改网络类型,但它会改变。
将网段的另一个 Ip 添加为默认网关怎么样?虽然它不会查询或接触外部地址,但它会有一个默认网关,它应该满足 Windows。或者更改您的 DHCP 以提供一个,如果没有。
在连接到 VPN 时尝试进入“网络和共享中心”,您应该会看到列出的网络。在每个网络下都会有一个状态,如“工作网络”或“域网络”,您应该可以单击它并更改网络的类型。
贾