![apt-get 在 ec2 中不起作用](https://linux22.com/image/892805/apt-get%20%E5%9C%A8%20ec2%20%E4%B8%AD%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我在 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 知识库文章)。