Apache-2.2

ec2、ping 和安全設置

  • October 25, 2019

有一個關於 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 給了我:

活動 Internet 連接(僅限伺服器) Proto Recv-Q Send-Q 本地地址 外部地址 狀態 PID/程序名稱

tcp 0 0 *:ssh : LISTEN 841/sshd

tcp 0 0 localhost:smtp : LISTEN 868/sendmail: accep tcp 0 0 *:webcache : 聽 981/java

tcp 0 0 *:http : 聽 948/httpd

tcp 0 0 *:ssh : 聽 841/sshd

tcp 0 0 localhost: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 localhost:ntp : 852/ntpd

udp 0 0 *:ntp : 852/ntpd

活動 UNIX 域套接字(僅限伺服器) Proto RefCnt Flags Type State I-Node PID/程序名稱路徑 unix 2

$$ ACC $$ 流式監聽 1954 922/gam_server @/tmp/fam-root- unix 2 $$ ACC $$ 串流監聽 1967 927/bluepilld:主機 /var/bluepill/socks/hostmanager.sock

…而且我沒有更改 iptables 中的任何內容

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 常見問題

引用自:https://serverfault.com/questions/318936