Không thể ping AWS EC2 dụ


230

Tôi có một phiên bản EC2 đang chạy trong AWS. Khi tôi cố gắng ping từ hộp địa phương của tôi, nó không có sẵn.

Làm thế nào tôi có thể làm cho cá thể có thể ping được?


Tôi không ping các trường hợp ec2 của mình vì tôi không muốn kích hoạt ICMP trong nhóm bảo mật của mình chỉ vì mục đích ping thay vì tôi telnet mở các cổng.
Aderemi Dayo

Câu trả lời:


280

Thêm quy tắc gửi đến nhóm bảo mật EC2 mới :

  • Loại: Quy tắc ICMP tùy chỉnh
  • Giao thức: Yêu cầu Echo
  • Cổng: Không có
  • Nguồn: sự lựa chọn của bạn (Tôi sẽ chọn Bất cứ nơi nào để có thể ping từ bất kỳ máy nào)

3
Cảm ơn bạn, tôi thích điều này. Tôi chỉ muốn cho phép ping, không phải tất cả.
Chu-Siang Lai

Tôi có cần ICMPv6 không?
Franklin Yu

Có thể thử điều đó là tốt. Nhưng ICMP đã áp dụng cho tôi
Rakib

1
Tôi đang làm ở mọi nơi nhưng nó tự động chuyển đổi nó thành tùy chỉnh @SyedRakibAlHasan
alper

25
Rất dễ nhầm "Trả lời tiếng vang" cho "Yêu cầu tiếng vang", tôi đã bối rối vì điều này trong một lúc.
Andy

100

Một vài năm muộn màng nhưng hy vọng điều này sẽ giúp người khác ...

1) Trước tiên, đảm bảo phiên bản EC2 có IP công khai. Nếu có DNS công cộng hoặc địa chỉ IP công cộng (khoanh tròn bên dưới) thì bạn sẽ ổn. Đây sẽ là địa chỉ bạn ping. Địa chỉ DNS công cộng AWS

2) Tiếp theo, đảm bảo các quy tắc mạng của Amazon cho phép Yêu cầu Echo . Chuyển đến Nhóm bảo mật cho EC2.

  • nhấp chuột phải, chọn quy tắc trong nước
  • A: chọn Thêm quy tắc
  • B: Chọn Quy tắc ICMP tùy chỉnh - IPv4
  • C: Chọn Yêu cầu Echo
  • D: Chọn bất cứ nơi nào hoặc IP của tôi
  • E: Chọn Lưu

Thêm Quy tắc ICMP của nhóm bảo mật để cho phép Pings và Echos

3) Tiếp theo, tường lửa Windows chặn các yêu cầu Echo gửi theo mặc định. Cho phép yêu cầu Echo bằng cách tạo ngoại lệ tường lửa ...

  • Đi đến Bắt đầu và nhập Windows Firewall với Advanced Security
  • Chọn quy tắc trong nước

Thêm Quy tắc ICMP của Windows Server để cho phép Pings và Echos

4) Xong rồi! Hy vọng rằng bây giờ bạn có thể ping máy chủ của bạn.


1
Bạn đã cứu ngày của tôi !! Cảm ơn rất nhiều
Yugandhar Pathi

3
Câu trả lời tốt nhất cho đến nay. Rất kỹ lưỡng.
Brian Webster

2
Tường lửa Windows là thủ phạm và không được đề cập bởi các câu trả lời khác cho đến nay.
crokusek

Tôi có thể ping ngay bây giờ nhưng bạn có biết làm thế nào tôi có thể cho phép ứng dụng nút của mình nghe trên một cổng không?
FluffyBying

@zeion - Tôi đã không sử dụng AWS trong một thời gian (tôi đã dùng thử vào đầu năm 2017) vì vậy tôi sẽ không thể giúp được gì nhiều. Điều duy nhất tôi có thể nghĩ đến (mà tôi chắc chắn rằng bạn đã thử) sẽ sử dụng các mục trên nhưng cho cổng cần thiết cho ứng dụng của bạn. Đối với phần tường lửa của windows, tôi nghĩ bạn có thể tạo một quy tắc mới vì quy tắc dựng sẵn sẽ không được liệt kê.
Sunsetquest

