我在私有子网上有一个 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)并试图用它来更新?我如何才能在 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)
看起来 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 等)