AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 996716
Accepted
dangel
dangel
Asked: 2019-12-25 21:28:49 +0800 CST2019-12-25 21:28:49 +0800 CST 2019-12-25 21:28:49 +0800 CST

AWS 安全组不允许从私有 IP 访问 EC2 实例

  • 772

我必须 EC2 实例。它们都在同一个 VPC 中,并且都有分配给它们的公共 IP。

我的问题是我需要使用安全组中的公共 IP 来允许它们进行通信。如果我尝试使用私有 IP,它们的连接将被拒绝。

我最终将删除他们的公共 IP,并且希望以后不必更改我的安全组设置。

为什么我不能使用私有 IP 作为同一 VPC 中两台机器的源?

amazon-web-services
  • 1 1 个回答
  • 1404 Views

1 个回答

  • Voted
  1. Best Answer
    Michael - sqlbot
    2019-12-26T10:07:06+08:002019-12-26T10:07:06+08:00

    tl;dr:当您使用其公共 IP 地址连接到实例时,您也必须使用源计算机的公共地址作为源地址(或它的 NAT 网关,如果源实例没有 publig IP),并且当你这样做时,你的流量会传到 Internet 并返回(尽管你承认你并没有远离 Internet)。

    让我们举两个例子:

    #1 public 203.0.113.1 private 172.31.3.1
    #2 public 203.0.113.2 private 172.31.3.2
    

    如果实例 #1 使用实例 #2 的公共 IP 203.0.113.2 连接到 #2:

    • IP 数据包离开实例 #1,源 IP 为 172.31.3.1,目标地址为 203.0.113.2。
    • 数据包到达 VPC 路由表,发现 203.0.113.2 不是 VPC 内部的 IP 地址,因此路由表将其发送到 Internet 网关
    • Internet 网关看到源地址为 172.31.3.1 的流量,它知道它实际上是一个具有公共 IP 203.0.113.1 的 EC2 实例,因此它将源 IP 地址从 172.31.3.1 重写为 203.0.113.1 并将其发送到 Internet。
    • 源 IP 现在是 203.0.113.1,目标 IP 是 203.0.113.2。
    • 一个未命名的组件(可能是 Internet 网关本身,但它可能位于 Internet 网关和一个很少讨论的区域 AWS 基础设施(称为中转中心)之间,每个区域至少有两个)看到 203.0.113.2属于您的 Internet 网关,流量被发夹回您的 Internet 网关进行处理。
    • Internet 网关知道 203.0.113.2 属于您的实例 #2,因此它将目标地址转换为 172.31.3.2;此时,源地址仍然是,并且将是 203.0.113.1。
    • 实例 #2 及其安全组将此流量视为来自 Internet,源 IP 为 203.0.113.1,因此这是安全组必须允许的地址。

    如果实例 #1 使用 172.31.3.2 连接到实例 #2,则基本上不会发生这种情况,因此 #2 的安全组会将 172.31.3.1 视为源地址。

    使用目标实例的私有 IP 是可行的方法。

    请注意,使用私有 IP 时,您还可以在实例 #2 的安全组规则中列出实例 #1 的安全组 ID,而不是列出实例 #1 的私有 IP 地址。它与控制台中的 IP 位于同一位置——sg在该框中键入,您应该能够选择一个。如果您将实例#1 放在一个自动缩放的“一组”中,这可能更容易维护并且运行良好——这样如果机器失败,自动缩放会替换机器。

    另请注意,当两个实例使用它们的公共 IP 进行通信时,您需要为进出和返回付费。它不像 Internet 流量成本那么高,但该费率类似于区域内跨可用区的费率和区域内 VPC 对等流量。

    • 3

相关问题

  • 与 AWS 中的其他系统相比,CentOS 报告的总内存较低

  • 如何在 Amazon Linux 服务器上升级到 Java 1.8?

  • 了解 Amazon AWS 使用数据

  • 亚马逊提供的负载均衡服务体验如何?

  • ELB 中现有节点的 AWS 自动缩放问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve