【问题标题】:ec2 security group does not allow ping outboundec2 安全组不允许 ping 出站
【发布时间】:2016-11-21 21:28:17
【问题描述】:

我知道安全组是 STATEFUL,这意味着如果入站或出站流量被统治,则在另一个绑定中将有一个关联规则来发送流量。

考虑到这一点,我创建了一个自定义 VPC 和一个公共子网。我已成功通过 ssh-ed 连接到我的网络中的一个公共实例。但是,我无法从同一子网中的一台公共机器 ping 到另一台!即使我添加了这个入站规则,

所有流量 ALL sg-xxx

上述规则应自动考虑到同一安全组中的每个实例的出站。但它没有

所以,我必须再次手动添加出站规则:

所有流量所有所有 sg-xxx

为什么会这样?

【问题讨论】:

  • 安全组是否允许入站 ICMP 流量?除非数据包可以双向发送,否则 ping 无法得到响应。
  • 是的,入站规则接受来自同一安全组的所有流量。但是,这也必须写为出站规则才能起作用。仅提及入站规则不起作用!

标签: amazon-web-services amazon-ec2 aws-security-group


【解决方案1】:

看来你的情况是:

  • 两个实例(称它们为 A 和 B)在同一子网中
  • 安全组已应用于两个实例
  • 安全组已配置允许所有流量的入站规则
  • 无法 ping 从一个实例到另一个实例

要让实例 A ping 实例 B,以下是必要的:

  • 实例 A 关联的安全组上的出站规则,允许 ICMP 流量
  • 实例 B 关联的安全组上的入站规则,允许 ICMP 流量
  • 由于安全组的状态特性,将允许从实例 B 到实例 A 的返回流量离开实例 B
  • 由于安全组的状态特性,将允许从实例 B 到实例 A 的返回流量进入实例 A

由于您对两个实例使用相同的安全组,因此您需要同时允许入站和出站访问。或者,您可以使用两个不同的安全组

  • 实例 A 上的一个安全组允许出站流量
  • 实例 B 上的一个安全组允许入站流量

要理解的重要概念是安全组定义入站/出站规则。与同一安全组关联的多个实例将规则分别应用于每个实例。与网络子网不同,具有相同安全组的实例不在安全组“内部”——它们只是具有相同的规则。

【讨论】:

  • 我无法理解:与网络子网不同,具有相同安全组的实例不在安全组“内部”
  • 如果实例在同一个子网上,那么它们可以相互通信而不受网络 ACL 的影响。网络 ACL 仅对进出子网的流量起作用。这类似于安全组如何对进出实例的流量进行操作。但是,具有相同安全组的实例不会在安全组“内”相互通信。相反,安全组规则分别应用于每个实例。
猜你喜欢
  • 1970-01-01
  • 2014-09-24
  • 2012-10-24
  • 2015-10-08
  • 2021-03-16
  • 2018-11-15
  • 1970-01-01
  • 1970-01-01
  • 2016-12-12
相关资源
最近更新 更多