Impossible d'envoyer une requête ping à l'instance AWS EC2


230

J'ai une instance EC2 exécutée dans AWS. Lorsque j'essaie d'envoyer une requête ping depuis ma boîte locale, elle n'est pas disponible.

Comment puis-je rendre l'instance pingable?


Je ne fais pas de ping sur mes instances ec2 parce que je ne veux pas activer ICMP dans mon groupe de sécurité simplement pour faire un ping plutôt que de telnet ouvrir les ports.
Aderemi Dayo

Réponses:


280

Ajoutez une nouvelle règle entrante de groupe de sécurité EC2 :

  • Type: règle ICMP personnalisée
  • Protocole: demande d'écho
  • Port: N / A
  • Source: votre choix (je choisirais N'importe où pour pouvoir cingler depuis n'importe quelle machine)

3
Merci, j'aime ça. Je veux juste autoriser le ping, pas tous.
Chu-Siang Lai

Ai-je également besoin d'ICMPv6?
Franklin Yu

Pourrait essayer cela aussi. Mais l'ICMP me suffisait
Rakib

1
Je fais n'importe où mais il le convertit automatiquement en @SyedRakibAlHasan personnalisé
alper

25
Il est facile de confondre "Echo Reply" avec "Echo Request", cela m'a un peu dérouté.
Andy

100

Quelques années de retard mais j'espère que cela aidera quelqu'un d'autre ...

1) Assurez-vous d'abord que l'instance EC2 a une adresse IP publique. Si a un DNS public ou une adresse IP publique (encerclé ci-dessous), vous devriez être bon. Ce sera l'adresse à laquelle vous envoyez un ping. Adresse DNS publique AWS

2) Assurez-vous ensuite que les règles de réseau Amazon autorisent les demandes d'écho . Accédez au groupe de sécurité pour l'EC2.

  • clic droit, sélectionnez les règles entrantes
  • A: sélectionnez Ajouter une règle
  • B: Sélectionnez une règle ICMP personnalisée - IPv4
  • C: Sélectionnez la demande d'écho
  • D: Sélectionnez N'importe où ou Mon IP
  • E: Sélectionnez Enregistrer

Ajouter une règle ICMP de groupe de sécurité pour autoriser les pings et les échos

3) Ensuite, le pare-feu Windows bloque les requêtes Echo entrantes par défaut. Autoriser les demandes d'écho en créant une exception de pare-feu Windows ...

  • Allez dans Démarrer et tapez Pare-feu Windows avec sécurité avancée
  • Sélectionnez les règles entrantes

Ajouter une règle ICMP Windows Server pour autoriser les pings et les échos

4) C'est fait! J'espère que vous devriez maintenant être en mesure d'envoyer une requête ping à votre serveur.


1
Tu m'as sauvé la journée !! Merci beaucoup
Yugandhar Pathi

3
De loin la meilleure réponse. Très approfondi.
Brian Webster le

2
Le pare-feu Windows était le coupable et n'a pas été mentionné par d'autres réponses jusqu'à présent.
crokusek

Je peux faire un ping maintenant, mais savez-vous comment permettre à mon application de nœud d'écouter sur un port pour être accessible?
FluffyBeing

@zeion - Je n'ai pas utilisé AWS depuis un certain temps (j'étais en essai début 2017) donc je ne pourrai pas aider beaucoup. La seule chose à laquelle je peux penser (que je suis sûr que vous avez déjà essayé) serait d'utiliser les éléments ci-dessus mais pour le port requis par votre application. Pour la partie pare-feu Windows, je pense que vous pouvez créer une nouvelle règle car la règle prédéfinie ne sera probablement pas répertoriée.
Sunsetquest

84

Vous devez modifier le groupe de sécurité auquel appartient votre instance EC2 et autoriser l'accès (ou bien en créer un nouveau et y ajouter l'instance).

Par défaut, tout est refusé. L'exception que vous devez ajouter au groupe de sécurité dépend du service que vous devez rendre disponible sur Internet.

S'il est un serveur web , vous devez autoriser l' accès au port 80pour 0.0.0.0/0( ce qui signifie une adresse IP ).

Pour autoriser l'exécution d'une requête ping sur l'instance, vous devez activer le trafic ICMP.

La console Web AWS fournit certaines des options les plus couramment utilisées dans la liste déroulante appropriée.


7
Activer le All ICMPtrafic vers les machines utilisant le groupe de sécurité spécifié a été un régal pour moi.
Jonathan Williams

Outre la création et la modification du groupe de sécurité, il doit ensuite être associé à l'instance. Ce n'est qu'alors qu'elle prendra effet.
MikeW

Les groupes de sécurité vous permettent de contrôler le trafic vers votre instance, y compris le type de trafic pouvant atteindre votre instance. `` `1. Vérifiez les groupes de sécurité (activé les PORTS pour être OUVERT) 2. Vérifiez le VPC correct 3. Attaché le sous-réseau correct 4. AWS EC2 pour être dans le sous-réseau public 5. Activez la passerelle Internet` `` Ouvrez les ports dans AWS EC2 vérifier ce lien officiel AWS [lien] [1] La réponse est publiée par Tapan Nayan Banker | Tapan Banker www.tapanbanker.com
Tapan Banker

