ฉันมีอินสแตนซ์ EC2 ทำงานใน AWS เมื่อฉันพยายาม ping จากกล่องท้องถิ่นของฉันมันไม่สามารถใช้ได้
ฉันจะทำให้ pingable อินสแตนซ์ได้อย่างไร
ฉันมีอินสแตนซ์ EC2 ทำงานใน AWS เมื่อฉันพยายาม ping จากกล่องท้องถิ่นของฉันมันไม่สามารถใช้ได้
ฉันจะทำให้ pingable อินสแตนซ์ได้อย่างไร
คำตอบ:
เพิ่มกฎความปลอดภัยขาเข้ากลุ่ม EC2 ใหม่:
ping
ไม่ได้ทั้งหมด
ไม่กี่ปีที่ผ่านมา แต่หวังว่าจะช่วยคนอื่น ...
1) อันดับแรกตรวจสอบให้แน่ใจว่าอินสแตนซ์ EC2 มี IP สาธารณะ หากมีPublic DNSหรือที่อยู่IP สาธารณะ (วงกลมด้านล่าง) คุณควรจะดี นี่จะเป็นที่อยู่ที่คุณส่ง Ping
2) ถัดไปให้แน่ใจว่าเครือข่ายกฎ Amazon อนุญาตให้จองก้อง ไปที่กลุ่มรักษาความปลอดภัยสำหรับ EC2
3) ถัดไปไฟร์วอลล์ Windows บล็อกคำขอ Echo ขาเข้าตามค่าเริ่มต้น อนุญาตคำขอ Echo โดยสร้างข้อยกเว้นไฟร์วอลล์ windows ...
4) เสร็จแล้ว! หวังว่าคุณน่าจะสามารถ ping เซิร์ฟเวอร์ของคุณได้แล้ว
คุณต้องแก้ไขกลุ่มความปลอดภัยที่เป็นอินสแตนซ์ EC2 ของคุณและอนุญาตการเข้าถึง (หรือสร้างใหม่หรือเพิ่มอินสแตนซ์นั้น)
โดยค่าเริ่มต้นทุกอย่างถูกปฏิเสธ ข้อยกเว้นที่คุณต้องเพิ่มในกลุ่มความปลอดภัยขึ้นอยู่กับบริการที่คุณต้องการให้มีในอินเทอร์เน็ต
หากเป็นเว็บเซิร์ฟเวอร์คุณจะต้องอนุญาตให้เข้าถึงพอร์ต80
สำหรับ0.0.0.0/0
( ซึ่งหมายถึงที่อยู่ IP ใด ๆ )
ในการอนุญาตให้ส่ง Ping คุณต้องเปิดใช้งานการรับส่งข้อมูล ICMP
AWS Web Console มีตัวเลือกที่ใช้บ่อยที่สุดในรายการแบบหล่นลงที่เกี่ยวข้อง
All ICMP
ฟิกไปยังเครื่องโดยใช้กลุ่มรักษาความปลอดภัยที่ระบุทำงานได้ดีสำหรับฉัน
กฎ ICMP ที่กำหนดเองในกลุ่มความปลอดภัยไม่ใช่สิ่งที่จะต้องทำอย่างน้อยสำหรับฉัน แต่กฎต่อไปนี้จะใช้งานได้:
Type: All ICMP
Protocol: TCP
Port range: 0 - 65535
Source: Anywhere - 0.0.0.0/0
หลังจากทำเช่นนี้คุณจะสามารถ ping อินสแตนซ์อื่น ๆ คุณควรเห็นบางสิ่งเช่น:
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
แค่นั้นแหละ.
โปรดทำตามรายการตรวจสอบด้านล่าง
1) คุณต้องตรวจสอบก่อนว่ามีการเปิดตัวอินสแตนซ์ในเครือข่ายย่อยที่สามารถเข้าถึงได้จากอินเทอร์เน็ตหรือไม่
สำหรับการตรวจสอบว่าอินสแตนซ์ที่เปิดตัว subnet นั้นมีอินเทอร์เน็ตเกตเวย์เชื่อมต่ออยู่หรือไม่สำหรับรายละเอียดของระบบเครือข่ายใน AWS โปรดไปที่ลิงค์ด้านล่าง
เครือข่ายสาธารณะและส่วนตัวใน aws vpc
2) ตรวจสอบว่าคุณมีการเพิ่มกฎกลุ่มความปลอดภัยที่เหมาะสมหรือไม่หากเพิ่มกฎด้านล่างในกลุ่มความปลอดภัยที่แนบกับอินสแตนซ์กลุ่มความปลอดภัยคือไฟร์วอลล์ที่เชื่อมต่อกับทุกอินสแตนซ์ที่เปิดตัวกลุ่มความปลอดภัยประกอบด้วยกฎขาเข้า / ขาออก / out ของ instance.by เริ่มต้นทุกกลุ่มความปลอดภัยอนุญาตให้ทราฟฟิกขาออกทั้งหมดจากอินสแตนซ์และไม่มีทราฟฟิกขาเข้าไปยังอินสแตนซ์ตรวจสอบลิงค์ด้านล่างสำหรับรายละเอียดเพิ่มเติมของทราฟฟิก
ประเภท: ICMPV4 ที่กำหนดเอง
โปรโตคอล: ICMP
Portrange: Echo Request
ที่มา: 0.0.0.0/0
3) ตรวจสอบว่าคุณมีกฎเพียงพอในไฟร์วอลล์ระดับเครือข่ายย่อยที่เรียกว่า NACL หรือไม่ NACL เป็นไฟร์วอลล์ไร้สัญชาติที่ต้องการการรับส่งข้อมูลทั้งขาเข้าและขาออกแยกต่างหาก NACL ถูกนำไปใช้ที่ระดับเครือข่ายย่อย กฎ NACL ด้านล่างคือลิงก์ที่จะมีรายละเอียดเพิ่มเติม
กฎขาเข้า กฎขาออก
ประเภท: IPV4 ที่กำหนดเองประเภท: IPV4 ที่กำหนดเอง
โปรโตคอล: ICMP โปรโตคอล: ICMP
Portrange: ECHO REQUEST Portrange: ECHO REPLY
ที่มา: 0.0.0.0/0 ปลายทาง: 0.0.0.0/0
อนุญาต / ปฏิเสธ: อนุญาตอนุญาต / ปฏิเสธ: อนุญาต
4) ตรวจสอบไฟร์วอลล์ใด ๆ เช่น IPTABLES และปิดการใช้งานการทดสอบ ping
การสร้างกลุ่มความปลอดภัยใหม่ที่มี ICMP ทั้งหมดเหมาะกับฉัน
ผู้ที่ยังใหม่ต่อ aws ec2 และต้องการเข้าถึงอินสแตนซ์จากSSH, Broswer, Ping from system
นั้นด้านล่างเป็นกฎขาเข้าสำหรับสิ่งเหล่านี้: -
ไปที่กลุ่มความปลอดภัยของอินสแตนซ์ EC2 และแก้ไขกฎขาเข้าอนุญาต 0.0.0.0/0 สำหรับ ICMP
มันจะทำงาน.
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. คลิกที่ "บันทึก"
โดยค่าเริ่มต้น EC2 นั้นปลอดภัยโดย AWS Security Group (บริการที่พบใน EC2 และ VPC) กลุ่มความปลอดภัยโดยค่าเริ่มต้นจะไม่อนุญาตคำขอ ICMP ใด ๆ ที่รวมถึงการ ping วิธีอนุญาต:
ไปที่: AWS EC2 อินสแตนซ์ ค้นหา:กลุ่มความปลอดภัยเชื่อมโยงกับอินสแตนซ์ (เป็นไปได้ที่จะมีกลุ่มความปลอดภัยหลายกลุ่ม) ตรวจสอบ:กฎขาเข้าสำหรับพอร์ตโปรโตคอล (ICMP) (0 - 65535) หากไม่มีอยู่คุณสามารถเพิ่มได้ IP ต้นทางที่คุณระบุหรือกลุ่มความปลอดภัยอื่น
หากคุณต้องการเปิดใช้งานการ ping (จากที่ใดก็ได้) โดยทางโปรแกรมผ่าน SDK สูตรวิเศษคือ:
cidrIp: "0.0.0.0/0"
ipProtocol: "icmp"
toPort: -1
fromPort: 8
ยกตัวอย่างเช่นในสกาล่า (โดยใช้ v2 AWS Java SDK) ผลงานต่อไปนี้เพื่อกำหนดIpPermission
สำหรับauthorizeSecurityGroupIngress
ปลายทาง
val PingPermission = {
val range = IpRange.builder().cidrIp( "0.0.0.0/0" ).build()
IpPermission.builder().ipProtocol( "icmp" ).ipRanges( range ).toPort( -1 ).fromPort( 8 ).build()
}
(ฉันได้ลองแล้วนี่เป็นเพียง EC2-Classic เท่านั้นฉันไม่รู้ว่ากฎ egress ใดที่อาจจำเป็นภายใต้ VPC)
กลุ่มความปลอดภัยช่วยให้คุณสามารถควบคุมปริมาณข้อมูลในอินสแตนซ์ของคุณรวมถึงประเภทของปริมาณข้อมูลที่สามารถเข้าถึงอินสแตนซ์ของคุณได้
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
เปิดพอร์ตใน AWS EC2 ตรวจสอบลิงค์นี้อย่างเป็นทางการลิงก์ AWS
ใช่คุณต้องเปิดการเข้าถึงพอร์ต ดูที่กลุ่มความปลอดภัยhttp://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
อินสแตนซ์ EC2 ของคุณต้องเชื่อมต่อกับกลุ่มความปลอดภัยที่อนุญาตการเข้าถึงที่คุณต้องการ
หากคุณตั้งค่ากฎเป็น "Custom ICMP" และ "echo reply" กับทุกที่มันจะทำงานเหมือนแชมป์ "คำขอ echo" เป็นกฎที่ไม่ถูกต้องสำหรับการตอบรับ Ping
ฉันมีปัญหาที่ลึกกว่านี้ - ฉันได้สร้าง VPC, ซับเน็ตและกลุ่มความปลอดภัยที่เหมาะสม แต่ไม่สนใจที่จะเพิ่มเกตเวย์อินเทอร์เน็ตและเชื่อมโยงกับซับเน็ตของฉัน เนื่องจากนี่คือผลการค้นหา Google ครั้งแรกของฉันสำหรับ "Caning ping ec2" ฉันจึงโพสต์ข้อมูลนี้ที่นี่ในกรณีที่พิสูจน์ได้ว่ามีประโยชน์กับคนอื่น (หรือตัวฉันเองในอนาคต)
คำแนะนำเฉพาะterraformสำหรับกลุ่มความปลอดภัยเนื่องจาก -1 ไม่ชัดเจนสำหรับฉัน
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"]
}
}
ฉันมีปัญหาเดียวกันในการเชื่อมต่อจากเซิร์ฟเวอร์ linux ไปยัง EC2 คุณมีสองสิ่งที่ต้องแน่ใจว่า "ALL ICMP" ถูกเพิ่มจาก EC2 ดังที่แสดงด้านบนและไม่สามารถใช้งานได้เพียงอย่างเดียวคุณต้องอัปเดตเวอร์ชันล่าสุด 2.4 มันไม่ทำงานกับเวอร์ชันก่อนหน้าของฉัน 2.2
คุณต้องเปิดพอร์ตความปลอดภัยต่อไปนี้ในกลุ่มความปลอดภัย แต่ละกฎมีไว้เพื่อจุดประสงค์ที่แตกต่างกันดังที่แสดงด้านล่าง
ICMP ทั้งหมดสำหรับการปิง
HTTP สำหรับการเข้าถึง URL บนพอร์ต HTTP
HTTPS สำหรับการเข้าถึง URL บนพอร์ต HTTP ที่ปลอดภัย
ตามความต้องการของคุณคุณสามารถเปลี่ยนแหล่งที่มา
อาจเป็นเพราะเครือข่ายภายในของคุณกำลังปิดกั้น IP นั้นไปยัง ping หรือ block ping packet ในไฟร์วอลล์ของคุณหากคุณเปิดในกลุ่มความปลอดภัยและ VPC นั้นถูกต้อง
เมื่อส่ง Ping สองระบบโดยค่าเริ่มต้น SSH จะถูกเปิดใช้งาน (ถ้าคุณเชื่อมต่อผ่าน putty หรือเทอร์มินัล) เพื่ออนุญาตให้ ping ฉันเพิ่มกลุ่มความปลอดภัยสำหรับแต่ละอินสแตนซ์ (ขาเข้า)
เมื่อเข้าถึงพอร์ตใหม่ในอินสแตนซ์ ec2 คุณได้เพิ่มสถานที่ 2 แห่ง 1. พอร์ตความปลอดภัยขาเข้าของกลุ่มความปลอดภัย 2. กฎการตั้งค่าไฟร์วอลล์ขาเข้า
ตรวจสอบให้แน่ใจว่าคุณใช้ไอพีสาธารณะของอินสแตนซ์ของคุณ aw2 เพื่อ ping
แก้ไขกลุ่มความลับที่แนบมากับอินสแตนซ์ EC2 ของคุณและเพิ่มกฎขาเข้าสำหรับโปรโตคอล ICMP
ลองส่ง Ping หากไม่สามารถแก้ไขได้ให้เพิ่มกฎขาออกสำหรับ ICMP ในกลุ่มความปลอดภัย
ฉันอยากจะพูดถึงปัญหาที่เกิดจาก ISP ที่หายาก บางครั้งการติดตามเกิดขึ้นกับฉันด้วย BSNL มันเป็นหนึ่งในปัญหาแปลก ๆ ที่ใช้เวลาหลายชั่วโมงในชีวิตประจำวันของคุณ ในกรณีเช่นนี้อาจเกิดปัญหากับ ISP หรือเปลี่ยน ISP