Tôi có một phiên bản EC2 đang chạy trong AWS. Khi tôi cố gắng ping từ hộp địa phương của tôi, nó không có sẵn.
Làm thế nào tôi có thể làm cho cá thể có thể ping được?
Tôi có một phiên bản EC2 đang chạy trong AWS. Khi tôi cố gắng ping từ hộp địa phương của tôi, nó không có sẵn.
Làm thế nào tôi có thể làm cho cá thể có thể ping được?
Câu trả lời:
Thêm quy tắc gửi đến nhóm bảo mật EC2 mới :
ping
, không phải tất cả.
Một vài năm muộn màng nhưng hy vọng điều này sẽ giúp người khác ...
1) Trước tiên, đảm bảo phiên bản EC2 có IP công khai. Nếu có DNS công cộng hoặc địa chỉ IP công cộng (khoanh tròn bên dưới) thì bạn sẽ ổn. Đây sẽ là địa chỉ bạn ping.
2) Tiếp theo, đảm bảo các quy tắc mạng của Amazon cho phép Yêu cầu Echo . Chuyển đến Nhóm bảo mật cho EC2.
3) Tiếp theo, tường lửa Windows chặn các yêu cầu Echo gửi theo mặc định. Cho phép yêu cầu Echo bằng cách tạo ngoại lệ tường lửa ...
4) Xong rồi! Hy vọng rằng bây giờ bạn có thể ping máy chủ của bạn.
Bạn phải chỉnh sửa Nhóm bảo mật mà phiên bản EC2 của bạn thuộc về và cho phép truy cập (hoặc thay thế tạo một nhóm mới và thêm phiên bản vào nó).
Theo mặc định, mọi thứ đều bị từ chối. Ngoại lệ bạn cần thêm vào Nhóm bảo mật tùy thuộc vào dịch vụ bạn cần cung cấp cho internet.
Nếu nó là một máy chủ web, bạn sẽ cần phải cho phép truy cập vào cổng 80
cho 0.0.0.0/0
( có nghĩa là bất kỳ địa chỉ IP ).
Để cho phép ping trường hợp, bạn cần kích hoạt lưu lượng ICMP.
Bảng điều khiển web AWS cung cấp một số tùy chọn được sử dụng phổ biến nhất trong danh sách thả xuống có liên quan.
All ICMP
lưu lượng truy cập đến các máy sử dụng Nhóm bảo mật được chỉ định làm việc cho tôi.
Quy tắc ICMP tùy chỉnh trong nhóm bảo mật không phải là những gì nó cần, ít nhất là đối với tôi. Nhưng quy tắc sau sẽ hoạt động:
Type: All ICMP
Protocol: TCP
Port range: 0 - 65535
Source: Anywhere - 0.0.0.0/0
Sau khi làm điều này, bạn sẽ có thể ping các trường hợp khác. Bạn sẽ thấy một cái gì đó như:
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
Đó là nó.
Vui lòng xem qua danh sách dưới đây
1) Trước tiên, bạn phải kiểm tra xem phiên bản có được khởi chạy trong mạng con hay không, nơi có thể truy cập từ internet
Để kiểm tra xem liệu mạng con được khởi chạy có gắn cổng internet hay không. Để biết chi tiết về mạng trong AWS, vui lòng đi qua liên kết dưới đây.
mạng con công cộng và riêng tư trong aws vpc
2) Kiểm tra xem bạn có thêm quy tắc nhóm bảo mật phù hợp hay không, Nếu không, hãy thêm quy tắc bên dưới vào nhóm bảo mật được đính kèm. Ví dụ: Nhóm bảo mật được gắn với mọi phiên bản được khởi chạy. / out of instance.by mặc định mọi nhóm bảo mật cho phép tất cả lưu lượng truy cập đi từ thể hiện và không có lưu lượng truy cập đến đối tượng. Kiểm tra liên kết bên dưới để biết thêm chi tiết về lưu lượng.
Loại: ICMPV4 tùy chỉnh
Giao thức: ICMP
Portrange: Yêu cầu Echo
Nguồn: 0.0.0.0/0
3) Kiểm tra xem bạn có đủ quy tắc trong tường lửa cấp mạng con được gọi là NACL hay không các quy tắc NACL.Below là liên kết sẽ có thêm chi tiết về nó.
Quy tắc trong nước . Luật lệ nước ngoài
Loại: IPV4 tùy chỉnh Loại: IPV4 tùy chỉnh
Giao thức: Giao thức ICMP: ICMP
Portrange: ECHO YÊU CẦU Portrange: ECHO REPLY
Nguồn: 0.0.0.0/0 Đích: 0.0.0.0/0
Cho phép / Từ chối: Cho phép Cho phép / Từ chối: Cho phép
4) kiểm tra bất kỳ tường lửa nào như IPTABLES và không cho phép thử ping.
Thành lập một nhóm bảo mật mới với All ICMP làm việc cho tôi.
Những người chưa quen với aws ec2 và muốn truy cập thể hiện từ SSH, Broswer, Ping from system
đó bên dưới là quy tắc gửi đến cho những điều này: -
Chuyển đến nhóm bảo mật của phiên bản EC2 và chỉnh sửa quy tắc gửi đến cho phép 0.0.0.0/0 cho ICMP.
Nó sẽ làm việc.
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. Nhấp vào "Lưu"
Theo mặc định, EC2 được bảo mật bởi AWS Security Group (Một dịch vụ được tìm thấy trong EC2 và VPC). Nhóm bảo mật theo mặc định không cho phép bất kỳ yêu cầu ICMP nào bao gồm ping. Để cho phép nó:
Goto: Định vị trường hợp AWS EC2 : Nhóm bảo mật liên kết với trường hợp đó (Có thể có nhiều nhóm bảo mật) Kiểm tra: Cổng vào quy tắc cho giao thức (ICMP) (0 - 65535) nếu không có mặt, bạn có thể thêm nó và cho phép nó IP nguồn được chỉ định của bạn hoặc Nhóm bảo mật khác.
Nếu bạn muốn bật ping (từ bất cứ đâu) theo chương trình, thông qua SDK, công thức kỳ diệu là:
cidrIp: "0.0.0.0/0"
ipProtocol: "icmp"
toPort: -1
fromPort: 8
Ví dụ, trong Scala (sử dụng AWS Java SDK v2), các công trình sau đây để xác định một IpPermission
cho authorizeSecurityGroupIngress
thiết bị đầu cuối.
val PingPermission = {
val range = IpRange.builder().cidrIp( "0.0.0.0/0" ).build()
IpPermission.builder().ipProtocol( "icmp" ).ipRanges( range ).toPort( -1 ).fromPort( 8 ).build()
}
(Tôi đã thử điều này chỉ có trên EC2-Classic. Tôi không biết quy tắc đầu ra nào có thể cần thiết theo VPC)
Các nhóm bảo mật cho phép bạn kiểm soát lưu lượng truy cập đến phiên bản của bạn, bao gồm loại lưu lượng truy cập có thể tiếp cận phiên bản của bạn.
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
Mở cổng trong AWS EC2 kiểm tra liên kết này chính thức AWS liên kết
Có, bạn cần phải mở quyền truy cập vào cổng. Hãy xem Nhóm bảo mật http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/USE-network-security.html
Ví dụ EC2 của bạn cần được gắn vào một nhóm bảo mật cho phép truy cập mà bạn yêu cầu.
Nếu bạn thiết lập các quy tắc là quy tắc "Tùy chỉnh ICMP" và "phản hồi tiếng vang" với bất kỳ nơi nào, nó sẽ hoạt động như một nhà vô địch. "Yêu cầu tiếng vang" là quy tắc sai khi trả lời ping.
Tôi gặp vấn đề sâu hơn - tôi đã tạo VPC, mạng con và Nhóm bảo mật thích hợp, nhưng đã bỏ qua việc thêm Cổng Internet và liên kết nó với mạng con của tôi. Vì đây là kết quả Google đầu tiên của tôi cho "Không thể ping ec2", nên tôi sẽ đăng thông tin này ở đây trong trường hợp nó chứng minh hữu ích cho người khác (hoặc bản thân tôi trong tương lai).
terraform hướng dẫn cụ thể cho một nhóm an ninh vì -1 là không rõ ràng đối với tôi.
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"]
}
}
Tôi gặp vấn đề tương tự khi kết nối từ máy chủ linux sang EC2, bạn có hai điều chắc chắn về những điều mà "ALL ICMP" được thêm vào từ EC2 như được hiển thị ở trên và một mình sẽ không hoạt động, bạn phải cập nhật Ansible lên phiên bản mới nhất 2.4, nó không hoạt động với phiên bản 2.2 trước của tôi.
Bạn phải mở cổng bảo mật sau trong nhóm bảo mật. Mỗi quy tắc là cho các mục đích khác nhau, như được hiển thị dưới đây.
TẤT CẢ ICMP cho ping.
HTTP để truy cập URL trên cổng HTTP.
HTTPS để truy cập URL trên cổng HTTP được bảo mật.
Theo yêu cầu của bạn, bạn có thể thay đổi NGUỒN
có thể mạng nội bộ của bạn đang chặn IP đó để ping hoặc chặn gói ping trong tường lửa của bạn nếu bạn đã mở trong nhóm bảo mật và VPC là chính xác.
Khi truy cập các cổng mới trong ví dụ ec2. Bạn đã thêm vào 2 nơi. 1. Nhóm bảo mật cổng vào. 2. Cài đặt tường lửa quy tắc trong nước.
Hãy chắc chắn rằng bạn đang sử dụng IP công cộng của ví dụ aws ec2 để ping.
chỉnh sửa nhóm bảo mật được đính kèm với thể hiện EC2 của bạn và thêm quy tắc gửi đến cho giao thức ICMP.
hãy thử ping, nếu điều này không khắc phục được, thì hãy thêm quy tắc ra cho ICMP trong nhóm bảo mật.
Tôi sẽ đề cập đến một số vấn đề hiếm gặp do ISP gây ra. Thỉnh thoảng theo sau chúc mừng tôi với BSNL. đó là một trong những vấn đề nghiêm trọng hơn, mất hàng giờ trong cuộc sống hàng ngày của bạn. Trong trường hợp như vậy, người ta có thể nêu vấn đề với ISP hoặc thay đổi ISP.