Nie można pingować instancji AWS EC2


229

Mam instancję EC2 działającą w AWS. Kiedy próbuję pingować z mojego lokalnego urządzenia, nie jest ono dostępne.

Jak ustawić pingowanie instancji?


Nie pinguję moich instancji ec2, ponieważ nie chcę włączać ICMP w mojej grupie bezpieczeństwa po prostu ze względu na pingowanie, zamiast tego otwieram porty telnet.
Aderemi Dayo

Odpowiedzi:


280

Dodaj nową regułę przychodzącą grupy zabezpieczeń EC2 :

  • Wpisz: niestandardowa reguła ICMP
  • Protokół: Żądanie echa
  • Port: nie dotyczy
  • Źródło: twój wybór (wybrałbym Anywhere, aby móc pingować z dowolnej maszyny)

3
Dziękuję, podoba mi się to. Chcę tylko pozwolić na pingnie wszystko.
Chu-Siang Lai

Czy potrzebuję również ICMPv6?
Franklin Yu,

Mógłbym również tego spróbować. Ale ICMP mi wystarczyło
Rakib

1
Robię Anywhere, ale automatycznie konwertuje to na niestandardowy @SyedRakibAlHasan
alper

25
Łatwo pomylić „Odpowiedź echa” z „Żądaniem echa”, przez chwilę się tym pomyliłem.
Andy,

100

Kilka lat spóźnienia, ale mam nadzieję, że pomoże to komuś innemu ...

1) Najpierw upewnij się, że instancja EC2 ma publiczny adres IP. Jeśli ma publiczny DNS lub publiczny adres IP (zakreślony poniżej), powinieneś być dobry. To będzie adres, który pingujesz. Publiczny adres DNS AWS

2) Następnie upewnij się, że reguły sieci Amazon zezwalają na żądania echa . Idź do Security Group na EC2.

  • kliknij prawym przyciskiem myszy, wybierz reguły przychodzące
  • Odp .: wybierz opcję Dodaj regułę
  • B: Wybierz niestandardową regułę ICMP - IPv4
  • C: Wybierz żądanie echa
  • D: Wybierz Anywhere lub My IP
  • E: Wybierz Zapisz

Dodaj regułę ICMP grupy zabezpieczeń, aby zezwolić na pingi i echa

3) Następnie zapora systemu Windows domyślnie blokuje przychodzące żądania Echo. Zezwól na żądania Echo, tworząc wyjątek zapory systemu Windows ...

  • Przejdź do Start i wpisz Windows Firewall z Advanced Security
  • Wybierz reguły przychodzące

Dodaj regułę ICMP systemu Windows Server, aby zezwolić na pingi i echa

4) Gotowe! Mam nadzieję, że powinieneś być teraz w stanie pingować swój serwer.


1
Uratowałeś mi dzień !!
Wielkie

3
Jak dotąd najlepsza odpowiedź. Bardzo dokładny.
Brian Webster,

2
Zapora systemu Windows była winowajcą i jak dotąd nie wspomniano w innych odpowiedziach.
crokusek

Mogę teraz pingować, ale czy wiesz, w jaki sposób mogę umożliwić dostęp do mojej aplikacji węzła nasłuchującej na porcie?
FluffyBeing,

@zeion - Od jakiegoś czasu nie korzystałem z AWS (byłem na próbie na początku 2017 r.), więc nie będę w stanie dużo pomóc. Jedyne, co mogę wymyślić (jestem pewien, że już próbowałeś), to użyć powyższych elementów, ale dla portu wymaganego przez twoją aplikację. W przypadku zapory systemu Windows myślę, że możesz utworzyć nową regułę, ponieważ wstępnie zbudowana reguła prawdopodobnie nie będzie na liście.
Sunsetquest

84

Musisz edytować grupę zabezpieczeń, do której należy twoje wystąpienie EC2 i zezwalać na dostęp (lub alternatywnie utworzyć nowe i dodać do niego wystąpienie).

