同一VPC内实例无法通过公网IP访问服务器的问题咨询
问题分析与解决方案
核心原因
同一VPC内的实例通过公网IP访问另一台实例时,流量并不会走VPC内部的私有网络链路,而是会通过公网网关进行NAT转换——发起请求的实例的私有IP会被转换成它的公网IP,此时目标服务器的安全组入站规则里的10.0.0.0/8(私有IP段)无法匹配这个公网源IP,所以连接被拒绝。
而用私有IP访问时,流量完全在VPC内部传输,源IP是发起实例的私有IP,刚好匹配10.0.0.0/8规则,所以可以正常连接。
解决方案
优先使用私有IP访问
这是VPC内部通信的标准方式,既符合云网络的设计逻辑,又能避免公网NAT带来的额外开销和安全风险,直接用目标实例的私有IP进行telnet或SSH连接即可。若必须使用公网IP访问
在目标服务器的安全组入站规则中,添加发起访问的实例的公网IP作为源(格式如x.x.x.x/32),针对22端口开放TCP协议。如果有多个同VPC内的实例需要用公网IP访问,可以将这些公网IP整理成一个IP地址组,再添加对应的安全组规则。部分云厂商的额外优化(可选)
部分云平台支持开启VPC内的「公网IP本地解析」功能,开启后同VPC内实例访问目标公网IP时,会自动解析为私有IP,流量走内部链路,无需修改安全组规则即可正常连接。
内容的提问来源于stack exchange,提问作者cosmos-1905-14
相关产品推荐
相关产品推荐

