私有 IPv6 AWS EC2 上的 apt-get 更新

私有 IPv6 AWS EC2 上的 apt-get 更新

我在私有子网上有一个 EC2,带有 IPv6 仅出口网关。VPC、子网和 EC2 都支持 IPv6,并且 EC2 已分配 IPv6 IP 地址。

我可以 ping 并运行 curl 从互联网上下载内容。

但是,当我运行时apt-get update超时:

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) 并尝试使用它进行更新?如何让 apt 在 IPv6 下运行?为什么它不尝试通过 IPv6 地址连接 archive.ubuntu.com?

如果我尝试强制使用 IPv6 No address associated with hostname,这是否意味着 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)

答案1

看起来 ec2 包存储库镜像不支持 IPv6。

运行以下命令更新/etc/apt/sources.list以使用 archive.ubuntu.com 后,它可以在 IPv6 上正常运行。

sudo sed -i 's/us-west-2\.ec2\.//g' /etc/apt/sources.list

您需要将命令更改为您的特定区域(us-east-1 等)

相关内容