Благодаря @darnir я понял, как сделать «обходной путь» для решения этой проблемы!По сути, мне пришлось добавить несколько псевдонимов для wget
и apt-get
в мой файл .bashrc
и редактировать /etc/sysctl.conf
псевдонимы для ~/.bashrc
:
# alias for wget force connection through ipv4
alias wget='wget -4 '
# alias for apt-get force connections through ipv4
apt-get='apt-get -o Acquire::ForceIPv4=true
Редактирование /etc/sysctl.conf
(Помните, что это решение реализовано в дистрибутиве Linux Mint)
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Чтобы перезапустить systcl:
sudo sysctl -p
Или вы можете использовать -w
в sysctl
команду напрямую.Но вы потеряете эту конфигурацию, как только закончите сеанс терминала:
sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1
sysctl -w net.ipv6.conf.lo.disable_ipv6=1
ПРЕДУПРЕЖДЕНИЕ это не очень хорошее решение, потому что оно не распространяется на все системы.Очевидно, проблема заключается в том, что алгоритмы для разрешения IPv6 слишком медленны для правильной работы в виртуальных машинах (по крайней мере, на обычных машинах).Если у кого-то есть другая идея, пожалуйста, опубликуйте ее!: D