40

La règle ICMP personnalisée dans le groupe de sécurité n'est pas ce qu'il faut, du moins pour moi. Mais la règle suivante fonctionnera:

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

Après cela, vous pourrez envoyer une requête ping à d'autres instances. Vous devriez voir quelque chose comme:

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

C'est tout.


1
N'y a-t-il aucun problème de sécurité associé à cela?
Victor Anuebunwa

vous devez probablement spécifier les adresses IP
Laura Liparulo

@avonnadozie, oui nous ne devons pas ouvrir tous les ports ICMP.
Kartik Narayana Maringanti

1
"tous les ports ICMP"? Qu'est-ce que ça veut dire? ICMP n'est ni TCP ni UDP et n'a pas de ports.
David Ongaro

32
  1. Accédez au tableau de bord EC2 et cliquez sur "Exécuter des instances" dans "Groupes de sécurité", sélectionnez le groupe de votre instance auquel vous devez ajouter la sécurité.
  2. cliquez sur l'onglet "Entrant"
  3. Cliquez sur le bouton "Modifier" (cela ouvrira une fenêtre contextuelle)
  4. cliquez sur "Ajouter une règle"
  5. Sélectionnez la "règle ICMP personnalisée - IPv4" comme type
  6. Sélectionnez «Echo Request» et «Echo Response» comme protocole (la plage de ports par défaut s'affiche comme «N / A)
  7. Entrez le "0.0.0.0/0" comme source
  8. Cliquez sur "Enregistrer"

12

Veuillez parcourir les listes de contrôle ci-dessous

1) Vous devez d'abord vérifier si l'instance est lancée dans un sous-réseau où elle est accessible depuis Internet

Pour vérifier si le sous-réseau lancé par l'instance a une passerelle Internet attachée, pour plus de détails sur la mise en réseau dans AWS, veuillez cliquer sur le lien ci-dessous.

sous-réseaux publics et privés dans aws vpc

2) Vérifiez si vous avez ajouté des règles de groupe de sécurité appropriées, sinon ajoutez la règle ci-dessous dans le groupe de sécurité attaché à l'instance.Un groupe de sécurité est un pare-feu attaché à chaque instance lancée.Les groupes de sécurité contiennent les règles entrantes / sortantes qui autorisent le trafic dans / out of the instance.par défaut, chaque groupe de sécurité autorise tout le trafic sortant de l'instance et aucun trafic entrant vers l'instance.Vérifiez le lien ci-dessous pour plus de détails sur le trafic.

documentation du groupe de sécurité

Type: ICMPV4 personnalisé

Protocole: ICMP

Portrange: demande d'écho

Source: 0.0.0.0/0

capture d'écran de la console aws

3) Vérifiez si vous disposez des règles suffisantes dans le pare-feu au niveau du sous-réseau appelé NACL.Un NACL est un pare-feu sans état qui nécessite un trafic entrant et sortant spécifié séparément.NACL est appliqué au niveau du sous-réseau, toutes les instances sous le sous-réseau relèveront de les règles NACL. Ci-dessous est le lien qui aura plus de détails à ce sujet.

Documentation NACL

Règles entrantes . Règles sortantes

Type: IPV4 personnalisé Type: IPV4 personnalisé

Protocole: ICMP Protocole: ICMP

Portrange: ECHO REQUEST Portrange: ECHO REPLY

Source: 0.0.0.0/0 Destination: 0.0.0.0/0

Autoriser / Refuser: Autoriser Autoriser / Refuser: Autoriser

capture d'écran règle entrante

capture d'écran règle sortante

4) vérifiez tous les pare-feu comme IPTABLES et désactivez pour tester le ping.


Comment rédiger une réponse . Ajoutez plus de détails pour justifier votre réponse. et utiliser des outils de formatage
Morse

Merci prateek pour le feed-back, je l'ai expliqué plus clairement.
Haneef Mohammed

Veuillez ajouter des images sous forme d'images et non sous forme d'hyperliens. éditez et convertissez les captures d'écran en images
Morse

Pourquoi cela a-t-il été déclassé? Semble tout va bien et fait sens
Witold Kaczurba

Witold, merci pour votre préoccupation.Il semble qu'il y ait eu un problème de formatage qui a fait un downvote.J'ai corrigé ceux-ci maintenant.
Haneef Mohammed

6

La création d'un nouveau groupe de sécurité avec All ICMP a fonctionné pour moi.


4

Ceux qui sont nouveaux sur aws ec2 et veulent accéder à l'instance à partir de ce SSH, Broswer, Ping from systemmoment-là sont la règle entrante pour ceux-ci: -

entrez la description de l'image ici


4

Accédez au groupe de sécurité de l'instance EC2 et modifiez la règle entrante autorisez 0.0.0.0/0 pour ICMP.

