Ho un'istanza EC2 in esecuzione in AWS. Quando provo a eseguire il ping dalla mia casella locale non è disponibile.
Come posso rendere ping l'istanza?
Ho un'istanza EC2 in esecuzione in AWS. Quando provo a eseguire il ping dalla mia casella locale non è disponibile.
Come posso rendere ping l'istanza?
Risposte:
Aggiungi una nuova regola in entrata del gruppo di sicurezza EC2 :
ping
, non tutto.
Qualche anno in ritardo, ma spero che questo aiuti qualcun altro ...
1) Innanzitutto assicurarsi che l'istanza EC2 abbia un IP pubblico. Se ha un DNS pubblico o un indirizzo IP pubblico (cerchiato di seguito), dovresti essere bravo. Questo sarà l'indirizzo che esegui il ping.
2) Successivamente assicurati che le regole di rete di Amazon consentano richieste di eco . Vai al gruppo di sicurezza per EC2.
3) Successivamente, il firewall di Windows blocca le richieste di eco in entrata per impostazione predefinita. Consenti richieste Echo creando un'eccezione del firewall di Windows ...
4) Fatto! Spero che ora dovresti essere in grado di eseguire il ping del tuo server.
Devi modificare il gruppo di sicurezza a cui appartiene la tua istanza EC2 e consentire l'accesso (o in alternativa crearne uno nuovo e aggiungere l'istanza ad esso).
Per impostazione predefinita, tutto viene negato. L'eccezione che devi aggiungere al gruppo di sicurezza dipende dal servizio che devi rendere disponibile su Internet.
Se si tratta di un server web, dovrai consentire l'accesso alla porta 80
per 0.0.0.0/0
( che significa qualsiasi indirizzo IP ).
Per consentire il ping dell'istanza è necessario abilitare il traffico ICMP.
AWS Web Console fornisce alcune delle opzioni più comunemente utilizzate nell'elenco a discesa pertinente.
All ICMP
traffico verso le macchine utilizzando il gruppo di sicurezza specificato ha funzionato a meraviglia.
La regola ICMP personalizzata nel gruppo di sicurezza non è quella che serve, almeno per me. Ma la seguente regola funzionerà:
Type: All ICMP
Protocol: TCP
Port range: 0 - 65535
Source: Anywhere - 0.0.0.0/0
Dopo averlo fatto sarai in grado di eseguire il ping di altre istanze. Dovresti vedere qualcosa del tipo:
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
Questo è tutto.
Si prega di consultare le liste di controllo qui sotto
1) Devi prima verificare se l'istanza è avviata in una sottorete dove è raggiungibile da Internet
Per questo controlla se la sottorete lanciata dall'istanza ha un gateway Internet ad essa collegato.Per i dettagli della rete in AWS, vai al seguente link.
sottoreti pubbliche e private in aws vpc
2) Verifica se hai aggiunto le regole del gruppo di sicurezza appropriate, In caso contrario Aggiungi la regola seguente nel gruppo di sicurezza collegato all'istanza. Un gruppo di sicurezza è un firewall collegato a ogni istanza avviata. I gruppi di sicurezza contengono le regole in entrata / in uscita che consentono il traffico in / fuori dall'istanza. per impostazione predefinita, ogni gruppo di sicurezza consente tutto il traffico in uscita dall'istanza e nessun traffico in entrata verso l'istanza. Controllare il collegamento seguente per ulteriori dettagli sul traffico.
documentazione del gruppo di sicurezza
Tipo: personalizzato ICMPV4
Protocollo: ICMP
Portrange: richiesta eco
Fonte: 0.0.0.0/0
3) Controlla se hai un numero sufficiente di regole nel firewall a livello di sottorete chiamato NACL. Un NACL è un firewall senza stato che necessita sia del traffico in entrata che in uscita specificato separatamente. Il NACL viene applicato a livello di sottorete, tutte le istanze della sottorete verranno sotto le regole NACL. Di seguito è riportato il link che avrà maggiori dettagli al riguardo.
Regole in entrata . Regole in uscita
Tipo: IPV4 personalizzato Tipo: IPV4 personalizzato
Protocollo: ICMP Protocollo: ICMP
Portrange: ECHO REQUEST Portrange: ECHO REPLY
Fonte: 0.0.0.0/0 Destinazione: 0.0.0.0/0
Consenti / Nega: Consenti Consenti / Nega: Consenti
4) controlla eventuali firewall come IPTABLES e disabilita per testare il ping.
La creazione di un nuovo gruppo di sicurezza con All ICMP ha funzionato per me.
Coloro che sono nuovi in aws ec2 e vogliono accedere all'istanza da SSH, Broswer, Ping from system
quel momento in basso sono la regola in entrata per questi: -
Vai al gruppo di sicurezza dell'istanza EC2 e modifica la regola inbound consentire 0.0.0.0/0 per ICMP.
Funzionerà.
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.Fare clic su "Salva"
Per impostazione predefinita, EC2 è protetto da AWS Security Group (un servizio trovato in EC2 e VPC). Il gruppo di sicurezza per impostazione predefinita non consente qualsiasi richiesta ICMP che includa il ping. Per permetterlo:
Vai a: Istanza AWS EC2 Individua: il gruppo di sicurezza si lega a quell'istanza (è possibile avere più gruppi di sicurezza) Verifica: porta Regole in entrata per protocollo (ICMP) (0 - 65535) se non è presente è possibile aggiungerlo e consentirlo l'IP di origine specificato o un altro gruppo di sicurezza.
Se si desidera abilitare il ping (da qualsiasi luogo) a livello di codice, tramite SDK, la formula magica è:
cidrIp: "0.0.0.0/0"
ipProtocol: "icmp"
toPort: -1
fromPort: 8
Ad esempio, in Scala (utilizzando AWS Java SDK v2), quanto segue funziona per definire un IpPermission
per l' authorizeSecurityGroupIngress
endpoint.
val PingPermission = {
val range = IpRange.builder().cidrIp( "0.0.0.0/0" ).build()
IpPermission.builder().ipProtocol( "icmp" ).ipRanges( range ).toPort( -1 ).fromPort( 8 ).build()
}
(Ho provato che questo è solo su EC2-Classic. Non so quali regole di uscita potrebbero essere necessarie in un VPC)
I gruppi di sicurezza ti consentono di controllare il traffico verso la tua istanza, incluso il tipo di traffico che può raggiungere la tua istanza.
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
Apri le porte in AWS EC2, controlla questo link link AWS ufficiale
Sì, è necessario aprire l'accesso alla porta. Guarda i gruppi di sicurezza http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
L'istanza EC2 deve essere collegata a un gruppo di sicurezza che consente l'accesso richiesto.
Se imposti le regole come regola "ICMP personalizzata" e "rispondi eco" ovunque, funzionerà come un campione. La "richiesta di eco" è la regola sbagliata per rispondere ai ping.
Ho avuto un problema più profondo: avevo creato un VPC, una sottorete e un appropriato gruppo di sicurezza, ma ho trascurato di aggiungere un gateway Internet e di associarlo alla mia sottorete. Dato che questo è il mio primo risultato di Google per "Impossibile eseguire il ping ec2", sto pubblicando queste informazioni nel caso risultasse utile a qualcun altro (o a me stesso in futuro).
istruzioni specifiche terraform per un gruppo di sicurezza perché -1 non era ovvio per me.
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"]
}
}
Ho avuto lo stesso problema provando a connettermi dal server Linux a EC2, devi assicurarti di due cose su "ALL ICMP" è stato aggiunto da EC2 come mostrato sopra e che da solo non funzionerà, devi aggiornare Ansible alla versione più recente 2.4, non funzionava con la mia precedente versione 2.2.
Devi aprire la seguente porta di sicurezza nel gruppo di sicurezza. Ogni regola ha scopi diversi, come mostrato di seguito.
TUTTO ICMP per il ping.
HTTP per l'accesso all'URL sulla porta HTTP.
HTTPS per l'accesso all'URL sulla porta HTTP protetta.
Secondo il vostro requisito è possibile modificare SOURCE
potrebbe essere che la tua rete interna stia bloccando quell'IP per eseguire il ping o il pacchetto di ping bloccato nel firewall se hai aperto nel gruppo di sicurezza e VPC è corretto.
Quando eseguo il ping di due sistemi, per impostazione predefinita SSH è abilitato (se hai effettuato la connessione tramite putty o terminale). Per consentire il ping, ho aggiunto il gruppo di sicurezza per ciascuna istanza (in entrata).
Quando si accede a nuove porte nell'istanza ec2. Hai aggiunto in 2 posti. 1. Porte in entrata del gruppo di sicurezza. 2. Regole di ingresso delle impostazioni del firewall.
Assicurati di utilizzare l'IP pubblico della tua istanza aws ec2 per eseguire il ping.
modificare il gruppo di sicurezza collegato all'istanza EC2 e aggiungere una regola in entrata per il protocollo ICMP.
prova a eseguire il ping, se questo non risolve, quindi aggiungi la regola in uscita per ICMP nel gruppo di sicurezza.
Vorrei menzionare alcuni rari problemi indotti dall'ISP. Di tanto in tanto mi rallegro con BSNL. è uno di quei problemi strani che richiede ore di vita quotidiana. In tal caso si potrebbe sollevare il problema con l'ISP o modificare l'ISP.