AWS ubuntu 实例无法到达世界
AWS ubuntu instance can't reach the world
我在 AWS 中创建了一个新的 ubuntu 实例,我可以通过 ssh 成功连接到它。
但是,当我尝试使用此命令安装软件包时,它不起作用:
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
路由 table 设置:
Destination Target Status Propagated
10.1.0.0/24 local Active No
0.0.0.0/0 igw-cfe30caa Active No
这里有什么问题吗?
编辑:nslookup 和 dig 命令工作正常!
谢谢!
您的入站网络 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
重要提示:不要将上面讨论的临时端口规则添加到安全组入站规则。由于安全组是有状态的,因此您只想 "allow" 在您希望启动 TCP 会话的方向上传输流量。安全组规则自动允许对已建立的 TCP 会话的响应,但网络 ACL 规则不允许,因为它们的实现方式不同。
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html
* 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 前端转到安全组 -> 出站允许出站
确保 select 为您的 AWS 实例选择正确的组
我在 AWS 中创建了一个新的 ubuntu 实例,我可以通过 ssh 成功连接到它。 但是,当我尝试使用此命令安装软件包时,它不起作用:
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
路由 table 设置:
Destination Target Status Propagated
10.1.0.0/24 local Active No
0.0.0.0/0 igw-cfe30caa Active No
这里有什么问题吗?
编辑:nslookup 和 dig 命令工作正常!
谢谢!
您的入站网络 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
重要提示:不要将上面讨论的临时端口规则添加到安全组入站规则。由于安全组是有状态的,因此您只想 "allow" 在您希望启动 TCP 会话的方向上传输流量。安全组规则自动允许对已建立的 TCP 会话的响应,但网络 ACL 规则不允许,因为它们的实现方式不同。
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html
* 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 前端转到安全组 -> 出站允许出站
确保 select 为您的 AWS 实例选择正确的组