使用 Ubuntu 17.04 的 Chrome 出现 ERR_NETWORK_CHANGED

使用 Ubuntu 17.04 的 Chrome 出现 ERR_NETWORK_CHANGED

当我使用 Google Chrome(当前版本为 61,但之前存在此错误)时,我不断收到此错误ERR_NETWORK_CHANGED。通常,网页会在一秒钟后重新加载并运行,但通常情况下,一切都无法正常工作。例如,我根本无法从 Google Drive 下载文件,因为 XHR 调用失败并出现此错误(这是示例。此错误并非特定于 Google Drive)。无法使用 Google/Facebook 进行社交登录,因为登录后的回调也会失败。隐身模式下也存在此问题。

使用 Firefox,似乎没有任何问题。

在 Ubuntu 16.04 上,此问题不存在。

以太网控制器是 I219-V。无法尝试其他机器。

在写这篇文章的时候,我发现禁用 IPv6 隐私扩展

sudo sysctl -w net.ipv6.conf.enp0s31f6.use_tempaddr=0

而重新启动界面看似是一个解决问题的变通方法,但是显然用变通方法而不是解决根本问题是不好的。

  1. 这是怎么回事?为什么这会影响 Chrome 而不影响 Firefox?有什么区别?
  2. 关于这个问题,Ubuntu 17.04 和 16.04 有什么区别?
  3. 我如何才能获得有关该问题的更多信息?
  4. 这是 Ubuntu 17.04 的已知问题吗?

答案1

对于其他可能不像我这样想到这一点的人来说 - 这是由我在机器上运行的 docker 容器引起的。

答案2

在启动 docker 容器时发出 js 请求似乎会触发此类错误。当动态添加/删除容器时,以某种方式与 docker 网络相连。仅限 Chromium,在 Firefox 上看不到。

答案3

在 Ubuntu 18.04 和 Google Chrome Stable(现在为 80.0.3987.106)中仍然会发生这种情况。

禁用 Docker 可以减少(但不能消除)此问题,使用 sysctl 禁用use_tempaddr也可以减少(但仍然不能消除)。

我需要完全禁用 IPv6 以避免此问题,方法是更改/etc/default/grub​​:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

到:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet splash"

然后运行Docker就可以了。

答案4

或者,可以添加以下行/etc/sysctl.conf以永久禁用 IPv6。

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

相关内容