Git 推/拉耗时太长 - IPv6 问题

mat*_*252 5 ubuntu git ipv6

我的配置:

  • 笔记本电脑:XPS 15 7590
  • 系统:Ubuntu 18.04
  • 互联网连接:wifi(5 GHz)

每次运行时git pullgit push我都必须等待 15 分钟才能完成。运行相同的问题add-apt-repository ppa。当我试图解决它时,我在解决方案运行的地方发现了这个问题

sudo sysctl net.ipv6.conf.all.disable_ipv6=1
Run Code Online (Sandbox Code Playgroud)

这将禁用 IPv6,直到下次重新启动。真的行。我想了解为什么这有帮助,以及可以/应该做什么(设置)以使其永久化。永久设置它实际上可以吗?

GMa*_*ter 6

为了使其永久化,请/etc/sysctl.conf使用 sudo打开您的文件

sudo nano /etc/sysctl.conf
Run Code Online (Sandbox Code Playgroud)

在文件底部添加一行:

net.ipv6.conf.all.disable_ipv6=1
Run Code Online (Sandbox Code Playgroud)

之后,您可以重新启动机器或运行

sudo sysctl -p
Run Code Online (Sandbox Code Playgroud)

或者,您可以指示您的 ssh 客户端仅使用 ipv4。为此,请~/.ssh/config使用vi或打开nano并添加以下内容:

Host *
  AddressFamily inet
Run Code Online (Sandbox Code Playgroud)

AddressFamily在 ssh 配置中指示通过 ssh 连接时使用哪种类型的地址。有效的选择是anyinetinet6。选择使用inet可确保 ssh 根本不使用 ipv6。

Git(命令)在通过网络通信时使用 ssh 或 http 协议。由于您的 git 命令很可能使用 ssh 协议,并且使 ssh 协议仅使用 ipv4,因此它解决了与 ipv6 相关的连接缓慢问题。

不幸的是,这种替代方法无法解决您的问题 add-apt-repository ppa

  • 我建议使用不会在系统范围内禁用 ipv6 的替代方法 `~/.ssh/config` (2认同)