apt-get 在 ec2 中不起作用

apt-get 在 ec2 中不起作用

我在 EC2 上运行 14.04 LTS。我尝试运行 apt-get update。

ubuntu@splunk:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:        14.04
Codename:       trusty

我收到的错误是:

ubuntu@splunk:~$ sudo apt-get update
Err http://us.archive.ubuntu.com trusty-security InRelease

Err http://us.archive.ubuntu.com trusty-updates InRelease

Err http://us.archive.ubuntu.com trusty-security Release.gpg
  Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::16). - connect (101: Network is unreachable) [IP: 2001:67c:1562::16 80]
Err http://us.archive.ubuntu.com trusty-updates Release.gpg
  Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::16). - connect (101: Network is unreachable) [IP: 2001:67c:1562::16 80]
0% [Connecting to archive.ubuntu.com (91.189.88.162)]

我确认了我的消息来源并运行了以下命令,但仍然不起作用

sudo apt-get autoremove
$ sudo apt-get --purge remove && sudo apt-get autoclean
$ sudo apt-get -f install
$ sudo apt-get update
$ sudo apt-get upgrade && sudo apt-get dist-upgrade
$ sudo dpkg-reconfigure -a
$ sudo dpkg --configure -a

这不是网络问题,但我能够在 http 上运行 wget 到 splunk.com,并且 DNS 解析正在完成。

答案1

这是此服务器路由通过的防火墙的问题。一旦我们允许 10.0.0.0/8 :80 出去,它就起作用了。我认为 wget 之所以起作用是因为允许了 443。

答案2

这很容易解决。

只需转到 AWS VPC 并选择您的路由表,只需添加 ::/0 >

然后执行 apt-get update

答案3

我遇到了这里描述的确切问题,并三次检查了我的安全组(防火墙),但仍然无法访问互联网。如果您仍然遇到像我这样的问题,则根据您的子网路由,还有另外两个可能的原因/解决方案:

  • 如果您的实例位于私有子网(没有“互联网网关”路由的子网)中,那么您将遇到此问题。如果您希望它保持私有,则需要设置 NAT 网关并将其用作 0.0.0.0/0 的路由(请参阅此 AWS 知识库文章), 或者
  • 如果您的实例位于公共子网(即具有“互联网网关”路由的子网)中,并且您仍然无法访问互联网,那么您需要确保您的实例具有弹性 IP 或公共 IP(也称为免费的非弹性 IP)。注意:另请注意,公共 IP 只能在实例启动时启用(请参阅此 AWS 知识库文章)。

答案4

您正在使用 Amazon Linux 实例。为 ubuntu 启动新实例。

参见片段

如果有效,请接受答案

相关内容