Domyślnie wszystko jest odrzucane. Wyjątek, który musisz dodać do Security Group, zależy od usługi, którą musisz udostępnić w Internecie.

Jeśli jest to serwer WWW będzie trzeba, aby umożliwić dostęp do portu 80dla 0.0.0.0/0( co oznacza dowolny adres IP ).

Aby umożliwić pingowanie instancji, należy włączyć ruch ICMP.

Konsola internetowa AWS udostępnia niektóre z najczęściej używanych opcji na odpowiedniej liście rozwijanej.


7
Włączanie All ICMPruchu do maszyn przy użyciu określonej grupy zabezpieczeń zadziałało dla mnie.
Jonathan Williams

Oprócz tworzenia i edytowania grupy zabezpieczeń należy ją powiązać z instancją. Tylko wtedy zacznie obowiązywać.
MikeW

Grupy zabezpieczeń umożliwiają kontrolowanie ruchu do instancji, w tym rodzaju ruchu, który może do niej dotrzeć. `` 1. Sprawdź grupy zabezpieczeń (Włączone PORTY, które mają być OTWARTE) 2. Sprawdź poprawny VPC 3. Podłącz prawidłową podsieć 4. AWS EC2, aby być w publicznej podsieci 5. Włącz bramę internetową `` Otwórz porty w AWS EC2 sprawdź ten link oficjalny AWS [link] [1] Odpowiedź została wysłana przez Tapan Nayan Banker | Tapan Banker www.tapanbanker.com
Tapan Banker

40

Niestandardowa reguła ICMP w grupie zabezpieczeń nie jest tym, czego potrzeba, przynajmniej dla mnie. Ale będzie działać następująca reguła:

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

Po wykonaniu tej czynności będziesz mógł pingować inne instancje. Powinieneś zobaczyć coś takiego:

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

Otóż ​​to.


1
Czy nie ma z tym problemu bezpieczeństwa?
Victor Anuebunwa

prawdopodobnie powinieneś podać adresy IP
Laura Liparulo

@avonnadozie, tak, nie powinniśmy otwierać wszystkich portów ICMP.
Kartik Narayana Maringanti

1
„wszystkie porty ICMP”? Co to znaczy? ICMP nie jest ani TCP, ani UDP i nie ma portów.
David Ongaro

32
  1. Przejdź do pulpitu nawigacyjnego EC2 i kliknij „Uruchamianie instancji” w „Grupach zabezpieczeń”, wybierz grupę instancji, do której chcesz dodać zabezpieczenia.
  2. kliknij kartę „Przychodzące”
  3. Kliknij przycisk „Edytuj” (otworzy się okno podręczne)
  4. kliknij „Dodaj regułę”
  5. Wybierz „Niestandardową regułę ICMP - IPv4” jako Typ
  6. Wybierz „Echo Request” i „Echo Response” jako protokół (zakres portów domyślnie jest wyświetlany jako „N / A)
  7. Wpisz „0.0.0.0/0” jako Źródło
  8. Kliknij „Zapisz”

12

Proszę przejrzeć poniższe listy kontrolne

1) Najpierw musisz sprawdzić, czy instancja jest uruchomiona w podsieci, do której jest dostępna z Internetu

W tym celu sprawdź, czy uruchomiona podsieć instancji ma podłączoną do niej bramę internetową.

publiczne i prywatne podsieci w aws vpc

2) Sprawdź, czy dodano odpowiednie reguły grupy zabezpieczeń, jeśli nie, dodaj poniższą regułę w grupie zabezpieczeń dołączonej do instancji. Grupa zabezpieczeń jest zaporą dołączoną do każdej uruchomionej instancji. Grupy bezpieczeństwa zawierają reguły przychodzące / wychodzące, które zezwalają na ruch / z instancji. domyślnie każda grupa zabezpieczeń zezwala na cały ruch wychodzący z instancji i brak ruchu przychodzącego do instancji. Sprawdź poniższy link, aby uzyskać więcej informacji o ruchu.