Ça va marcher.


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.Cliquez sur "Enregistrer"


1

Par défaut, EC2 est sécurisé par AWS Security Group (un service trouvé dans EC2 et VPC). Par défaut, le groupe de sécurité interdit toute demande ICMP incluant le ping. Pour le permettre:

Goto: Instance AWS EC2 Localiser: Le groupe de sécurité se lie à cette instance (il est possible d'avoir plusieurs groupes de sécurité) Vérifiez: Règles de trafic entrant pour le port ICMP (0 - 65535) s'il n'est pas présent, vous pouvez l'ajouter et l'autoriser sur l'adresse IP source spécifiée ou un autre groupe de sécurité.


1

Si vous souhaitez activer le ping (de n'importe où) par programme, via le SDK, la formule magique est:

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

Par exemple, dans Scala (à l'aide du kit AWS Java SDK v2), les travaux suivants définissent un IpPermissionpour le authorizeSecurityGroupIngresspoint de terminaison.

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

(J'ai essayé c'est uniquement sur EC2-Classic. Je ne sais pas quelles règles de sortie pourraient être nécessaires sous un VPC)


J'ai en fait configuré cela comme une règle sortante (sortie) dans mon groupe de sécurité en utilisant terraform et cela a fonctionné comme un charme
str8up7od

1

Les groupes de sécurité vous permettent de contrôler le trafic vers votre instance, y compris le type de trafic pouvant atteindre votre instance.

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 

Ouvrez les ports dans AWS EC2 vérifier ce lien AWS offical lien



0

Si vous configurez les règles en tant que règle "ICMP personnalisé" et "réponse d'écho" n'importe où, cela fonctionnera comme un champion. La "demande d'écho" n'est pas la bonne règle pour répondre aux pings.


14
La réponse Echo n'a pas fonctionné pour moi, mais la demande Echo a fonctionné.
storm_m2138

0

J'ai eu un problème plus profond - j'avais créé un VPC, un sous-réseau et un groupe de sécurité approprié, mais j'ai négligé d'ajouter une passerelle Internet et de l'associer à mon sous-réseau. Comme il s'agit de mon premier résultat Google pour "Can't ping ec2", je publie ces informations ici au cas où elles s'avéreraient utiles à quelqu'un d'autre (ou à moi-même à l'avenir).


0

terraforme des instructions spécifiques pour un groupe de sécurité car le -1 n'était pas évident pour moi.

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

J'ai eu le même problème lors de la connexion du serveur Linux à EC2, vous en avez deux pour vous assurer que "ALL ICMP" est ajouté à partir d'EC2 comme indiqué ci-dessus et que seul ne fonctionnera pas, vous devez mettre à jour Ansible vers la version la plus récente 2.4, cela ne fonctionnait pas avec ma version précédente 2.2.


0

Vous devez ouvrir le port de sécurité suivant dans le groupe de sécurité. Chaque règle est à des fins différentes, comme indiqué ci-dessous.

entrez la description de l'image ici

  1. TOUS ICMP pour ping.

  2. HTTP pour accéder à l'URL sur le port HTTP.

  3. HTTPS pour accéder à l'URL sur le port HTTP sécurisé.

Selon votre condition, vous pouvez changer la SOURCE


0

Il se peut que votre réseau interne bloque cette adresse IP pour envoyer une requête ping ou un paquet ping bloqué dans votre pare-feu si vous l'avez ouvert dans le groupe de sécurité et que le VPC est correct.


-1

Lors du ping de deux systèmes, SSH est activé par défaut (si vous vous êtes connecté via putty ou terminal.) Pour autoriser le ping, j'ai ajouté le groupe de sécurité pour chacune des instances (entrantes).

entrez la description de l'image ici


6
Votre deuxième règle, "Tout le trafic" de "N'importe où", n'est pas une bonne idée.
Devin

-3

Lors de l'accès à de nouveaux ports dans l'instance ec2. Vous avez ajouté à 2 endroits. 1. Ports entrants du groupe de sécurité. 2. Paramètres entrants des paramètres du pare-feu.


-3
  1. Assurez-vous que vous utilisez l'adresse IP publique de votre instance aws ec2 pour effectuer un ping.

  2. éditez le groupe de sécurité attaché à votre instance EC2 et ajoutez une règle entrante pour le protocole ICMP.

  3. essayez de faire un ping, si cela ne résout pas, puis ajoutez une règle sortante pour ICMP dans le groupe de sécurité.


-4

Je voudrais mentionner quelques rares problèmes induits par les FAI. Parfois, la suite m'arrive avec BSNL. c'est l'un de ces problèmes bizarres qui prend des heures de votre vie quotidienne. Dans ce cas, on peut soulever le problème avec le FAI ou changer de FAI.

  1. L'instance Amazon est accessible à partir du navigateur (tous les ports ouverts)
  2. La même chose ne peut pas être envoyée depuis la console
  3. ssh / telnet ne fonctionne pas non plus.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.