在 Windows 10 Pro 1809 build 17763.805 上,我的网络连接每 2 秒从在线跳到离线。我正在运行 Hyper-V 以使用 Docker Desktop for Windows。
检查Control Panel\Network and Internet\Network Connections
我看到两个网络接口:
- “以太网”,其状态在我的 Windows 域名和“启用”之间交换
- “vEthernet (DockerNAT)”Hyper-V 虚拟以太网适配器 #2(状态为“未识别的网络”)
然后每隔几秒钟出现和消失的三分之一:
- “vEthernet(默认开关)”Hyper-V 虚拟以太网适配器
当默认开关消失时,我的以太网适配器报告了一个 Windows 域连接。几秒钟后,当Default Switch
重新出现时,我的以太网适配器的状态恢复为“已启用”,并且在尝试重新建立连接时我失去了域连接。
进一步挖掘,我每分钟左右都会看到这个 Windows 系统事件日志块循环(NIC 标识符随循环而变化):
NIC B99A4A01-143A-4DD6-AE3C-5D6AAA8ABF41 已成功从端口断开。
nic B99A4A01-143A-4DD6-AE3C-5D6AAA8ABF41(友好名称:默认开关)上的“删除”操作成功。
NIC C08CB7B8-9B3C-408E-8E30-5E16A3AEB444 已成功从端口 C08CB7B8-9B3C-408E-8E30-5E16A3AEB444 断开连接。
nic C08CB7B8-9B3C-408E-8E30-5E16A3AEB444(友好名称:默认开关)上的“删除”操作成功。
nic C08CB7B8-9B3C-408E-8E30-5E16A3AEB444(友好名称:默认开关)上的“创建”操作成功。
NIC C08CB7B8-9B3C-408E-8E30-5E16A3AEB444(友好名称:默认交换机)已成功连接到交换机 C08CB7B8-9B3C-408E-8E30-5E16A3AEB444(友好名称:默认交换机)上的端口 C08CB7B8-9B3C-408E-8E30-5E16A3AEB444(友好名称:默认交换机)名称:默认开关)。
开关 C08CB7B8-9B3C-408E-8E30-5E16A3AEB444(友好名称:默认开关)已成功初始化。
我最初将其发布到Docker 论坛。
我不确定还有什么可以帮助诊断,所以请发表评论,我很乐意添加任何其他有用的细节!
我在多个 Windows 10 版本中长期遇到同样的问题,但最终找到了解决方案。当前运行 Windows 10 内部版本 19025.1052。
Windows 10 上有一项名为“DNS 客户端”或 dnscache 的服务,我已禁用该服务。一旦我重新启用该服务并重新启动 Windows,Hyper-V 就会创建默认开关,并且它没有被删除/重新安装。
这也解决了现在使用 Hyper-V 的 WSL 2 安装问题。WSL 2 安装将失败并显示“RPC 服务器不可用”。
要启用 DNS 客户端服务,我按照此处的说明进行操作: https ://wintechlab.com/enable-disable-dns-client-service/
该服务具有高级别的权限,我可以启用的唯一方法是转到注册表项:
并将
Start
DWORD 设置为 2(自动)而不是 4(禁用)。令人沮丧的是,对于我自己和我的同事分享这个问题:解决方案是将 Windows 10 更新到 1909(具体来说,我正在构建 18363.476)。
一个不令人满意的解决方案,但经过几个月的尝试后唯一有效的方法。
我刚刚遇到了一个非常相似的问题,它在重新启动后立即出现,但是由于我已经更新到最新版本的 Windows,所以选择的解决方案不可用。此外,
dnscache
正如 OP 对 Reyad 回答的评论中提到的那样,该服务已经在运行。最终,有一个重复的 WSL 虚拟网络,所以我知道有些东西很时髦。最终为我解决问题的是首先运行
sfc /scannow
,然后停止并启动hns
服务(主机网络服务)。然后,当我使用 WSL 2 时,我还重新启动了该LxssManager
服务。之后,额外的 WSL 网络神奇地消失了,我的连接稳定了,事件查看器也没有显示新的错误。