【问题标题】:What format to use when entering an IP address into an EC2 Security Group rule?将 IP 地址输入 EC2 安全组规则时使用什么格式?
【发布时间】:2017-02-17 20:30:47
【问题描述】:

我正在尝试在同一 VPC 中配置从堡垒主机(位于公共子网中)到私有 linux 实例(位于私有子网中)的安全 ssh 连接。

当我为我的私有 linux 实例添加安全组规则时,最初它显示规则为:

请注意,在添加堡垒主机的IP地址之前,水印显示“CIDR, IP or Security Group”,但是当我添加堡垒主机的IP地址时,它会抛出错误:

来源需要是 CIDR 块或安全组 ID。

为什么这里不允许我输入堡垒主机的IP地址?

【问题讨论】:

  • 目前我正在通过将完整的 CIDR 块添加为 52.63.198.234/32 来解决它

标签: linux amazon-web-services ssh aws-security-group


【解决方案1】:

看来你的情况是:

  • 您在公有子网中有一个 EC2 实例(“堡垒实例”),您可以通过 SSH 连接到它
  • 您在私有子网中有一个 EC2 实例(“私有实例”)
  • 您正在将与私有实例关联的安全组配置为仅允许来自 Bastion 实例的 SSH 访问

我注意到您在安全组中输入了公共 IP 地址 (52.63.198.234)。您实际上应该输入 Bastion 实例的私有 IP 地址。这样,实例之间的流量完全在 VPC 内流动,而不是离开 VPC(访问公共 IP 地址)然后再次返回。

实际上,配置此设置的推荐方式是:

  • 为您的 Bastion 实例创建一个安全组(“Bastion-SG”)
  • 为您的私有实例创建一个安全组(“Private-SG”)
  • 配置 Private-SG 以允许来自 Bastion-SG 的入站 SSH 流量

通过引用安全组的名称,将自动允许来自与指定安全组关联的任何 EC2 实例(在这种情况下,与堡垒关联的任何实例)的流量-SG)。这意味着可以添加/替换实例,并且仍将根据关联的安全组允许流量,而不必更新特定的 IP 地址。

所以,回答您的问题...是的,有三种方法可以引用源代码。来自 EC2 文档Security Group Rules

  • 单个 IP 地址,采用 CIDR 表示法。请务必在 IP 地址后使用 /32 前缀;如果您在 IP 地址后使用 /0 前缀,这将向所有人开放端口。例如,将 IP 地址 203.0.113.1 指定为 203.0.113.1/32。
  • IP 地址范围,采用 CIDR 表示法(例如,203.0.113.0/24)。
  • 安全组的名称(EC2-Classic)或 ID(EC2-Classic 或 EC2-VPC)。

因此,IP 地址实际上必须使用 CIDR 表示法,以 /32 结尾。如果您认为这与“IP”的提示不太匹配(我倾向于同意您的观点),请随时点击控制台中的 Feedback 按钮并将您的反馈提供给EC2 控制台团队。

【讨论】:

  • 完美答案,详细解释
  • 那么如何将多个IP地址列入白名单?
  • @shamaseen 如果您想提供多个 IP 地址,而不是全部在一个 CIDR 块中,您可以向安全组添加多个规则
猜你喜欢
  • 2015-10-08
  • 2021-10-30
  • 1970-01-01
  • 2016-02-13
  • 1970-01-01
  • 2021-09-22
  • 2018-01-01
  • 2014-02-05
  • 2019-12-27
相关资源
最近更新 更多