dokumentacja grupy bezpieczeństwa

Wpisz: niestandardowy ICMPV4

Protokół: ICMP

Portrange: Echo Request

Źródło: 0.0.0.0/0

zrzut ekranu z konsoli aws

3) Sprawdź, czy masz wystarczającą liczbę reguł w zaporze na poziomie podsieci o nazwie NACL. NACL to bezstanowa zapora ogniowa, która wymaga oddzielnie określonego ruchu przychodzącego i wychodzącego. NACL jest stosowany na poziomie podsieci, wszystkie wystąpienia w podsieci zostaną objęte zasady NACL. Poniżej znajduje się link, który będzie zawierał więcej szczegółów na jego temat.

Dokumentacja NACL

Reguły przychodzące . Reguły wychodzące

Typ: niestandardowy IPV4 Typ: niestandardowy IPV4

Protokół: ICMP Protokół: ICMP

Portrange: WNIOSEK ECHO Portrange: ODPOWIEDŹ ECHO

Źródło: 0.0.0.0/0 Miejsce docelowe: 0.0.0.0/0

Allow / Deny: Allow Allow / Deny: Allow

reguła przychodząca zrzut ekranu

reguła wychodząca zrzutu ekranu

4) sprawdź wszelkie zapory ogniowe, takie jak IPTABLES, i wyłącz testowanie ping.


Jak napisać odpowiedź . Dodaj więcej szczegółów, aby uzasadnić swoją odpowiedź. i użyj narzędzi formatujących
Morse

Dzięki prateek za informację zwrotną. Wyjaśniłem to.
Haneef Mohammed

Dodaj obrazy jako obrazy, a nie jako hiperłącza. edytować i konwertować zrzuty ekranu na obrazy
Morse

Dlaczego zostało to odrzucone? Wydaje się, że wszystko jest w porządku i ma sens
Witold Kaczurba

Witold, dziękuję za twoją troskę. Wygląda na to, że wystąpił problem z formatowaniem, który spowodował negatywne zdanie.
Haneef Mohammed


4

Ci, którzy są nowi w aws ec2 i chcą uzyskać dostęp do instancji od SSH, Broswer, Ping from systemtego momentu poniżej, są dla tych reguł:

wprowadź opis zdjęcia tutaj


4

Przejdź do grupy zabezpieczeń instancji EC2 i edytuj regułę ruchu przychodzącego zezwól na 0.0.0.0/0 dla ICMP.

To będzie działać.


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. Kliknij „Zapisz”


1

Domyślnie EC2 jest zabezpieczony przez AWS Security Group (usługa znaleziona w EC2 i VPC). Grupa zabezpieczeń domyślnie nie zezwala na żadne żądanie ICMP, które zawiera polecenie ping. Aby na to pozwolić:

Idź do: AWS EC2 Instancja Zlokalizuj: Grupa zabezpieczeń wiąże się z tą instancją (Możliwe jest posiadanie wielu grup zabezpieczeń) Sprawdź: Reguły ruchu przychodzącego dla portu protokołu (ICMP) (0 - 65535), jeśli nie jest obecny, możesz go dodać i zezwolić na podany źródłowy adres IP lub inna grupa zabezpieczeń.


1

Jeśli chcesz włączyć ping (z dowolnego miejsca) programowo, za pomocą SDK, magiczna formuła to:

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

Na przykład, w Scali (z użyciem SDK v2 AWS Java), następujące prace do zdefiniowania IpPermissiondla authorizeSecurityGroupIngresskońcowego.

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

(Próbowałem, jest to tylko w EC2-Classic. Nie wiem, jakie reguły dotyczące wychodzenia mogą być konieczne w przypadku VPC)


faktycznie skonfigurowałem to jako regułę wychodzenia (wychodzenia) w mojej grupie bezpieczeństwa za pomocą terraformu i działało to jak urok
str8up7od

