一段时间以来,我的互联网速度一直间歇性缓慢。这对我来说真的很有挑战性,我尝试了很多方法。我更换了调制解调器,尝试了 3 个路由器,用一个哑交换机替换了一个智能交换机,以防它成为瓶颈,尝试弄乱 QOS 等。我即将添加第二个 IP 和双 WAN 路由器,看看这是否有帮助,但我很困惑。当互联网速度慢时,我的调制解调器和路由器页面也会变慢。这让我认为存在一些内部问题。
今天,只要有超过 15 个用户登录,问题就又变糟了。我尝试使用 wireshark 看看能否解决问题。我看到 DNS 服务器的 wireshark 跟踪中到处都是“DNS 服务器失败”消息。我尝试从本地机器运行 nslookup。超时了。从服务器尝试,超时了。尝试 nslookup google.com 208.67.222.222,立即回复。突然间,我在想,这根本不是互联网问题。我只是没有内部 DNS。仔细查看了 Nslookup。它正在提取服务器的 IPv6 地址,但失败了。然后我尝试了 nslookup google.com 192.168.1.6。也失败了。我在服务器上禁用了 IPv6(适配器上的网络协议),nslookup 和互联网都开始正常工作。但是,我听说这不是一个好做法。
我做错了什么?我该怎么办?如果你能帮忙的话非常感谢。
第二天添加的注释如下:今天许多设备都打开时,互联网又断了。我联系了 ATT,他们说从他们到调制解调器一切正常。Wireshark 没有发现任何我认为不对劲的东西。我找到了一个管理交换机,放在我们的代理和局域网的其余部分之间,并记录了一段时间内往返于代理的所有流量。DNS 请求大部分都正常工作,虽然有些超时了,但我认为只是因为互联网太糟糕了。今天重新启动代理服务器似乎解决了问题。所以,最后一个似乎能解决问题的方法,关闭 IPv6,可能实际上根本没有起到什么作用。DNS 只是超时了,而且恰好在我禁用它的同时停止了超时?
答案1
网络上的某些设备可能假装是 IPv6 网关,但实际上没有有效的 IPv6 上行链路。例如:损坏的路由器和具有互联网连接共享的系统有时会发生这种情况。
您可以检查服务器上的路由表和邻居发现表,以查看它尝试将 IPv6 流量发送到何处。在 wireshark 中,如果类型为 RA 或路由器通告,您可能会看到 ICMPv6 消息。源 MAC 地址可能会告诉您哪个系统导致了这种情况。
更结构化的解决方案:某些交换机具有称为 RA-Guard 的功能,可阻止不需要的 RA 消息。否则,NDPmon 等工具可以检测并对抗它们。
答案2
微软不推荐这样做,但您可以禁用 IPv6、禁用特定的 IPv6 功能或只是强制 Windows 选择 IPv4 而不是 IPv6:
(这是一个解决方法,我会先进行更多故障排除)
KB929852:如何在 Windows 中禁用 IP 版本 6 或其特定组件:
转到以下注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters
DisabledComponents
编辑名为以下之一的DWORD 值(从文章中无情地窃取的表格):
Value - Effects
0 - Enable all IPv6 components. (Windows default setting)
0xffffffff - Disable all IPv6 components except the IPv6 loopback interface
Prefer using IPv4 over IPv6
0x20 - Prefer IPv4 over IPv6
0x10 - Disable IPv6 on all nontunnel interfaces
0x01 - Disable IPv6 on all tunnel interfaces, including ISATAP , 6to4, and Teredo.
0x11 - Disable all IPv6 interfaces except for the IPv6 loopback interface.
并重新启动计算机。
如果服务器上安装了 RRAS,则仅支持0
和值0x20