Windows 7,没有默认网关的networking连接:以任何方式更改“未知networking”状态?

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

  • Wi-Fi连接到互联网(通过家庭路由器),它工作得很好。
  • 一个OpenVPN虚拟networking连接。 更确切地说,这是一个虚拟以太网连接,其行为与物理以太网有线连接完全相同。

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

因此,“未知networking”总是被视为公共的,所以防火墙总是处于“公共模式”,这是我不想要的。 另外,我不能重命名“未知的连接”或任何东西(这是有道理的),所以它是一个有点丑陋。

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

有什么办法可以做到这一点? 我试图检查registry(HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ NetworkList是有趣的)发生了什么,但我仍然没有find一种方法来“强制”OpenVPN连接分配给一个逻辑networking。

任何帮助将非常感激。

超级用户出现了相关问题: https : //superuser.com/questions/37355/windows-7-cant-identify-network/37422

    这里有一个Powershell脚本,看起来像是你想要的。

    我只是希望我的客户端连接到VPN,而不必禁用他们的防火墙设置,而不必更改具有潜在副作用的全局configuration(“安全策略”解决scheme),而不必查看networking中难看的“未知连接”和共享中心。

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

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

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

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

    请注意,如果不正确地完成networkingconfiguration,特别是摆弄networkingconfiguration,可能会产生各种不良的副作用,但只要您知道自己做了什么,就可以判断其影响:

    • 具体来说,像这样有两个默认网关提供的解决方法被认为是至less有一些语义错误,Windows会相应地警告你,如果你真的通过用户界面进行configuration。
    • 请参阅如何使私人身份不明的networking可识别和私人? 对于这个话题的讨论,特别是问题本身和海报(Jason R. Coombs)对于Steve Hathaways的合理批评,简单介绍一下默认网关的方法。

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

    对于OpenVPN AS(访问服务器),您可能需要将其添加到服务器configuration指令框中的高级VPN设置

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

    然后更新服务器,等等,Win7将获得TAP设备的默认gw,并让您将networkingtypes从“未知”更改为其他。

    谢谢@ Steffen-Opel提示! 🙂

    我想离开我的贡献。 看看我的情况工作… Windows 7和Windows 8 …

    我花了很多时间来处理这个客户端入侵的问题。

    禁用防火墙上的TAP接口可以正常工作,但是在VPN上下文中closures防火墙几乎是一样的。 VPN机器运行在不同的安全上下文中,有些可能会影响其他的。

    我尝试了“默认网关”的configuration,将networking识别为“工作networking”(仅在Win7中,而不是在Win8上),然而却没有PING!

    在registry中手动添加一个“* NdisDeviceType”logging也没有在Win8的工作。

    所以,在思路上看到Windows防火墙configuration,我看到另一个范围configuration,而不是只是configuration文件,所以我试图运行另一个服务,而不是PING,什么是我的惊喜,当它工作正常,即使在“未知的networking”和“公共资料”!

    因此,我尝试隔离de PING问题,并使其工作的configuration如下:启用外部IPv4 PING的默认Windows防火墙条目是“文件和打印机共享(Echo请求-ICMv4-In)”,所以在他属性,我点击“范围”,在“远程IP地址”中,我从“本地子网”更改为“任意IP地址”,这使得PING工作。

    嘿,我能够得到这个工作。 我去了networking和共享中心,然后点击“家庭组”。 它说,在这个屏幕上,我不能join一个家庭组,因为networking是公开的。 然后,我点击了“什么是networking位置? 它允许我改变networking的types。 一个屏幕popup说,Windows无法更改networkingtypes,但它会改变。

    那么添加另一个段的IP作为默认网关呢? 虽然它不会查询或触摸外部地址,它将有一个默认网关,它应该满足Windows。 或者改变你的DHCP提供一个,如果没有。

    尝试在连接到VPN时进入“networking和共享中心”,您应该看到列出的networking。 在每个networking下将是一个像“工作networking”或“域networking”的状态,您应该能够点击它并更改networking的types。

    J.Ja