应该访问位于AWS上的服务器的地址?
我已经创建了一个AWS实例并在其上安装了一个Web服务器。但是,无法通过以下任何一种方式访问服务器:
ifconfig
令人惊讶的是,使用root@ec2-174-129-24-92.compute-1.amazonaws.com
的ssh工作正常。
可能是什么问题以及如何将地址绑定到实例?
答案 0 :(得分:31)
在您的安全组中,在ICMP上为范围0.0.0.0/0打开-1到-1,您将能够ping。
请参阅我的屏幕截图以获得更好的视图:
由@emostar发布的图片
答案 1 :(得分:17)
2014年更新 - 当前的亚马逊用户界面不再使用ICMP类型的数字,因此现有答案不再有效。
在您的安全组中:
你就可以ping了。
答案 2 :(得分:11)
正如nowthatsamatt所说,您希望允许ICMP来自所有地址。
要在命令行上执行此操作,您可以运行:
ec2-authorize <group> -P icmp -t -1:-1 -s 0.0.0.0/0
或者如果您更喜欢AWS控制台,这就是它的样子(截至2012-09-19当前):
答案 3 :(得分:9)
Ping不适用于EC2,因为ping运行在典型的EC2安全组配置中阻止的ICMP协议。
通过使用tcping(一种在TCP端口上运行的ping替代方案),这是解决此问题的一种非常好的方法:
tcping ec2-174-129-24-92.compute-1.amazonaws.com
tcping ec2-174-129-24-92.compute-1.amazonaws.com 22
它在端口80(第一个示例)上运行,但您也可以指定用于测试连接的其他端口(第二个示例)。
答案 4 :(得分:7)
在AWS安全组(入站)中提供2条规则,
Custom ICMP Rule Echo Request N/A 0.0.0.0/0
Custom ICMP Rule Echo Reply N/A 0.0.0.0/0
答案 5 :(得分:5)
晚了八年,但希望这会帮助其他人......
下面显示了如何启用ping所需的端口。
1)首先确保EC2实例具有公共IP。它有一个公共DNS 或公共IP 地址,那么你应该是好的。这也应该是您ping的地址。
2)转到EC2正在使用的安全组。
3)创建一个Windows防火墙例外。
答案 6 :(得分:2)
如果您的实例使用Windows AMI,则需要确保AWS控制台和Windows防火墙上的安全组都设置为接受您所需端口上的连接。
在我配置Windows防火墙以允许我想要的端口上的连接之前,我遇到了启用http访问的相同问题。通过访问控制面板&gt;系统和安全性&gt; Windows防火墙&gt;高级设置,可以在Windows中轻松完成此操作。然后配置新的端口规则以允许传入的TCP流量到您需要的端口或端口范围。
答案 7 :(得分:0)
2014年9月更新: 经过一段时间不能没有冻结,我尝试ping www.google.com。令我惊讶的是,我也无法解决问题。我按照上面的建议创建了一个带有入站回应请求的新ICMP规则。这对我也没有用。经过多次尝试后,我使用Echo Request为Outbound创建了一个新规则。现在它有效。也许AWS最近加了这个?无论如何,希望这有助于那里的人。不能做像ping这样简单的事情可能会使一个人疯狂。
编辑:现在我的apt-get也有效!
答案 8 :(得分:0)
从本地mac机器连接时,我遇到了类似的问题
解决方法如下:
在网络ACL下添加广告
2.1用于本地计算机的ping操作 - &gt;
所有ICMP - IPv4 ICMP(1)ALL 0.0.0.0/0 ALLOW
2.2 ssh /其他连接
SSH (22) TCP (6) 22 0.0.0.0/0
ALL Traffic ALL ALL 0.0.0.0/0
良好做法将您的子网与路由表相关联
在Ec2下 - &gt;安全小组
4.1要允许SSH连接,只需添加如下
SSH (22) TCP (6) 22 0.0.0.0/0
4.2使用本地计算机进行ping操作,如下所示
All ICMP - IPv4 All N/A 0.0.0.0/0
这将使您的连接适用于ping&amp;使用KEY文件(xx.pem)从本地计算机上ssh
感谢,
答案 9 :(得分:0)
我发现,如果您在AWS服务器上安装VPN服务器,则可以连接到VPN并ping虚拟专用网络中的专用IP地址。