Git push/pull выполняется слишком долго — проблема с IPv6

Git push/pull выполняется слишком долго — проблема с IPv6

Моя конфигурация:

  • ноутбук: XPS15 7590
  • система: Ubuntu 18.04
  • интернетсвязь: Wi-Fi (5 ГГц)

Каждый раз, когда я бегу git pull, git pushмне приходится ждать около 15 минут, пока это не закончится. Та же проблема с бегом add-apt-repository ppa. Когда я пытался решить ее, я обнаружил,этот вопросгде работало решение:

sudo sysctl net.ipv6.conf.all.disable_ipv6=1

что отключает IPv6 до следующей перезагрузки. Это действительно работает. Я хотел бы понять, почему именно это помогает, а также что можно/нужно сделать (настроить), чтобы сделать это постоянным. И вообще, нормально ли устанавливать это навсегда?

решение1

Чтобы сделать это постоянным, откройте /etc/sysctl.confфайл с помощью sudo

sudo nano /etc/sysctl.conf

Добавьте строку в конец файла:

net.ipv6.conf.all.disable_ipv6=1

После этого вы можете перезагрузить компьютер или запустить

sudo sysctl -p

Альтернативно, вы можете указать вашему ssh-клиенту использовать только ipv4. Для этого откройте ~/.ssh/configс помощью viили nanoи добавьте следующее:

Host *
  AddressFamily inet

AddressFamilyв конфигурации ssh указывает, какой тип адреса использовать при подключении через ssh. Допустимые варианты: any, inet, inet6. Выбор использования inetгарантирует, что ssh вообще не будет использовать ipv6.

Git (команды) используют протокол ssh или http при взаимодействии по сети.Поскольку вы, скорее всего, используете протокол ssh для своих команд git, а протокол ssh использует только ipv4, это решает проблему медленного подключения, связанную с ipv6.

К сожалению, этот альтернативный подход не исправит вашу проблему.add-apt-repository ppa

Связанный контент