84

Bạn phải chỉnh sửa Nhóm bảo mật mà phiên bản EC2 của bạn thuộc về và cho phép truy cập (hoặc thay thế tạo một nhóm mới và thêm phiên bản vào nó).

Theo mặc định, mọi thứ đều bị từ chối. Ngoại lệ bạn cần thêm vào Nhóm bảo mật tùy thuộc vào dịch vụ bạn cần cung cấp cho internet.

Nếu nó là một máy chủ web, bạn sẽ cần phải cho phép truy cập vào cổng 80cho 0.0.0.0/0( có nghĩa là bất kỳ địa chỉ IP ).

Để cho phép ping trường hợp, bạn cần kích hoạt lưu lượng ICMP.

Bảng điều khiển web AWS cung cấp một số tùy chọn được sử dụng phổ biến nhất trong danh sách thả xuống có liên quan.


7
Cho phép All ICMPlưu lượng truy cập đến các máy sử dụng Nhóm bảo mật được chỉ định làm việc cho tôi.
Jonathan Williams

Cũng như tạo và chỉnh sửa nhóm bảo mật, sau đó nó cần phải được liên kết với thể hiện. Chỉ sau đó nó sẽ có hiệu lực.
MikeW

Các nhóm bảo mật cho phép bạn kiểm soát lưu lượng truy cập đến phiên bản của bạn, bao gồm loại lưu lượng truy cập có thể tiếp cận phiên bản của bạn. `` `1. Kiểm tra các nhóm bảo mật (Đã bật PORTS để MỞ) 2. Kiểm tra đúng VPC 3. Đã đính kèm mạng con đúng 4. AWS EC2 ở trong mạng con công cộng 5. Kích hoạt cổng Internet` `` Mở các cổng trong AWS EC2 kiểm tra liên kết này chính thức AWS [link] [1] Câu trả lời được đăng bởi Tapan Nayan Banker | Tapan Banker www.tapanbanker.com
Tapan Banker

40

Quy tắc ICMP tùy chỉnh trong nhóm bảo mật không phải là những gì nó cần, ít nhất là đối với tôi. Nhưng quy tắc sau sẽ hoạt động:

Type: All ICMP 
Protocol: TCP
Port range: 0 - 65535
Source: Anywhere - 0.0.0.0/0

Sau khi làm điều này, bạn sẽ có thể ping các trường hợp khác. Bạn sẽ thấy một cái gì đó như:

PING 10.0.0.15 (10.0.0.15): 56 data bytes
64 bytes from 10.0.0.14: icmp_seq=1 ttl=64 time=3.9 ms
64 bytes from 10.0.0.14: icmp_seq=2 ttl=64 time=3.9 ms
64 bytes from 10.0.0.14: icmp_seq=3 ttl=64 time=10.6 ms
64 bytes from 10.0.0.14: icmp_seq=4 ttl=64 time=40.6 ms
64 bytes from 10.0.0.14: icmp_seq=5 ttl=64 time=3.8 ms
64 bytes from 10.0.0.14: icmp_seq=6 ttl=64 time=5.3 ms
64 bytes from 10.0.0.14: icmp_seq=7 ttl=64 time=6.5 ms
64 bytes from 10.0.0.14: icmp_seq=8 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=9 ttl=64 time=21.0 ms
64 bytes from 10.0.0.14: icmp_seq=10 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=11 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=12 ttl=64 time=59.7 ms
64 bytes from 10.0.0.14: icmp_seq=13 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=14 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=15 ttl=64 time=4.8 ms
64 bytes from 10.0.0.14: icmp_seq=16 ttl=64 time=3.1 ms
64 bytes from 10.0.0.14: icmp_seq=17 ttl=64 time=3.1 ms
64 bytes from 10.0.0.14: icmp_seq=18 ttl=64 time=3.0 ms
64 bytes from 10.0.0.14: icmp_seq=19 ttl=64 time=3.1 ms