1

Grupy zabezpieczeń umożliwiają kontrolowanie ruchu do instancji, w tym rodzaju ruchu, który może do niej dotrzeć.

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 

Otwórz porty w AWS EC2 sprawdź to łącze oficjalne łącze AWS



0

Jeśli ustawisz reguły jako „Niestandardową regułę ICMP” i „odpowiedź echa” w dowolnym miejscu, będzie działać jak bohater. „Żądanie echa” jest niewłaściwą zasadą odpowiadania na pingi.


14
Odpowiedź Echo nie działała dla mnie, ale prośba Echo zadziałała .
storm_m2138

0

Miałem głębszy problem - stworzyłem VPC, podsieć i odpowiednią grupę bezpieczeństwa, ale zaniedbałem dodanie bramy internetowej i skojarzenie jej z moją podsiecią. Ponieważ jest to mój pierwszy wynik Google dla „Can't ping ec2”, zamieszczam te informacje tutaj, na wypadek, gdyby okazały się przydatne dla kogoś innego (lub dla mnie w przyszłości).


0

instrukcje terraform dla grupy bezpieczeństwa, ponieważ -1 nie było dla mnie oczywiste.

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

Miałem ten sam problem, próbując połączyć się z serwerem linux do EC2, musisz upewnić się, że dodane jest „ALL ICMP” z EC2, jak pokazano powyżej i że samo nie będzie działać, musisz zaktualizować Ansible do najnowszej wersji 2.4, to nie działało z moją poprzednią wersją 2.2.


0

Musisz otworzyć następujący port bezpieczeństwa w grupie zabezpieczeń. Każda reguła służy do różnych celów, jak pokazano poniżej.

wprowadź opis zdjęcia tutaj

  1. WSZYSTKIE ICMP dla ping.

  2. HTTP za dostęp do adresu URL na porcie HTTP.

  3. HTTPS do uzyskiwania dostępu do adresu URL na zabezpieczonym porcie HTTP.

Zgodnie z wymaganiami możesz zmienić ŹRÓDŁO


0

być może twoja sieć wewnętrzna blokuje ten IP do pingowania lub blokuje pakiet ping w twojej zaporze ogniowej, jeśli otworzyłeś się w grupie bezpieczeństwa i VPC jest poprawny.


-1

Podczas pingowania dwóch systemów domyślnie włączony jest SSH (jeśli łączysz się za pośrednictwem putty lub terminala). Aby zezwolić na ping, dodałem grupę zabezpieczeń dla każdej instancji (wejściowej).

wprowadź opis zdjęcia tutaj


6
Twoja druga zasada, „Cały ruch” z „Anywhere”, nie jest dobrym pomysłem.
Devin,

-3

Podczas uzyskiwania dostępu do nowych portów w instancji ec2. Dodałeś w 2 miejscach. 1. Porty przychodzące grupy zabezpieczeń. 2. Ustawienia zapory Reguły przychodzące.


-3
  1. Upewnij się, że używasz publicznego adresu IP twojej instancji aws ec2 do pingowania.

  2. edytuj grupę zabezpieczeń dołączoną do instancji EC2 i dodaj regułę przychodzącą dla protokołu ICMP.

  3. spróbuj pingować, jeśli to nie naprawi, a następnie dodaj regułę wychodzącą dla ICMP w grupie zabezpieczeń.


-4

Chciałbym wspomnieć o kilku rzadkich problemach wywołanych przez ISP. Czasami śledzenie przydarza mi się z BSNL. jest to jeden z tych dziwnych problemów, który zabiera godziny z codziennego życia. W takim przypadku można podnieść problem z usługodawcą internetowym lub zmienić usługodawcę internetowego.

  1. Dostęp do instancji Amazon można uzyskać z przeglądarki (wszystkie otwarte porty)
  2. Tego samego nie można pingować z konsoli
  3. ssh / telnet też nie działa.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.