Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在EC2安全组规则中输入IP地址时使用什么格式?_Linux_Amazon Web Services_Ssh_Aws Security Group - Fatal编程技术网

Linux 在EC2安全组规则中输入IP地址时使用什么格式?

Linux 在EC2安全组规则中输入IP地址时使用什么格式?,linux,amazon-web-services,ssh,aws-security-group,Linux,Amazon Web Services,Ssh,Aws Security Group,我试图在同一VPC中配置从堡垒主机(位于公共子网)到私有linux实例(位于私有子网)的安全ssh连接 当我为我的私有linux实例添加一个安全组规则时,最初它会显示如下规则: 请注意,在添加bastion主机的IP地址之前,水印显示“CIDR、IP或安全组”,但当我添加bastion主机的IP地址时,它会抛出错误,如下所示: 源必须是CIDR块或安全组ID 为什么不允许我在这里输入堡垒主机的IP地址?您的情况似乎是: 您在公共子网中有一个EC2实例(“Bastion实例”),并且可以通过

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

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

请注意,在添加bastion主机的IP地址之前,水印显示“CIDR、IP或安全组”,但当我添加bastion主机的IP地址时,它会抛出错误,如下所示:

源必须是CIDR块或安全组ID


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

您的情况似乎是:

  • 您在公共子网中有一个EC2实例(“Bastion实例”),并且可以通过SSH连接到它
  • 您在专用子网中有一个EC2实例(“专用实例”)
  • 您正在配置与私有实例关联的安全组,以便仅允许从Bastion实例进行SSH访问
我注意到您正在安全组中输入公共IP地址(52.63.198.234)。实际上,您应该输入Bastion实例的私有IP地址。通过这种方式,实例之间的流量完全在VPC内流动,而不是离开VPC(访问公共IP地址),然后再次返回

实际上,配置此设置的建议方法是:

  • 为您的Bastion实例创建安全组(“Bastion SG”)
  • 为您的私有实例(“私有SG”)创建安全组
  • 配置专用SG以允许来自Bastion SG的入站SSH流量
通过引用安全组的名称,将自动允许来自与命名安全组关联的任何EC2实例(在本例中,是与Bastion SG关联的任何实例)的流量。这意味着可以添加/替换实例,并且仍然允许基于相关安全组的通信量,而不必更新特定的IP地址

所以,要回答你的问题。。。是的,有三种方法可以引用源代码。从EC2文档中:

  • 以CIDR符号表示的单个IP地址。确保在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”的提示不太匹配(我倾向于同意您的意见),请随意点击控制台中的“反馈”按钮,并向EC2控制台团队提供反馈。

目前,我正在通过添加完整的CIDR块(52.63.198.234/32)来解决此问题。完美的答案有详细的解释