EC2 实例的第二个弹性 IP 上无法获取任何外部流量

EC2 实例的第二个弹性 IP 上无法获取任何外部流量

我有一个运行 CoreOS 1068.9.0 的 EC2 实例。

该服务器正在运行一个非常简单的 Hello World HTTP 服务器。

> curl http://52.43.128.34/
Hello, world!

我有一个分配给同一子网上的网络接口的弹性 IP。它具有公有 IP 地址 54.190.35.220 和私有 IP 地址 10.8.0.104。实例的安全组和网络接口上的安全组均允许来自 的 TCP 端口 80 上的流量0.0.0.0/0

我将网络接口添加到实例。CoreOS 日志似乎表明新 IP 已成功添加,并在 ifconfig 中显示为 eth1

但子网中的其他计算机无法访问 HTTP 服务器,外部也无法访问。VPC 内部和外部的连接均失败——其他计算机无法使用 访问它,curl http://10.8.0.104/外部计算机也无法使用 访问它curl http://54.190.35.220/

是什么赋予了?

编辑:更多信息

  • 服务器应该监听所有接口。此外,我在 SSH 服务器上也看到了同样的行为,因此我认为这不是 HTTP 服务器本身的问题。
  • 网络 ACL 完全开放。
  • 安全组全部对来自 0.0.0.0/0 的端口 80 和端口 22 流量开放。
  • 子网的路由表:

    Route Table: rtb-b6449fd1
    ----------------------------
    Destination   | Target
    ----------------------------
    10.8.0.0/16   | local
    0.0.0.0/0     | igw-91eb56f5
    172.31.0.0/16 | pcx-f6f64e9f
    

答案1

我最终通过为同一接口分配多个 IP 地址而不是为同一台机器添加多个接口来实现相同的目的。结果发现,第一种方法对内核路由来说很麻烦。这篇博文让我明白了

相关内容