我在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&挖掘命令工作正常!
谢谢!
答案 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实例选择正确的组