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

Eti*_*mps 18 networking windows-7 gateway

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

  • 到互联网的 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

Ste*_*pel 10

我只希望我的客户无需禁用防火墙设置即可连接到 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
Run Code Online (Sandbox Code Playgroud)

您绝对希望确保提供的指标高于您的 Internet 默认路由,否则所有流量都将通过 VPN 路由(这在特定情况下可能是可取的,但这是另一个主题)。

请注意,调整一般的网络配置和特别是路由可能会产生各种不良副作用,如果操作不当,但只要您知道自己在做什么,您就应该能够判断影响:

  • 具体而言,提供的具有两个默认网关的解决方法至少被某些人认为在语义上是错误的,并且 Windows 确实会相应地警告您,如果您确实通过 UI 进行了配置。
  • 请参阅如何使私有未识别网络可识别和私有?对于这个主题的讨论,特别是问题本身和海报 (Jason R. Coombs) 对页面下方默认网关方法的 Steve Hathaway 简短摘要的合理批评。

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


Fah*_*dah 4

这里有一个 Powershell 脚本,看起来它可以满足您的需求。

  • 啊,这是我的脚本(来自 nivot.org) (3认同)