Windows 7,没有默认网关的网络连接:有什么方法可以改变“未知网络”状态吗?

Windows 7,没有默认网关的网络连接:有什么方法可以改变“未知网络”状态吗?

我有一台运行 Windows 7 Pro RTM 的计算机。这台计算机有两个网络连接:

  • 通过家用路由器的 Wi-Fi 连接互联网,运行良好。
  • OpenVPN 虚拟网络连接。更准确地说,这是一个虚拟以太网连接,其行为与物理以太网有线连接完全相同。

我的问题是“网络和共享中心”显示 OpenVPN 连接的“未知网络”。经过一番研究,我发现逻辑网络(域外)由连接的默认网关的 MAC 地址标识。问题是,OpenVPN 连接没有默认网关:它是一个私有网络,所以我不需要它...

因此,“未知网络”始终被视为公共网络,因此防火墙始终处于“公共模式”,而这并不是我想要的。此外,我无法重命名“未知连接”或其他任何内容(这很合理),因此这有点难看。

我的目标是使用私有配置文件为 OpenVPN 连接定义一个合适的逻辑网络。我知道一些解决方法(禁用防火墙、修改安全策略以使所有未知网络都“私有”),但它们仍然是解决方法。我只希望我的客户端能够连接到 VPN,而不必禁用他们的防火墙设置,不必更改具有潜在副作用的全局配置(“安全策略”解决方案),也不必在网络和共享中心看到丑陋的“未知连接”。

有什么办法吗?我尝试检查注册表中发生了什么(HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList 很有趣),但我仍然没有找到“强制”将 OpenVPN 连接分配给逻辑网络的方法。

任何帮助都将非常感激。

Superuser 上出现了一个相关问题:https://superuser.com/questions/37355/windows-7-cant-identify-network/37422

答案1

有一个 Powershell 脚本这里看起来它做了你想要的事情。

答案2

我只希望我的客户端能够连接到 VPN,而不必禁用他们的防火墙设置,而不必更改具有潜在副作用的全局配置(“安全策略”解决方案),也不必查看网络和共享中心中丑陋的“未知连接”。

有什么办法可以做到这一点吗?

我们使用的解决方法是通过 OpenVPN 配置文件将默认路由推送到客户端,例如:

# Dummy default gateway to work around Windows 'unidentified network'/'unknown network'
route-metric 512
route 0.0.0.0 0.0.0.0

你肯定想确保提供的度量高于您的互联网默认路由,否则所有流量都将通过 VPN 路由(这在特定情况下可能是可取的,但这是另一个话题)。

请注意,如果操作不当,摆弄网络配置(尤其是路由)可能会产生各种不良的副作用,但只要您知道自己在做什么,就应该能够判断其影响:

  • 具体来说,提供的具有两个默认网关的解决方法至少在语义上被某些人认为是错误的,并且如果您确实通过 UI 配置这一点,Windows 会相应地向您发出警告。
  • 如何让私有的未识别网络变得可识别且私密?有关该主题的讨论,特别是问题本身以及海报(Jason R. Coombs)对 Steve Hathaways 在页面下方对默认网关方法的简短摘要的合理批评。

也就是说,我们已经成功地使用了这个解决方法很长一段时间,而没有任何问题。

答案3

对于 OpenVPN AS(访问服务器),您可能需要将其添加到高级 VPN 设置在里面服务器配置指令盒子:

push "route-metric 512"
push "route 0.0.0.0 0.0.0.0"

然后更新服务器,这样 Win7 将在 TAP 设备上获取默认 gw,并允许您将网络类型从未知更改为其他。

感谢@Steffen-Opel 的提示!:)

答案4

嘿,我能够让它工作。我进入网络和共享中心,然后单击“家庭组”。屏幕上显示我无法加入家庭组,因为网络是公共的。然后我点击了问题“什么是网络位置?”,它允许我更改网络类型。弹出一个屏幕,显示 Windows 无法更改网络类型,但它会更改。

相关内容