--- 10.0.0.14 ping statistics ---
20 packets transmitted, 19 packets received, 5% packet loss
round-trip min/avg/max = 3.0/9.9/59.7 ms

Đó là nó.


1
Không có vấn đề bảo mật liên quan đến điều này?
Victor Anuebunwa

có lẽ bạn nên chỉ định IP
Laura Liparulo

@avonnadozie, vâng, chúng tôi không nên mở tất cả các cổng ICMP.
Kartik Narayana Maringanti

1
"Tất cả các cổng ICMP"? Điều đó nghĩa là gì? ICMP không phải là TCP hay UDP và không có cổng.
David Ongaro

32
  1. Chuyển đến Bảng điều khiển EC2 và nhấp vào "Trường hợp đang chạy" trên "Nhóm bảo mật", chọn nhóm phiên bản bạn cần thêm bảo mật.
  2. nhấp vào tab "Trong nước"
  3. Nhấp vào nút "Chỉnh sửa" (Nó sẽ mở một cửa sổ bật lên)
  4. nhấp vào "Thêm quy tắc"
  5. Chọn "Quy tắc ICMP tùy chỉnh - IPv4" làm Loại
  6. Chọn "Yêu cầu tiếng vang" và "Phản hồi tiếng vang" làm Giao thức (Phạm vi cổng theo mặc định hiển thị là "Không áp dụng)
  7. Nhập "0.0.0.0/0" làm Nguồn
  8. Nhấp vào để lưu"

12

Vui lòng xem qua danh sách dưới đây

1) Trước tiên, bạn phải kiểm tra xem phiên bản có được khởi chạy trong mạng con hay không, nơi có thể truy cập từ internet

Để kiểm tra xem liệu mạng con được khởi chạy có gắn cổng internet hay không. Để biết chi tiết về mạng trong AWS, vui lòng đi qua liên kết dưới đây.

mạng con công cộng và riêng tư trong aws vpc

2) Kiểm tra xem bạn có thêm quy tắc nhóm bảo mật phù hợp hay không, Nếu không, hãy thêm quy tắc bên dưới vào nhóm bảo mật được đính kèm. Ví dụ: Nhóm bảo mật được gắn với mọi phiên bản được khởi chạy. / out of instance.by mặc định mọi nhóm bảo mật cho phép tất cả lưu lượng truy cập đi từ thể hiện và không có lưu lượng truy cập đến đối tượng. Kiểm tra liên kết bên dưới để biết thêm chi tiết về lưu lượng.

tài liệu nhóm bảo mật

Loại: ICMPV4 tùy chỉnh

Giao thức: ICMP

Portrange: Yêu cầu Echo

Nguồn: 0.0.0.0/0

ảnh chụp màn hình từ bảng điều khiển aws

3) Kiểm tra xem bạn có đủ quy tắc trong tường lửa cấp mạng con được gọi là NACL hay không các quy tắc NACL.Below là liên kết sẽ có thêm chi tiết về nó.

Tài liệu NACL

Quy tắc trong nước . Luật lệ nước ngoài

Loại: IPV4 tùy chỉnh Loại: IPV4 tùy chỉnh

Giao thức: Giao thức ICMP: ICMP

Portrange: ECHO YÊU CẦU Portrange: ECHO REPLY

Nguồn: 0.0.0.0/0 Đích: 0.0.0.0/0

Cho phép / Từ chối: Cho phép Cho phép / Từ chối: Cho phép

quy tắc ảnh chụp màn hình

quy tắc ra nước ngoài

4) kiểm tra bất kỳ tường lửa nào như IPTABLES và không cho phép thử ping.


Làm thế nào để viết một câu trả lời . Thêm chi tiết để biện minh cho câu trả lời của bạn. và sử dụng các công cụ định dạng
Morse

Cảm ơn prateek cho thức ăn trở lại. Tôi đã làm cho nó rõ ràng hơn.
Haneef Mohammed

