Ich habe eine EC2-Instanz in AWS ausgeführt. Wenn ich versuche, von meiner lokalen Box aus zu pingen, ist dies nicht verfügbar.
Wie kann ich die Instanz pingbar machen?
Ich habe eine EC2-Instanz in AWS ausgeführt. Wenn ich versuche, von meiner lokalen Box aus zu pingen, ist dies nicht verfügbar.
Wie kann ich die Instanz pingbar machen?
Antworten:
Fügen Sie eine neue eingehende EC2-Sicherheitsgruppenregel hinzu :
ping
, nicht alle.
Ein paar Jahre zu spät, aber hoffentlich hilft das jemand anderem ...
1) Stellen Sie zunächst sicher, dass die EC2-Instanz eine öffentliche IP hat. Wenn hat ein öffentliches DNS oder eine öffentliche IP Adresse haben (siehe unten), sollten Sie gut sein. Dies ist die Adresse, die Sie anpingen.
2) Als nächstes stellen Sie sicher , die Amazon - Netzwerk - Regeln erlauben Echo Requests . Gehen Sie zur Sicherheitsgruppe für die EC2.
3) Als nächstes blockiert die Windows-Firewall eingehende Echoanforderungen standardmäßig. Erlauben Sie Echoanforderungen, indem Sie eine Windows-Firewall-Ausnahme erstellen ...
4) Fertig! Hoffentlich sollten Sie jetzt in der Lage sein, Ihren Server zu pingen.
Sie müssen die Sicherheitsgruppe bearbeiten zu der Ihre EC2-Instanz gehört, und den Zugriff zulassen (oder alternativ eine neue erstellen und die Instanz hinzufügen).
Standardmäßig wird alles abgelehnt. Die Ausnahme, die Sie zur Sicherheitsgruppe hinzufügen müssen, hängt von dem Dienst ab, den Sie dem Internet zur Verfügung stellen müssen.
Wenn es sich um einen Webserver handelt, müssen Sie den Zugriff auf den Port 80
für 0.0.0.0/0
( dh jede IP-Adresse ) zulassen .
Um das Pingen der Instanz zu ermöglichen, müssen Sie den ICMP-Verkehr aktivieren.
Die AWS Web Console bietet einige der am häufigsten verwendeten Optionen in der entsprechenden Dropdown-Liste.
All ICMP
Datenverkehrs zu den Computern mithilfe der angegebenen Sicherheitsgruppe war für mich ein Vergnügen.
Die benutzerdefinierte ICMP-Regel in der Sicherheitsgruppe ist zumindest für mich nicht erforderlich. Die folgende Regel funktioniert jedoch:
Type: All ICMP
Protocol: TCP
Port range: 0 - 65535
Source: Anywhere - 0.0.0.0/0
Danach können Sie andere Instanzen anpingen. Sie sollten etwas sehen wie:
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
Das ist es.
Bitte gehen Sie die folgenden Checklisten durch
1) Sie müssen zunächst prüfen, ob die Instanz in einem Subnetz gestartet ist, in dem sie über das Internet erreichbar ist
Überprüfen Sie dazu, ob an das vom Instanz gestartete Subnetz ein Internet-Gateway angeschlossen ist. Einzelheiten zum Netzwerk in AWS finden Sie unter dem folgenden Link.
öffentliche und private Subnetze in aws vpc
2) Überprüfen Sie, ob Sie die richtigen Sicherheitsgruppenregeln hinzugefügt haben. Wenn nicht, fügen Sie die folgende Regel in der an die Instanz angehängten Sicherheitsgruppe hinzu. Eine Sicherheitsgruppe ist eine Firewall, die an jede gestartete Instanz angehängt ist. Die Sicherheitsgruppen enthalten die eingehenden / ausgehenden Regeln, die den Datenverkehr zulassen Standardmäßig lässt jede Sicherheitsgruppe den gesamten ausgehenden Datenverkehr von der Instanz und keinen eingehenden Datenverkehr zur Instanz zu. Weitere Informationen zum Datenverkehr finden Sie unter dem folgenden Link.
Sicherheitsgruppendokumentation
Typ: benutzerdefiniertes ICMPV4
Protokoll: ICMP
Portrange: Echoanforderung
Quelle: 0.0.0.0/0
3) Überprüfen Sie, ob in der Firewall auf Subnetzebene genügend Regeln mit dem Namen NACL vorhanden sind. Eine NACL ist eine zustandslose Firewall, für die sowohl eingehender als auch ausgehender Datenverkehr separat angegeben werden muss. NACL wird auf Subnetzebene angewendet. Alle Instanzen unter dem Subnetz fallen darunter Die NACL-Regeln. Unten ist der Link, der weitere Details enthält.
Eingehende Regeln . Ausgehende Regeln
Typ: Benutzerdefiniertes IPV4 Typ: Benutzerdefiniertes IPV4
Protokoll: ICMP Protokoll: ICMP
Portrange: ECHO REQUEST Portrange: ECHO REPLY
Quelle: 0.0.0.0/0 Ziel: 0.0.0.0/0
Zulassen / Verweigern: Zulassen Zulassen / Verweigern: Zulassen
4) Überprüfen Sie alle Firewalls wie IPTABLES und deaktivieren Sie sie, um den Ping zu testen.
Die Erstellung einer neuen Sicherheitsgruppe mit All ICMP hat für mich funktioniert.
Diejenigen, die neu bei aws ec2 sind und von SSH, Broswer, Ping from system
dort unten auf die Instanz zugreifen möchten, sind die Eingangsregel für diese: -
Wechseln Sie zur Sicherheitsgruppe der EC2-Instanz und bearbeiten Sie die Eingangsregel "Zulassen 0.0.0.0/0 für ICMP".
Es wird klappen.
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.Klicken Sie auf "Speichern"
Standardmäßig wird EC2 von der AWS Security Group (einem in EC2 und VPC enthaltenen Dienst) gesichert. Sicherheitsgruppen lassen standardmäßig keine ICMP-Anforderung zu, die den Ping enthält. Um es zuzulassen:
Springen: AWS EC2-Instanz suchen: Die Sicherheitsgruppe wird an diese Instanz gebunden (es können mehrere Sicherheitsgruppen vorhanden sein). Überprüfen: ICMP-Port (Inbound Rules for Protocol) (0 - 65535) Wenn dieser nicht vorhanden ist, können Sie ihn hinzufügen und aktivieren Ihre angegebene Quell-IP oder eine andere Sicherheitsgruppe.
Wenn Sie Ping (von überall) programmgesteuert über das SDK aktivieren möchten, lautet die Zauberformel:
cidrIp: "0.0.0.0/0"
ipProtocol: "icmp"
toPort: -1
fromPort: 8
In Scala (unter Verwendung des AWS Java SDK v2) wird beispielsweise Folgendes IpPermission
für den authorizeSecurityGroupIngress
Endpunkt definiert.
val PingPermission = {
val range = IpRange.builder().cidrIp( "0.0.0.0/0" ).build()
IpPermission.builder().ipProtocol( "icmp" ).ipRanges( range ).toPort( -1 ).fromPort( 8 ).build()
}
(Ich habe versucht, dies ist nur auf EC2-Classic. Ich weiß nicht, welche Ausgangsregeln unter einer VPC erforderlich sein könnten.)
Mithilfe von Sicherheitsgruppen können Sie den Datenverkehr zu Ihrer Instanz steuern, einschließlich der Art des Datenverkehrs, der Ihre Instanz erreichen kann.
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
Öffnen Sie die Ports in AWS EC2. Überprüfen Sie diesen offiziellen AWS- Link
Ja, Sie müssen den Zugang zum Port öffnen. Schauen Sie sich die Sicherheitsgruppen http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html an
Ihre EC2-Instanz muss an eine Sicherheitsgruppe angehängt werden, die den von Ihnen benötigten Zugriff ermöglicht.
Wenn Sie die Regeln als "Benutzerdefinierte ICMP" -Regel und "Echoantwort" an einer beliebigen Stelle einrichten, funktioniert dies wie ein Champion. Die "Echoanforderung" ist die falsche Regel für die Beantwortung von Pings.
Ich hatte ein tieferes Problem: Ich hatte eine VPC, ein Subnetz und eine entsprechende Sicherheitsgruppe erstellt, es jedoch versäumt, ein Internet-Gateway hinzuzufügen und es meinem Subnetz zuzuordnen. Da dies mein erstes Google-Ergebnis für "Can't ping ec2" ist, veröffentliche ich diese Informationen hier, falls sie sich für andere (oder mich selbst in Zukunft) als nützlich erweisen.
Terraform- spezifische Anweisungen für eine Sicherheitsgruppe, da -1 für mich nicht offensichtlich war.
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"]
}
}
Ich hatte das gleiche Problem beim Versuch, eine Verbindung vom Linux-Server zu EC2 herzustellen. Sie müssen zwei sicherstellen, dass "ALL ICMP" wie oben gezeigt von EC2 hinzugefügt wird und dass dies allein nicht funktioniert. Sie müssen Ansible auf die neueste Version aktualisieren 2.4, es hat mit meiner vorherigen Version 2.2 nicht funktioniert.
Sie müssen den folgenden Sicherheitsport in der Sicherheitsgruppe öffnen. Jede Regel dient unterschiedlichen Zwecken, wie unten gezeigt.
ALL ICMP für Ping.
HTTP für den Zugriff auf die URL am HTTP-Port.
HTTPS für den Zugriff auf die URL am gesicherten HTTP-Port.
Je nach Ihren Anforderungen können Sie SOURCE ändern
Möglicherweise blockiert Ihr internes Netzwerk diese IP-Adresse für Ping oder blockiert das Ping-Paket in Ihrer Firewall, wenn Sie in der Sicherheitsgruppe geöffnet haben und VPC korrekt ist.
Wenn Sie zwei Systeme anpingen, ist standardmäßig SSH aktiviert (wenn Sie eine Verbindung über Putty oder Terminal hergestellt haben). Um Ping zu ermöglichen, habe ich die Sicherheitsgruppe für jede Instanz hinzugefügt (eingehend).
Beim Zugriff auf neue Ports in der ec2-Instanz. Sie haben an 2 Stellen hinzugefügt. 1. Eingehende Ports der Sicherheitsgruppe. 2. Eingehende Regeln für Firewall-Einstellungen.
Stellen Sie sicher, dass Sie die öffentliche IP-Adresse Ihrer aws ec2-Instanz zum Pingen verwenden.
Bearbeiten Sie die Sicherheitsgruppe, die an Ihre EC2-Instanz angehängt ist, und fügen Sie eine eingehende Regel für das ICMP-Protokoll hinzu.
Versuchen Sie, einen Ping-Befehl zu senden. Wenn dies nicht behoben werden kann, fügen Sie der Sicherheitsgruppe eine ausgehende Regel für ICMP hinzu.
Ich möchte einige seltene ISP-induzierte Probleme erwähnen. Gelegentlich passiert mir folgendes mit BSNL. Es ist eines dieser seltsamen Probleme, die Stunden in Ihrem täglichen Leben kosten. In einem solchen Fall kann das Problem beim ISP auftreten oder der ISP geändert werden.