Saya memiliki 2 mesin Google Compute dan saya ingin membuka port 9090 dalam kedua mesin tersebut. Saya pikir kita perlu menambahkan beberapa aturan firewall.
Bisakah Anda memberi tahu saya bagaimana saya bisa melakukan itu?
Saya memiliki 2 mesin Google Compute dan saya ingin membuka port 9090 dalam kedua mesin tersebut. Saya pikir kita perlu menambahkan beberapa aturan firewall.
Bisakah Anda memberi tahu saya bagaimana saya bisa melakukan itu?
Jawaban:
Kamu butuh:
Buka cloud.google.com
Pergi ke Konsol saya
Pilih Proyek Anda
Pilih Jaringan> jaringan VPC
Pilih "Aturan firewall"
Pilih "Buat Aturan Firewall"
Untuk menerapkan aturan untuk memilih instance VM, pilih Target> "Tag target yang ditentukan", dan masukkan ke dalam "Tag target" nama tag. Tag ini akan digunakan untuk menerapkan aturan firewall baru ke instance mana pun yang Anda inginkan. Kemudian, pastikan instans telah menerapkan tag jaringan.
Untuk mengizinkan koneksi TCP yang masuk ke port 9090, masukkan "Protokol dan Port" tcp:9090
Klik Buat
Saya harap ini membantu Anda.
Perbarui Silakan merujuk ke dokumen untuk menyesuaikan aturan Anda.
allow http
dan allow https
saya sudah menambahkan aturan firewall baru tetapi saya tidak bisa menemukannya. Saya juga di tingkat gratis, jika itu membantu.
Berikut ini adalah pendekatan command-line untuk menjawab pertanyaan ini:
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>"
Ini akan membuka port 9090
untuk instance yang Anda sebutkan. Menghilangkan --source-tags
dan --source-ranges
akan menerapkan aturan untuk semua instance. Rincian lebih lanjut di dokumentasi Gcloud dan para firewall-rule create
pengguna perintah
Jawaban sebelumnya sangat bagus, tetapi Google merekomendasikan untuk menggunakan gcloud
perintah yang lebih baru daripada gcutil
perintah.
PS: Untuk mendapatkan ide tentang aturan firewall Google, jalankan gcloud compute firewall-rules list
dan lihat semua aturan firewall Anda
--description
bagian itu, tetapi jika tidak, ini berfungsi untuk saya.
source
berarti lalu lintas masuk sedangkan target
mengacu pada instance untuk menerapkan aturan.
ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource: - Insufficient Permission
@modulitos
telnet :instance_ip :port
atau nmap -p :port :instance_ip
?
Anda harus menambahkan aturan firewall untuk membuka akses masuk tcp:9090
ke instance Anda. Jika Anda memiliki lebih dari dua instance, dan Anda hanya ingin membuka 9090 untuk keduanya, Anda harus memastikan bahwa ada tag yang dibagikan kedua instance tersebut. Anda dapat menambahkan atau memperbarui tag melalui konsol atau baris perintah; Saya akan merekomendasikan menggunakan GUI untuk itu jika diperlukan karena menangani siklus baca-ubah-tulis setinstancetags
.
Jika Anda ingin membuka port 9090 ke semua instance, Anda dapat membuat aturan firewall seperti:
gcutil addfirewall allow-9090 --allowed=tcp:9090
yang akan berlaku untuk semua instance Anda.
Jika Anda hanya ingin membuka port 9090 ke dua instance yang melayani aplikasi Anda, pastikan mereka memiliki tag seperti my-app
, dan kemudian tambahkan firewall seperti itu:
gcutil addfirewall my-app-9090 --allowed=tcp:9090 --target_tags=my-app
Anda dapat membaca lebih lanjut tentang membuat dan mengelola firewall di GCE di sini .
gcutil
tidak lagi tersedia; tolong tulis ulang baris perintah Anda menggunakan gcloud
.
Pertanyaan ini sudah tua dan jawaban Carlos Rojas baik, tapi saya pikir saya harus memposting beberapa hal yang harus diingat ketika mencoba untuk membuka port.
Hal pertama yang perlu diingat adalah bahwa bagian Networking diubah namanya menjadi VPC Networking . Jadi, jika Anda mencoba mencari tahu di mana opsi Aturan Firewall tersedia, lihat VPC Networking .
Yang kedua adalah, jika Anda mencoba membuka port pada Linux VM, pastikan dalam keadaan apa pun Anda tidak boleh mencoba membuka port menggunakan ufw
perintah. Saya mencoba menggunakan itu dan kehilangan akses ssh ke VM. Jadi jangan ulangi kesalahan saya.
Hal ketiga adalah, jika Anda mencoba membuka port pada VM Windows, Anda harus membuat aturan Firewall di dalam VM juga di Windows Firewall bersama dengan VPC Networking -> Firewall Rules . Port perlu dibuka di kedua aturan firewall, tidak seperti Linux VM. Jadi jika Anda tidak mendapatkan akses ke port dari luar VM, periksa apakah Anda telah membuka port di konsol GCP dan Windows Firewall.
Yang terakhir (jelas) adalah, jangan membuka port yang tidak perlu. Tutup port, segera setelah Anda tidak lagi membutuhkannya.
Semoga jawaban ini bermanfaat.
ufw
perintah dan saya masih memiliki akses ssh.
Saya memiliki masalah yang sama seperti yang Anda lakukan dan saya bisa menyelesaikannya dengan mengikuti instruksi @CarlosRojas dengan sedikit perbedaan. Alih-alih membuat aturan firewall baru, saya mengedit aturan default-allow-internal
untuk menerima lalu lintas dari mana saja karena membuat aturan baru tidak ada bedanya.
Membuat aturan firewall
Harap tinjau komponen aturan firewall [1] jika Anda tidak terbiasa dengan aturan firewall di GCP. Aturan firewall didefinisikan di tingkat jaringan, dan hanya berlaku untuk jaringan tempat aturan itu dibuat; Namun, nama yang Anda pilih untuk masing-masing harus unik untuk proyek tersebut.
Untuk Cloud Console:
Tentukan Target aturan.
Untuk aturan masuknya, tentukan filter Sumber:
Untuk aturan jalan keluar, tentukan filter Tujuan:
Tetapkan Protokol dan port tempat aturan akan berlaku:
Pilih Izinkan semua atau Tolak semua, tergantung pada tindakannya, agar aturan berlaku untuk semua protokol dan port.
Tetapkan protokol dan port tertentu:
(Opsional) Anda dapat membuat aturan firewall tetapi tidak menegakkannya dengan mengatur status penegakannya ke dinonaktifkan. Klik Nonaktifkan aturan, lalu pilih Nonaktif.
(Opsional) Anda dapat mengaktifkan pencatatan aturan firewall:
Klik Buat.
Tautan: [1] https://cloud.google.com/vpc/docs/firewalls#firewall_rule_components