Vui lòng thêm hình ảnh dưới dạng hình ảnh và không phải là siêu liên kết. chỉnh sửa và chuyển đổi ảnh chụp màn hình thành hình ảnh
Morse

Tại sao điều này đã được hạ cấp? Có vẻ ổn và có ý nghĩa
Witold Kaczurba

Vâng, cảm ơn vì sự quan tâm của bạn. Có vẻ như có một số vấn đề về định dạng đã tạo ra một downvote. Tôi đã sửa chúng ngay bây giờ.
Haneef Mohammed


4

Những người chưa quen với aws ec2 và muốn truy cập thể hiện từ SSH, Broswer, Ping from systemđó bên dưới là quy tắc gửi đến cho những điều này: -

nhập mô tả hình ảnh ở đây


4

Chuyển đến nhóm bảo mật của phiên bản EC2 và chỉnh sửa quy tắc gửi đến cho phép 0.0.0.0/0 cho ICMP.

Nó sẽ làm việc.


3
1.Go to EC2 Dashboard and click "Running Instances" on "Security Groups"
2.select the group of your instance which you need to add security.  
3.click on the "Inbound" tab
4.Click "Edit" Button (It will open an popup window)
5.click "Add Rule"
6.Select the "Custom ICMP rule - IPv4" as Type
7.Enter the "0.0.0.0/0" as Source or your public IP

7. Nhấp vào "Lưu"


1

Theo mặc định, EC2 được bảo mật bởi AWS Security Group (Một dịch vụ được tìm thấy trong EC2 và VPC). Nhóm bảo mật theo mặc định không cho phép bất kỳ yêu cầu ICMP nào bao gồm ping. Để cho phép nó:

Goto: Định vị trường hợp AWS EC2 : Nhóm bảo mật liên kết với trường hợp đó (Có thể có nhiều nhóm bảo mật) Kiểm tra: Cổng vào quy tắc cho giao thức (ICMP) (0 - 65535) nếu không có mặt, bạn có thể thêm nó và cho phép nó IP nguồn được chỉ định của bạn hoặc Nhóm bảo mật khác.


1

Nếu bạn muốn bật ping (từ bất cứ đâu) theo chương trình, thông qua SDK, công thức kỳ diệu là:

cidrIp:     "0.0.0.0/0"
ipProtocol: "icmp"
toPort:     -1
fromPort:   8

Ví dụ, trong Scala (sử dụng AWS Java SDK v2), các công trình sau đây để xác định một IpPermissioncho authorizeSecurityGroupIngressthiết bị đầu cuối.

  val PingPermission = {
    val range = IpRange.builder().cidrIp( "0.0.0.0/0" ).build()
    IpPermission.builder().ipProtocol( "icmp" ).ipRanges( range ).toPort( -1 ).fromPort( 8 ).build()
  }

(Tôi đã thử điều này chỉ có trên EC2-Classic. Tôi không biết quy tắc đầu ra nào có thể cần thiết theo VPC)


tôi thực sự đã thiết lập điều này như một quy tắc (đi ra) trong nhóm bảo mật của mình bằng cách sử dụng terraform và nó hoạt động như một bùa mê
str8up7od

1

Các nhóm bảo mật cho phép bạn kiểm soát lưu lượng truy cập đến phiên bản của bạn, bao gồm loại lưu lượng truy cập có thể tiếp cận phiên bản của bạn.

1. Check the Security Groups (Enabled the PORTS to be OPEN)
2. Check the correct VPC 
3. Attached the correct Subnet 
4. AWS EC2 to be in Public Subnet 
5. Enable Internet Gateway 

Mở cổng trong AWS EC2 kiểm tra liên kết này chính thức AWS liên kết



0

Nếu bạn thiết lập các quy tắc là quy tắc "Tùy chỉnh ICMP" và "phản hồi tiếng vang" với bất kỳ nơi nào, nó sẽ hoạt động như một nhà vô địch. "Yêu cầu tiếng vang" là quy tắc sai khi trả lời ping.


