我正在尝试配置从堡垒主机(位于公共子网中)到同一VPC中的私有Linux实例(位于私有子网中)的安全ssh连接.
当我为我的私有linux实例添加安全组规则时,最初它将规则显示为:
请注意,在添加堡垒主机的IP地址之前,水印显示“CIDR,IP或安全组”,但是当我添加堡垒主机的IP地址时,它会抛出错误:
The source needs to be a CIDR block or a Security Group ID.
为什么不允许我在这里输入堡垒主机的IP地址?
>您在公有子网中有一个EC2实例(“Bastion instance”),您可以通过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实例的流量(在本例中,与Bastion-SG关联的任何实例).这意味着可以添加/替换实例,并且仍然可以基于关联的安全组来允许流量,而不必更新特定的IP地址.
那么,回答你的问题……是的,有三种方式可以参考来源.从EC2文档Security Group Rules:
- An individual IP address,in CIDR notation. Be sure to use the /32 prefix after the IP address; if you use the /0 prefix after the IP address,this opens the port to everyone. For example,specify the IP address 203.0.113.1 as 203.0.113.1/32.
- An IP address range,in CIDR notation (for example,203.0.113.0/24).
- The name (EC2-Classic) or ID (EC2-Classic or EC2-VPC) of a security group.
因此,IP地址实际上必须使用CIDR表示法,最后使用/ 32.如果您认为这与“IP”的提示不太匹配(我倾向于同意您的意见),请随时点击控制台中的“反馈”按钮,并向EC2控制台团队提供反馈.