我有一个在AWS中运行的EC2实例。当我试图从我的本地盒子ping它是不可用的。
我如何能使实例pingable?
我有一个在AWS中运行的EC2实例。当我试图从我的本地盒子ping它是不可用的。
我如何能使实例pingable?
当前回答
有两件事需要考虑。
检查安全组规则。 包括如下所示的入站规则。
类型:自定义ICMPV4, 协议:ICMP, Portrange: Echo Request, 来源:0.0.0.0/0
检查EC2实例的防火墙状态。 在/etc/ufw/before.rules中追加如下内容 -p icmp——icmp-type echo-request -j ACCEPT
其他回答
确保使用aws ec2实例的公共IP进行ping。 编辑附加到EC2实例的安全组,并为ICMP协议添加入站规则。 尝试ping,如果这个问题没有解决,然后在安全组中添加ICMP的出站规则。
您必须编辑EC2实例所属的Security Group并允许访问(或者创建一个新的Security Group并将该实例添加到其中)。
默认情况下,一切都被拒绝。您需要添加到安全组的例外取决于您需要向internet提供的服务。
如果它是一个web服务器,你需要允许访问端口80为0.0.0.0/0(这意味着任何IP地址)。
要允许ping实例,您需要启用ICMP通信。
AWS Web控制台在相关下拉列表中提供了一些最常用的选项。
当ping两个系统时,默认启用SSH(如果您通过putty或终端连接)。为了允许ping,我为每个实例(入站)添加了安全组。
请仔细检查下面的核对表
1)您必须首先检查实例是否启动在一个子网中,该子网可以从internet访问
为此,检查实例启动的子网是否附加了internet网关。有关AWS网络的详细信息,请访问下面的链接。
aws VPC中的公网子网和私有子网
2)检查你是否添加了正确的安全组规则,如果没有,在附加到实例的安全组中添加以下规则。安全组是连接到每个启动实例的防火墙。安全组包含入站/出站规则,这些规则允许流量进出实例。默认情况下,每个安全组允许来自该实例的所有出站流量,而不允许进入该实例的流量。查看下面的链接,了解更多流量的详细信息。
安全组文档
类型:自定义ICMPV4
协议:ICMP
Portrange: Echo Request
来源:0.0.0.0/0
3)检查子网级防火墙(称为NACL)中是否有足够的规则。NACL是一种无状态防火墙,需要分别指定入站和出站流量。NACL应用于子网级别,子网下的所有实例都将遵循NACL规则。下面是有更多细节的链接。
氯化钠的文档
入站规则。出站规则
Type:自定义IPV4 Type:自定义IPV4
Protocol: ICMP协议:ICMP
Portrange: ECHO REQUEST Portrange: ECHO REPLY
源:0.0.0.0/0目的:0.0.0.0/0
Allow/Deny:允许Allow/Deny:允许
4)检查任何防火墙,如IPTABLES和禁用测试ping。
转到EC2仪表板,点击“运行实例” 在“Security Groups”上,选择需要添加安全性的实例的组。 点击“入站”选项卡 点击“编辑”按钮(将打开一个弹出窗口) 点击“添加规则” “类型”选择“自定义ICMP规则- IPv4” 协议选择“Echo Request”和“Echo Response”(端口范围默认为N/A) 输入“0.0.0.0/0”作为源 点击“保存”