14
Echo reply không làm việc cho tôi, nhưng Echo yêu cầu đã làm.
bão_m2138

0

Tôi gặp vấn đề sâu hơn - tôi đã tạo VPC, mạng con và Nhóm bảo mật thích hợp, nhưng đã bỏ qua việc thêm Cổng Internet và liên kết nó với mạng con của tôi. Vì đây là kết quả Google đầu tiên của tôi cho "Không thể ping ec2", nên tôi sẽ đăng thông tin này ở đây trong trường hợp nó chứng minh hữu ích cho người khác (hoặc bản thân tôi trong tương lai).


0

terraform hướng dẫn cụ thể cho một nhóm an ninh vì -1 là không rõ ràng đối với tôi.

resource "aws_security_group" "Ping" {
  vpc_id = "${aws_vpc.MyVPC.id}"
  ingress {
    from_port   = -1
    to_port     = -1
    protocol    = "icmp"
    cidr_blocks = ["0.0.0.0/0"]
    ipv6_cidr_blocks = ["::/0"]
  }
}

0

Tôi gặp vấn đề tương tự khi kết nối từ máy chủ linux sang EC2, bạn có hai điều chắc chắn về những điều mà "ALL ICMP" được thêm vào từ EC2 như được hiển thị ở trên và một mình sẽ không hoạt động, bạn phải cập nhật Ansible lên phiên bản mới nhất 2.4, nó không hoạt động với phiên bản 2.2 trước của tôi.


0

Bạn phải mở cổng bảo mật sau trong nhóm bảo mật. Mỗi quy tắc là cho các mục đích khác nhau, như được hiển thị dưới đây.

nhập mô tả hình ảnh ở đây

  1. TẤT CẢ ICMP cho ping.

  2. HTTP để truy cập URL trên cổng HTTP.

  3. HTTPS để truy cập URL trên cổng HTTP được bảo mật.

Theo yêu cầu của bạn, bạn có thể thay đổi NGUỒN


0

có thể mạng nội bộ của bạn đang chặn IP đó để ping hoặc chặn gói ping trong tường lửa của bạn nếu bạn đã mở trong nhóm bảo mật và VPC là chính xác.


-1

Khi ping hai hệ thống, theo mặc định SSH được bật (nếu bạn đã kết nối qua putty hoặc terminal.) Để cho phép ping, tôi đã thêm nhóm bảo mật cho từng phiên bản (gửi đến).

nhập mô tả hình ảnh ở đây


6
Quy tắc thứ hai của bạn, "Tất cả lưu lượng truy cập" từ "Bất cứ nơi nào", là một ý tưởng không hay.
Devin

-3

Khi truy cập các cổng mới trong ví dụ ec2. Bạn đã thêm vào 2 nơi. 1. Nhóm bảo mật cổng vào. 2. Cài đặt tường lửa quy tắc trong nước.


-3
  1. Hãy chắc chắn rằng bạn đang sử dụng IP công cộng của ví dụ aws ec2 để ping.

  2. chỉnh sửa nhóm bảo mật được đính kèm với thể hiện EC2 của bạn và thêm quy tắc gửi đến cho giao thức ICMP.

  3. hãy thử ping, nếu điều này không khắc phục được, thì hãy thêm quy tắc ra cho ICMP trong nhóm bảo mật.


-4

Tôi sẽ đề cập đến một số vấn đề hiếm gặp do ISP gây ra. Thỉnh thoảng theo sau chúc mừng tôi với BSNL. đó là một trong những vấn đề nghiêm trọng hơn, mất hàng giờ trong cuộc sống hàng ngày của bạn. Trong trường hợp như vậy, người ta có thể nêu vấn đề với ISP hoặc thay đổi ISP.

  1. Ví dụ Amazon có thể được truy cập từ trình duyệt (tất cả các cổng mở)
  2. Tương tự không thể được ping từ bảng điều khiển
  3. ssh / telnet không hoạt động.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.