Windows 显示“受限连接”,但实际上并非如此

Windows 显示“受限连接”,但实际上并非如此

[2013 年 12 月 16 日 - 更新如下]
[2013 年 12 月 20 日 - 更新如下]

请耐心听我说,我保证这不是正常的“有限连接”类型的问题。

当我在办公室使用局域网时,我的 Win8.1 笔记本电脑向我保证我的局域网连接受到限制:

Win8.1提示连接受限 网络属性显示无 Internet 访问

但我仍然有网络和互联网连接。我可以毫无问题地连接到所有设备。我获得了 DHCP 地址,DNS 正常工作,我可以随心所欲地上网、ping 和工作。

连通性证据

问题是 Office 2013 中的一些功能不太实用。例如,OneNote 看到“连接受限”状态,甚至不会尝试同步到 SkyDrive 上的笔记本。Outlook 也有点傻乎乎的。因此,我想一劳永逸地解决这个“受限”但其实并非真正受限的问题。

我尝试了以下方法:

  • 更换电缆(无变化)
  • 直接插入办公室交换机(无变化)
  • 插入防火墙的 LAN 端(无变化)
  • 确认办公室内其他几十台机器没有类似问题
  • 将其他机器插入我的办公室插孔/交换机端口 - 它们仍然可以正常工作。
  • 将以太网卡驱动程序更新为最新版本、旧版本、通用 MS 版本(无变化)
  • 分配静态 IP 和 DNS 服务器,而不是 DHCP

如果我去其他地方(家里、客户现场)并将笔记本电脑插入本地 LAN,则不会获得受限状态。所以办公室里有些东西是我的笔记本电脑不喜欢的。

我怎样才能知道那是什么?


2013 年 12 月 16 日 - 更新

如果我重新启动到安全模式,网络连接正常并显示可以访问互联网。如果我重新启动回到正常模式,它在这一天的剩余时间内(显然)保持正常,或者直到我在其他地方使用它然后返回办公室。

我创建了一个额外的本地用户帐户,没有变化。如果连接对我而言受到限制,则该本地用户帐户的连接仍然受到限制。


2013 年 12 月 16 日 - 更新

启动到安全模式然后返回似乎可以解决这个问题,但几天后就不行了。因此,更新速度变慢了。但今天又坏了,所以下面是一些评论的后续内容。

  • msftncsi.com/ncsi.txt 解析良好。
  • ping dns.msftncsi.com 解析为 131.107.255.255

但是!检查 Windows 7 网络意识时关联和注册表设置,我发现 EnableActiveProbing 设置为 0,而不是默认的 1(启用)。我启用了它,禁用/重新启用了 NIC,我的网络又恢复正常了。

现在的谜团是:是什么改变了 EnableActiveProbing 注册表项?

答案1

很好。您可能认为设置EnableActiveProbing为 0 会产生相反的效果。

本文准确解释密钥的用途。它可以禁用用于msftncsi.com检查您是否具有良好互联网连接的探测。

当 Windows 机器连接到网络时,有两种技术,网络位置感知 (NLA) 和网络连接状态指示器 (NCSI);它使用它们来自动识别它所连接的网络以及是否可以访问 Internet。

它还解释了为什么您的连接图标“有限”(以及随之而来的所有问题)。

将此值设置为 0 将禁用主动探测。潜在的副作用是,机器可能会确定它们没有互联网连接,并在网络图标上显示或感叹号“!”,并且“有限”的连接在网络UI中”。

在这种情况下(如果您有良好的互联网连接)将其设置回 1 将摆脱“有限”的连接。

您可能使用了某个工具将其设置为 0。当问题再次出现时,请检查该值,如果它再次为 0,则说明有一个工具正在后台执行此操作。

编辑:

如果你真的想要检查msftncsi.com我认为您需要设置多个选项:(来源

  1. 在注册表中设置以下项(就像为您设置的那样):
    HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet\EnableActiveProbing
    将其设置为:0

  2. 编辑 GPO(gpedit.msc针对本地计算机或gpmc.mscAD 域范围):
    Computer Configuration> Administrative Templates> System> Internet Communication Management>Turn off Windows Network Connectivity Status Indicator active tests
    设置为:ENABLE

  3. 编辑第二个 GPO:
    Computer Configuration> Policies> Administrative Templates> Network Connections>Do Not show the “local access only” network icon”
    设置为:ENABLE

但如果您可以接受这些检查,msftncsi.com我会让它们保持启用状态。

对于我们当中真正偏执的人来说,也可以选择运行自己的 NCSI 服务器
(解释这里)。


编辑#2

如果有一个实用程序每隔几天就会将的值更改为EnableActiveProbing0而您找不到它),您可以EnableActiveProbing.reg在桌面上创建一个,并在遇到问题时运行它。(比挖掘更容易regedit.exe):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NlaSvc\Parameters\Internet]
"EnableActiveProbing"=dword:00000001

而且...甚至更简单...您可以创建一个批处理文件,禁用“本地连接”,将注册表项改EnableActiveProbing1并再次启用网络连接...
(我知道,我很懒):

EnableActiveProbing_and_restart_connection.bat

netsh interface set interface "Local Area Connection" DISABLE
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet /v EnableActiveProbing /t REG_DWORD /d 1 /f
netsh interface set interface "Local Area Connection" ENABLE

我希望你能尽快找到更改密钥的罪魁祸首......

答案2

最新更新改变了这些默认值:

Windows 注册表编辑器版本 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet]
"ActiveDnsProbeContent"="131.107.255.255"
"ActiveDnsProbeContentV6"="fd3e:4f5a:5b81::1"
"ActiveDnsProbeHost"="dns.msftncsi.com"
"ActiveDnsProbeHostV6"="dns.msftncsi.com"
"ActiveWebProbeContent"="Microsoft Connect Test"
"ActiveWebProbeContentV6"="Microsoft Connect Test"
"ActiveWebProbeHost"="www.msftconnecttest.com"
"ActiveWebProbeHostV6"="ipv6.msftconnecttest.com"
"ActiveWebProbePath"="connecttest.txt"
"ActiveWebProbePathV6"="connecttest.txt"
"EnableActiveProbing"=dword:00000001
"PassivePollPeriod"=dword:0000000f
"StaleThreshold"=dword:0000001e
"WebTimeout"=dword:00000023

我使用自己的资源(Apache 网络服务器)定制了这些:

"ActiveWebProbeContent"="My Connect Test"
"ActiveWebProbeContentV6"="My Connect Test"
"ActiveWebProbeHost"="www.mysite.com"
"ActiveWebProbeHostV6"="ipv6.mysite.com"
"ActiveWebProbePath"="mytextfile.txt"
"ActiveWebProbePathV6"="mytextfile.txt"

测试时,它可以按预期工作 - 当我将文本更改为匹配或不匹配我服务器上托管的文本文件中的文本时,网络状态图标显示互联网或无互联网ActiveWebProbeContent

然而,在负面文本上,出现了一个不良的副作用。网页会自动启动到 URLhttp://www.msftconnecttest.com/redirect

我在注册表中搜索,msftconnecttest但一无所获。我在哪里可以将此 URL 更新为我自己的 URL?我可以创建其他一些神奇的注册表项吗?有人在这里剖析过这些 DLL 文件吗(如果存在的话,这些键可能以明文形式存在于某处)?

答案3

在注册表中设置以下项(如您所述):HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet\EnableActiveProbing 将其设置为:0

我将我的改为1并修复了连接限制。

相关内容