У меня есть EC2 в частной подсети с выходным шлюзом только для IPv6. VPC, подсеть и EC2 имеют поддержку IPv6, а EC2 назначает IP-адрес IPv6.
Я могу пропинговать и запускать curl, чтобы выгрузить контент из Интернета.
Однако, когда я запускаю apt- get update
I timeout:
root@ip-10-0-20-20:~# apt-get update
Hit:1 http://security.ubuntu.com/ubuntu bionic-security InRelease
Err:2 http://us-west-2.ec2.archive.ubuntu.com/ubuntu bionic InRelease Could not connect to us-west-2.ec2.archive.ubuntu.com:80 (54.191.70.203), connection timed out
Я предполагаю, что это потому, что он имеет частный IPv4-адрес (10.0.0.0/16) и пытается использовать это для обновления? Как я могу работать под IPv6? Почему он не пытается подключиться к archive.ubuntu.com через адрес IPv6?
Если я пытаюсь принудительно установить IPv6, я получаю Нет адреса, связанного с именем хоста
, означает ли это, что пакеты Ubuntu EC2 не поддержка IPv6 ?? !!
root@ip-10-0-20-20:/var/snap/amazon-ssm-agent/1566# sudo apt-get -o Acquire::ForceIPv6=true update
Err:1 http://us-west-2.ec2.archive.ubuntu.com/ubuntu bionic InRelease
Something wicked happened resolving 'us-west-2.ec2.archive.ubuntu.com:http' (-5 - No address associated with hostname)
Похоже, что зеркало репозитория пакетов ec2 не поддерживает IPv6.
После запуска следующего обновления /etc/apt/sources.list
для использования архива Вместо этого .ubuntu.com отлично работал с IPv6.
sudo sed -i 's / us-west-2 \ .ec2 \ .// g' /etc/apt/sources.list
вам понадобится изменить команду в вашем конкретном регионе (us-east-1 и т. д.)