我刚开始使用EC2,我有一个问题很容易回答--我的EC2实例有一个公有IP和域名,以及一个私有IP和域名。在我的笔记本电脑工作站上,我可以ping公共IP,没有问题。当我从我的笔记本电脑ssh ubuntu@public-ip ssh到public-ip时,这会将我带到私有ip提示符ubuntu@ private -ip。我相信网络地址翻译器来了,它会把公有IP翻译成私有IP,然后把ssh的me翻译成私有IP。ifconfig向我显示了预期的私有ip。问题是我现在无法像预期的那样从EC2实例的内网IP执行ping笔记本电脑IP操作。
P:S。以下是amazon.com的摘录,可能与此处相关:
还为接收公共IP地址的每个实例提供一个外部DNS主机名;例如,ec2-203-0-113-25.computer-1.amazonaws.com。我们将外部DNS主机名解析为实例网络外的实例的公共IP地址,以及实例网络内的实例的私有IPv4地址。通过网络地址转换(NAT)将公有IP地址映射到主私有IP地址。有关NAT的更多信息,请参阅RFC 1631: IP网络地址转换器(NAT)。
我想要的是能够ssh到公共IP (提示符应该显示ubuntu@public IP而不是ubuntu@private IP ),这样我就可以在我的笔记本和EC2实例之间来回ping。
任何帮助都是非常感谢的。
最佳罗翰
发布于 2017-05-11 11:07:31
ping问题与您看到的内容无关。
您看到的总是--无一例外-- EC2如何使用公共IP地址。实例只知道自己的内网IP,基础设施会自动处理内网地址和公网地址之间的1:1 NAT。
我在Why do we need private subnets in VPC?中提到了这一点
如果您无法ping通笔记本电脑,则问题很可能出在笔记本电脑端。
尝试从您的EC2实例执行ping 8.8.8.8。或ping stackoverflow.com。Ping已知可Ping通的任何内容。
或者,使用遥视镜,如this one来ping您的笔记本电脑。它起作用了吗?
如果从实例mind任何目的地都不起作用,那么脑海中出现的唯一其他解释是,您可能更改了实例的出站安全组设置,而不了解更改的含义...或者你对iptables做了一些不是你想做的事情...但我想你会提到这些的。
发布于 2017-05-13 17:37:48
SSH到内网ip需要在您私有网络的内网,可以通过VPN实现
https://stackoverflow.com/questions/43901293
复制相似问题