Tôi có 2 phiên bản Google Compute Engine và tôi muốn mở cổng 9090 trong cả hai trường hợp. Tôi nghĩ rằng chúng ta cần thêm một số quy tắc tường lửa.
Bạn có thể cho tôi biết làm thế nào tôi có thể làm điều đó?
Tôi có 2 phiên bản Google Compute Engine và tôi muốn mở cổng 9090 trong cả hai trường hợp. Tôi nghĩ rằng chúng ta cần thêm một số quy tắc tường lửa.
Bạn có thể cho tôi biết làm thế nào tôi có thể làm điều đó?
Câu trả lời:
Bạn cần phải:
Truy cập cloud.google.com
Chuyển đến Bảng điều khiển của tôi
Chọn dự án của bạn
Chọn Mạng> Mạng VPC
Chọn "quy tắc tường lửa"
Chọn "Tạo quy tắc tường lửa"
Để áp dụng quy tắc để chọn phiên bản VM, chọn Mục tiêu> "Thẻ mục tiêu được chỉ định" và nhập vào "Thẻ mục tiêu" tên của thẻ. Thẻ này sẽ được sử dụng để áp dụng quy tắc tường lửa mới cho bất kỳ trường hợp nào bạn muốn. Sau đó, đảm bảo các trường hợp có thẻ mạng được áp dụng.
Để cho phép các kết nối TCP đến tới cổng 9090, hãy nhập "Giao thức và cổng" tcp:9090
Nhấp vào Tạo
Tôi hy vọng cái này sẽ giúp bạn.
Cập nhật Vui lòng tham khảo tài liệu để tùy chỉnh các quy tắc của bạn.
allow http
và allow https
tôi đã thêm một quy tắc tường lửa mới nhưng dường như tôi không thể tìm thấy nó. Tôi cũng đang ở trên tầng miễn phí, nếu nó giúp.
Đây là cách tiếp cận dòng lệnh để trả lời câu hỏi này:
gcloud compute firewall-rules create <rule-name> --allow tcp:9090 --source-tags=<list-of-your-instances-names> --source-ranges=0.0.0.0/0 --description="<your-description-here>"
Điều này sẽ mở cổng 9090
cho các trường hợp mà bạn đặt tên. Bỏ qua --source-tags
và --source-ranges
sẽ áp dụng quy tắc cho tất cả các trường hợp. Chi tiết có trong tài liệu hướng dẫn Gcloud và các firewall-rule create
nhãn hiệu lệnh
Các câu trả lời trước rất hay, nhưng Google khuyên bạn nên sử dụng các gcloud
lệnh mới hơn thay vì các gcutil
lệnh.
PS: Để có ý tưởng về các quy tắc tường lửa của Google, hãy chạy gcloud compute firewall-rules list
và xem tất cả các quy tắc tường lửa của bạn
--description
một phần, nhưng nếu không thì điều này làm việc cho tôi.
source
có nghĩa là lưu lượng đến trong khi target
đề cập đến các trường hợp để áp dụng quy tắc.
ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource: - Insufficient Permission
@modulitos
telnet :instance_ip :port
hay nmap -p :port :instance_ip
?
Bạn sẽ cần thêm quy tắc tường lửa để mở quyền truy cập tcp:9090
vào các phiên bản của mình. Nếu bạn có nhiều hơn hai trường hợp và bạn chỉ muốn mở 9090 cho hai trường hợp đó, bạn sẽ muốn đảm bảo rằng có một thẻ mà hai trường hợp đó chia sẻ. Bạn có thể thêm hoặc cập nhật thẻ thông qua bảng điều khiển hoặc dòng lệnh; Tôi khuyên bạn nên sử dụng GUI cho điều đó nếu cần vì nó xử lý chu trình đọc-sửa-ghi với setinstancetags
.
Nếu bạn muốn mở cổng 9090 cho tất cả các phiên bản, bạn có thể tạo quy tắc tường lửa như:
gcutil addfirewall allow-9090 --allowed=tcp:9090
sẽ áp dụng cho tất cả các trường hợp của bạn.
Nếu bạn chỉ muốn mở cổng 9090 cho hai phiên bản đang phục vụ ứng dụng của mình, hãy đảm bảo rằng chúng có thẻ như thế my-app
, sau đó thêm tường lửa như sau:
gcutil addfirewall my-app-9090 --allowed=tcp:9090 --target_tags=my-app
Bạn có thể đọc thêm về việc tạo và quản lý tường lửa trong GCE tại đây .
gcutil
không còn nữa; vui lòng viết lại dòng lệnh của bạn bằng cách sử dụng gcloud
.
Câu hỏi này đã cũ và câu trả lời của Carlos Rojas là tốt, nhưng tôi nghĩ rằng tôi nên đăng một vài điều cần lưu ý trong khi cố gắng mở các cổng.
Điều đầu tiên cần nhớ là phần Mạng được đổi tên thành Mạng VPC . Vì vậy, nếu bạn đang cố gắng tìm ra nơi tùy chọn Tường lửa có sẵn, hãy xem Mạng VPC .
Điều thứ hai là, nếu bạn đang cố mở các cổng trên máy ảo Linux, hãy đảm bảo trong mọi trường hợp bạn không nên thử mở cổng bằng ufw
lệnh. Tôi đã thử sử dụng và mất quyền truy cập ssh vào VM. Vì vậy, đừng lặp lại sai lầm của tôi.
Điều thứ ba là, nếu bạn đang cố mở các cổng trên Windows VM, bạn sẽ cần tạo các quy tắc Tường lửa bên trong VM cũng trong Tường lửa Windows cùng với Mạng VPC -> Quy tắc Tường lửa . Cổng cần phải được mở trong cả hai quy tắc tường lửa, không giống như Linux VM. Vì vậy, nếu bạn không nhận được quyền truy cập vào cổng từ bên ngoài VM, hãy kiểm tra xem bạn đã mở cổng trong cả bảng điều khiển GCP và Tường lửa Windows chưa.
Điều cuối cùng (rõ ràng) là, không mở các cổng không cần thiết. Đóng các cổng, ngay khi bạn không còn cần nó nữa.
Tôi hy vọng câu trả lời này là hữu ích.
ufw
lệnh và tôi vẫn có quyền truy cập ssh.
Tôi đã có cùng một vấn đề như bạn và tôi có thể giải quyết nó bằng cách làm theo hướng dẫn của @CarlosRojas với một chút khác biệt. Thay vì tạo quy tắc tường lửa mới, tôi đã chỉnh sửa quy tắc default-allow-internal
để chấp nhận lưu lượng truy cập từ mọi nơi vì việc tạo quy tắc mới không tạo ra sự khác biệt nào.
Tạo quy tắc tường lửa
Vui lòng xem lại các thành phần quy tắc tường lửa [1] nếu bạn không quen với các quy tắc tường lửa trong GCP. Các quy tắc tường lửa được xác định ở cấp độ mạng và chỉ áp dụng cho mạng nơi chúng được tạo; tuy nhiên, tên bạn chọn cho mỗi tên phải là duy nhất cho dự án.
Đối với Bảng điều khiển đám mây:
Chỉ định các mục tiêu của quy tắc.
Đối với quy tắc xâm nhập, chỉ định bộ lọc Nguồn:
Đối với quy tắc đi ra, chỉ định bộ lọc Đích:
Xác định các Giao thức và cổng mà quy tắc sẽ áp dụng:
Chọn Cho phép tất cả hoặc Từ chối tất cả, tùy thuộc vào hành động, để áp dụng quy tắc cho tất cả các giao thức và cổng.
Xác định các giao thức và cổng cụ thể:
(Tùy chọn) Bạn có thể tạo quy tắc tường lửa nhưng không thực thi quy tắc này bằng cách đặt trạng thái thực thi của nó thành bị tắt. Nhấp vào Tắt quy tắc, sau đó chọn Tắt.
(Tùy chọn) Bạn có thể bật ghi nhật ký quy tắc tường lửa:
Nhấp vào Tạo.
Liên kết: [1] https://cloud.google.com/vpc/docs/firewalls#firewall_rule_components