AWS ubuntu实例无法覆盖全球

时间:2015-01-02 08:04:50

标签: linux amazon-web-services amazon-ec2 amazon-vpc

我在AWS中创建了一个新的ubuntu实例,我可以成功连接到它。 但是,当我尝试使用此命令安装软件包时,它将无法工作:

sudo apt-get install apache2  
...
...
0% [Connecting to ap-southeast-2.ec2.archive.ubuntu.com (91.189.91.23)]^Cubuntu@ip-10-1-0-99:/etc$

这永远不会前进!

我试过ping google.com.au,也没有回复。

以下是AWS的VPC配置:

Network ACL : 

Outbound:
Rule #  Type        Protocol    Port Range  Destination Allow / Deny
100 ALL Traffic ALL     ALL     0.0.0.0/0   ALLOW
*   ALL Traffic ALL     ALL     0.0.0.0/0   DENY

Inbound : 
Rule #  Type        Protocol    Port Range  Source  Allow / Deny
10  HTTP (80)   TCP (6) 80  0.0.0.0/0   ALLOW
120 HTTPS (443) TCP (6) 443 0.0.0.0/0   ALLOW
140 SSH (22)    TCP (6) 22  0.0.0.0/0   ALLOW
*   ALL Traffic ALL ALL 0.0.0.0/0   DENY

安全组出站设置:

Type    Protocol    Port Range  Destination 
ALL     Traffic     ALL     ALL     0.0.0.0/0

路由表设置:

Destination     Target      Status  Propagated
10.1.0.0/24 local       Active  No
0.0.0.0/0   igw-cfe30caa    Active  No

这里有什么问题?

编辑:nslookup&挖掘命令工作正常!

谢谢!

2 个答案:

答案 0 :(得分:13)

您的入站网络ACL仅允许发送到入站 TCP端口22,80和443的流量。它不允许您的短暂端口上的出站请求的响应。

$ cat /proc/sys/net/ipv4/ip_local_port_range
32768   61000

您需要网络ACL中的规则允许TCP 32768到61000 ......或者更好的是,根本不要使用入站网络ACL - 将其设置回默认值,以允许所有。

除非您的网络配置特别复杂,否则几乎可以肯定不需要使用网络ACL。安全组中的入站规则通常足以控制对实例的访问。入站安全组规则默认拒绝,与网络ACL(无状态数据包过滤器)不同,安全组是有状态的,TCP会话感知。

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Security.html#VPC_Security_Comparison

重要提示:不要将上面讨论的临时端口规则添加到安全组入站规则中。由于安全组是有状态的,因此您只希望在您希望启动TCP会话的方向上“允许”流量。安全组规则自动允许对已建立的TCP会话的响应,但不允许网络ACL规则,因为它们的实现方式不同。

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html

答案 1 :(得分:2)

*   ALL Traffic ALL     ALL     0.0.0.0/0   DENY - Wrong

*   ALL Traffic ALL     ALL     0.0.0.0/0   Allow - Right

如果您想连接到google.com等外部服务器,请允许外拨 甚至想要更新 - sudo apt-get update

您可以允许使用AWS前端转出安全组 - >外向

确保为AWS实例选择正确的组