ec2、ping 和安全设置

ec2、ping 和安全设置

我有一个关于 AWS ec2 实例上的安全设置的新手问题。我已经使用 Tomcat7 (ami-95da17fc) 设置了一个实例,但遇到了一个小问题。

如果我通过 ssh 进入实例并执行 ping -c 2 -p 80 localhost,我会得到 0 个数据包丢失,如果我 ping 我的弹性 IP,我会得到 100% 的数据包丢失,long.winded.aws.dns.name 也是一样

如果我只是尝试从终端 ping 该站点(未登录到实例)我也将遭受 100% 的损失。

我的默认安全组具有以下设置:

0 - 65535 sg-07787e6e(默认)

80(HTTP)0.0.0.0/0

8080(HTTP*)0.0.0.0/0

22(SSH)70.126.98.72/32

如果有人能阐明我所遗漏的内容,我将不胜感激。


... 嗯,我用 curl 得到 404,sudo netstat -lp 显示:

活动互联网连接(仅服务器)Proto Recv-Q Send-Q 本地地址 外部地址 状态 PID/程序名称
tcp 0 0 *:ssh 侦听 841/sshd
tcp 0 0 本地主机:smtp 侦听 868/sendmail:接受 tcp 0 0 *:webcache 监听 981/java
tcp 0 0 *:http 监听 948/httpd
tcp 0 0 *:ssh 侦听 841/sshd
tcp 0 0 本地主机:8005 监听 981/java
tcp 0 0 *:8009 监听 981/java
udp 0 0 *:bootpc 734/dhclient
udp 0 0 domU-12-31-39-09-A6:ntp 852/ntpd
udp 0 0 本地主机:ntp 852/ntpd
udp 0 0 *:ntp 852/ntpd
udp 0 0 fe80::1031:39ff:fe0:ntp 852/ntpd
udp 0 0 本地主机:ntp 852/ntpd
udp 0 0 *:ntp 852/ntpd
活动 UNIX 域套接字(仅限服务器)Proto RefCnt 标志类型状态 I 节点 PID/程序名称路径 unix 2 [ ACC ] 流监听 1954 922/gam_server @/tmp/fam-root- unix 2 [ ACC ] 流监听 1967 927/bluepilld:主机 /var/bluepill/socks/hostmanager.sock

... 我没有改变 iptables 中的任何内容

答案1

Ping 使用 ICMP 协议 - AWS 控制台中的安全组默认使用 TCP 协议。如果您希望能够从“外部”ping 您的实例,则需要更改安全组设置以允许 ICMP 协议(​​Echo),例如使用以下内容:

ec2-authorize default -P icmp -t -1:-1 -s 0.0.0.0/0

您还可以使用 AWS 控制台来实现此目的:

  • 为您的安全组创建“自定义 ICMP 规则”
  • 类型:回显请求和类型:回显答复(两者都是必需的)
  • 来源:0.0.0.0/0

或者,为了达到与上述 ec2-authorize 命令相同的效果,您可以允许“所有 ICMP”

查看AWS EC2 文档了解更多信息,以及AWS 常见问题解答

相关内容