【问题标题】:AWS: security groups ignoring traffic from elastic IPAWS:安全组忽略来自弹性 IP 的流量
【发布时间】:2014-09-18 23:17:21
【问题描述】:

我有 2 个 AWS 实例,i-1i-2。它们分别位于不同的安全组:sg-1sg-2。两台机器都有弹性 IP。

sg-2 配置为允许来自sg-1 的所有流量,无论端口、源 IP 或协议如何。

i-1 尝试与i-2 通话时,它的流量被阻止。似乎 AWS 没有考虑到 i-1 的流量实际上来自其弹性 IP。

这是预期的吗?除了手动将i-1 的弹性IP 添加到sg-2 之外,我还能做些什么来解决它?

【问题讨论】:

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


    【解决方案1】:

    sg-2 配置为允许来自 sg-1 的所有流量

    执行此操作时,仅允许来自私有 IP 地址的流量。但是,当您使用 EIP 时,您需要明确允许来自该 IP 地址的流量。

    阅读:https://forums.aws.amazon.com/thread.jspa?messageID=414060

    引用以上链接:

    出于好奇,您是否使用公共 IP 地址进行连接?当您使用以安全组为源的规则时,它只会在通过内部网络连接时匹配。但是,私有 IP 地址可以更改。如果您有与实例关联的弹性 IP,则公有 DNS 名称恰好是静态的,并且在同一 EC2 区域内使用时将始终解析为当前私有 IP 地址。这使您可以轻松地进行内部连接,而不必担心任何地址更改。

    【讨论】:

    • 谢谢。可惜他们没有想到这一点。如果他们允许在安全组规则中使用主机名,那就太好了,但我只是尝试过,但它不起作用。哇!
    【解决方案2】:

    您没有真正提供足够的信息来诊断问题,但有几件事需要检查:

    1. I-1 肯定在 SG-1 中吗?如果你把实例搞混了,那么 SG 规则就会走错路。
    2. SG-2 中的计算机是否运行了防火墙,即使 SG 规则允许,也可能阻止传入流量?
    3. 您已使用 VPC 标记对此进行了标记 - 您是否有任何可能阻止流量流动的网络 ACL 设置?机器是私有的,使用 NAT 设备访问 Internet,还是公共的,通过标准 AWS 网关路由? I-1 可以上网吗?如果您通过 NAT 进行路由,那么将 EIP 分配给一台机器会有效地切断它与 Internet 的连接,因为 EIP 和 NAT 是相互不兼容的,虽然我没有尝试过,但这也可能会破坏 SG 路由。
    4. SG-1 是否有任何出口规则可能会阻止流量离开?

    如果其中任何一个问题的答案是“是”,那么您的问题的答案很可能会在其中一个问题的解决方案中找到。

    【讨论】:

    • 感谢诊断帮助。这是在没有其他内容的裸帐户上复制的,以下是答案:1. 是 2. 没有防火墙 3. 没有 ACL,没有 NAT,是的 i-1 可以看到互联网。 4. 没有出口规则这些建议很有帮助,但在这种情况下没有帮助。
    【解决方案3】:

    正如slayedbylucifer 之前所说,您需要明确允许来自 EIP 的流量。

    这是official AWS documentation about Security Groups的推理:

    当您将安全组指定为规则的源时,允许来自与指定协议和端口的源安全组关联的网络接口的流量。 根据与源安全组关联的网络接口的私有 IP 地址(而不是公共 IP 或弹性 IP 地址)允许传入流量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-27
      • 2015-09-16
      • 2016-07-15
      • 1970-01-01
      • 2015-12-10
      • 2012-10-24
      • 2017-10-20
      • 2018-01-19
      相关资源
      最近更新 更多