Tutorial ini menjelaskan cara mengonfigurasi kebijakan firewall jaringan global untuk mengizinkan traffic internal antara subnet VM di jaringan VPC kustom.
Tujuan
Tutorial ini menunjukkan kepada Anda cara menyelesaikan tugas-tugas berikut:- Buat jaringan VPC kustom dengan dua subnet.
- Buat dua instance VM Linux (VM klien dan VM server) tanpa alamat IP eksternal di subnet terpisah dari jaringan VPC.
- Buat Cloud Router dan gateway Cloud NAT sebagai praktik terbaik untuk mendownload paket software.
- Instal server Apache di VM server.
- Buat kebijakan firewall jaringan global dengan aturan berikut:
- Izinkan traffic keluar ke tujuan mana pun.
- Aktifkan logging firewall.
- Gunakan Identity-Aware Proxy (IAP) untuk mengizinkan konektivitas SSH ke VM.
- Izinkan VM klien terhubung ke VM server yang menjalankan server Apache.
- Uji koneksi.
Diagram berikut menunjukkan alur traffic antara subnet jaringan VPC kustom setelah kebijakan firewall jaringan global mengizinkan traffic masuk internal.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Aktifkan Compute Engine API untuk project Anda.
- Pastikan Anda memiliki peran Identity and Access Management Compute Network Admin (
roles/compute.networkAdmin). - Jika Anda lebih suka bekerja dari command line, instal Google Cloud CLI. Untuk mengetahui informasi konseptual dan penginstalan tentang alat ini,
lihat Ringkasan gcloud CLI.
Catatan: Jika Anda belum pernah menjalankan Google Cloud CLI sebelumnya, jalankan
gcloud initterlebih dahulu untuk melakukan inisialisasi direktori gcloud CLI Anda.
Membuat jaringan VPC kustom dengan subnet
Di bagian ini, Anda akan membuat jaringan VPC mode kustom dengan dua subnet IPv4.
Konsol
Di konsol Google Cloud , buka halaman VPC networks.
Klik Create VPC network.
Untuk Name, masukkan
vpc-fw-rules.Untuk Deskripsi, masukkan
VPC network for the firewall rules tutorial.Untuk Mode pembuatan subnet, klik Kustom.
Di bagian New subnet, tentukan parameter konfigurasi berikut untuk subnet:
- Nama:
subnet-fw-rules-server - Region:
us-central1 (Iowa) - Rentang IPv4:
10.0.0.0/24 - Akses Google Pribadi: Aktif
- Nama:
Klik Done.
Klik Tambahkan subnet, lalu tentukan parameter konfigurasi berikut:
- Nama:
subnet-fw-rules-client - Region:
us-central1 (Iowa) - Rentang IPv4:
192.168.10.0/24 - Akses Google Pribadi: Aktif
- Nama:
Klik Done.
Klik Create.
gcloud
Untuk membuat jaringan VPC, jalankan perintah berikut:
gcloud compute networks create vpc-fw-rules \ --subnet-mode=custom \ --description="VPC network for the firewall rules tutorial"
Opsional: Di dialog Authorize cloud shell, klik Authorize.
Untuk membuat subnet, jalankan perintah berikut:
gcloud compute networks subnets create subnet-fw-rules-server \ --network=vpc-fw-rules \ --region=us-central1 \ --range=10.0.0.0/24 \ --enable-private-ip-google-access
Untuk membuat subnet lain, jalankan perintah berikut:
gcloud compute networks subnets create subnet-fw-rules-client \ --network=vpc-fw-rules \ --region=us-central1 \ --range=192.168.10.0/24 \ --enable-private-ip-google-access
Secara default, jaringan VPC memiliki dua aturan IPv4 tersirat:
- Aturan egress
allowdengan tujuan0.0.0.0/0dan prioritas serendah mungkin (65535) yang mengizinkan instance mana pun mengirim traffic ke tujuan mana pun, kecuali traffic yang diblokir oleh Google Cloud. - Ingress
denydengan sumber0.0.0.0/0dan prioritas terendah (65535) yang melindungi semua instance dengan memblokir koneksi masuk ke instance tersebut.
Untuk mengetahui informasi selengkapnya, lihat Aturan tersirat.
Membuat VM klien dan server
Di bagian ini, Anda akan membuat dua VM Linux tanpa alamat IP eksternal di subnet jaringan VPC yang Anda buat di bagian sebelumnya.
Membuat VM server
Konsol
Untuk membuat VM server, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Create an instance.
Di panel Machine configuration, lakukan hal berikut:
- Untuk Name, masukkan
vm-fw-rules-server. - Untuk Region, pilih
us-central1 (Iowa).
- Untuk Name, masukkan
Di menu navigasi, klik Networking.
- Di bagian Network interfaces, klik
defaultdan tentukan parameter konfigurasi berikut:- Jaringan:
vpc-fw-rules - Subnetwork:
subnet-fw-rules-server IPv4 (10.0.0.0/24) - External IPv4 address: None
- Jaringan:
- Klik Done.
- Di bagian Network interfaces, klik
Klik Create.
gcloud
Untuk membuat VM server, jalankan perintah berikut:
gcloud compute instances create vm-fw-rules-server \
--network=vpc-fw-rules \
--zone=us-central1-a \
--subnet=subnet-fw-rules-server \
--stack-type=IPV4_ONLY \
--no-address
Membuat VM klien
Konsol
Untuk membuat VM klien, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Create an instance.
Di panel Machine configuration, lakukan hal berikut:
- Untuk Name, masukkan
vm-fw-rules-client. - Untuk Region, pilih
us-central1 (Iowa).
- Untuk Name, masukkan
Di menu navigasi, klik Networking.
- Di bagian Network interfaces, klik
defaultdan tentukan parameter konfigurasi berikut:- Jaringan:
vpc-fw-rules - Subnetwork:
subnet-fw-rules-client IPv4 (192.168.10.0/24) - External IPv4 address: None
- Jaringan:
- Klik Done.
- Di bagian Network interfaces, klik
Klik Create.
gcloud
Untuk membuat VM klien, jalankan perintah berikut:
gcloud compute instances create vm-fw-rules-client \
--network=vpc-fw-rules \
--zone=us-central1-a \
--subnet=subnet-fw-rules-client \
--stack-type=IPV4_ONLY \
--no-address
Buat Cloud Router dan gateway Cloud NAT
Di bagian sebelumnya, Anda telah membuat dua VM Linux tanpa alamat IPv4 publik. Agar VM tersebut dapat mengakses internet publik, Anda harus membuat Cloud Router dan gateway Cloud NAT.
Konsol
Di konsol Google Cloud , buka halaman Cloud NAT.
Klik Get started atau Create Cloud NAT gateway.
Untuk Gateway name, masukkan
gateway-fw-rules.Untuk NAT type, pilih Public.
Di bagian Select Cloud Router, tentukan parameter konfigurasi berikut:
- Jaringan:
vpc-fw-rules - Region:
us-central1 - Cloud Router: Buat router baru.
- Untuk Name, masukkan
router-fw-rules. - Klik Create.
- Untuk Name, masukkan
- Jaringan:
Klik Create.
gcloud
Untuk membuat Cloud Router, jalankan perintah berikut:
gcloud compute routers create router-fw-rules \ --network=vpc-fw-rules \ --region=us-central1
Untuk membuat gateway Cloud NAT, jalankan perintah berikut:
gcloud compute routers nats create gateway-fw-rules \ --router=router-fw-rules \ --region=us-central1 \ --auto-allocate-nat-external-ips \ --nat-all-subnet-ip-ranges
Membuat kebijakan firewall jaringan global
Di bagian ini, Anda akan membuat kebijakan firewall jaringan global dengan:
- Aturan keluar dengan
0.0.0.0./0sebagai tujuan. Logging diaktifkan. Firewall Rules Logging memungkinkan Anda mengaudit, memverifikasi, dan menganalisis efek aturan firewall Anda.
Konsol
Di konsol Google Cloud , buka halaman Firewall policies.
Klik Create firewall policy.
Di bagian Configure policy, untuk Policy name, masukkan
fw-policy.Untuk Cakupan deployment, pilih Global, lalu klik Lanjutkan.
Untuk membuat aturan bagi kebijakan Anda, di bagian Tambahkan aturan, klik Tambahkan aturan.
- Untuk Priority, masukkan
65534. - Untuk Direction of traffic, pilih Egress.
- Untuk Logs, pilih On.
- Di bagian Target, untuk Jenis target, pilih Semua instance di jaringan.
- Di bagian Tujuan, untuk Rentang IP, masukkan
0.0.0.0/0. - Di bagian Protocol and ports, pilih Allow all.
- Klik Create.
- Untuk Priority, masukkan
Klik Lanjutkan.
Untuk mengaitkan jaringan VPC dengan kebijakan, di bagian Associate policy with VPC networks, klik Associate.
Centang kotak
vpc-fw-rules, lalu klik Hubungkan.Klik Lanjutkan.
Klik Create.
gcloud
Untuk membuat kebijakan firewall, jalankan perintah berikut:
gcloud compute network-firewall-policies create fw-policy \ --globalUntuk membuat aturan firewall yang mengizinkan traffic ke semua tujuan dan mengaktifkan log, jalankan perintah berikut:
gcloud compute network-firewall-policies rules create 65534 \ --firewall-policy=fw-policy \ --direction=EGRESS \ --action=ALLOW \ --dest-ip-ranges=0.0.0.0/0 \ --layer4-configs=all \ --global-firewall-policy \ --enable-loggingUntuk mengaitkan kebijakan firewall dengan jaringan VPC, jalankan perintah berikut:
gcloud compute network-firewall-policies associations create \ --firewall-policy=fw-policy \ --network=vpc-fw-rules \ --name=pol-association-fw-rules \ --global-firewall-policy
Menambahkan aturan firewall untuk IAP
Di bagian sebelumnya, Anda telah membuat VM Linux tanpa alamat IP eksternal. Di bagian ini, Anda akan mengaktifkan Identity-Aware Proxy (IAP) untuk mengizinkan akses administratif ke instance VM yang tidak memiliki alamat IP eksternal.
Untuk mengizinkan IAP terhubung ke instance VM Anda, buat aturan firewall yang:
- berlaku untuk semua instance VM yang ingin Anda buat dapat diakses oleh menggunakan IAP.
- mengizinkan traffic masuk dari rentang IP
35.235.240.0/20. Rentang ini berisi semua alamat IP yang digunakan IAP untuk penerusan TCP.Untuk VM IPv6, gunakan rentang IP berikut:
2600:2d00:1:7::/64. - mengizinkan koneksi ke semua port yang ingin Anda akses menggunakan penerusan TCP IAP, misalnya, port
22untuk SSH dan port3389untuk RDP.
Konsol
Untuk mengizinkan akses RDP dan SSH ke semua instance VM di jaringan vpc-fw-rules, lakukan hal berikut:
Di konsol Google Cloud , buka halaman Firewall policies.
Di bagian Network firewall policies, klik
fw-policy.Klik Buat aturan.
Untuk Priority, masukkan
500.Untuk Direction of traffic, pilih Ingress.
Untuk Logs, pilih On.
Di bagian Target, untuk Jenis target, pilih Semua instance di jaringan.
Di bagian Sumber, untuk Rentang IP, masukkan
35.235.240.0/20.Di bagian Protocols and ports, pilih Specified protocols and ports.
Pilih kotak centang TCP, lalu untuk Ports, masukkan
22dan3389yang dipisahkan dengan koma.Klik Create.
gcloud
Untuk mengizinkan akses RDP dan SSH ke semua instance VM di jaringan vpc-fw-rules, jalankan perintah berikut:
gcloud compute network-firewall-policies rules create 500 \
--firewall-policy=fw-policy \
--direction=INGRESS \
--action=ALLOW \
--src-ip-ranges=35.235.240.0/20 \
--global-firewall-policy \
--layer4-configs tcp:22,tcp:3389 \
--enable-logging
Menginstal server Apache
Di bagian ini, Anda akan menginstal server Apache di VM server.
Di konsol Google Cloud , buka halaman VM instances.
Di kolom Connect VM
vm-fw-rules-server, klik SSH.Dalam dialog SSH di browser, klik Authorize dan tunggu hingga koneksi dibuat.
Untuk menginstal paket
apache2, di command prompt, jalankan perintah berikut:sudo apt update && sudo apt -y install apache2
Setelah menginstal Apache, sistem operasi akan otomatis memulai server Apache.
Untuk memverifikasi bahwa Apache sedang berjalan, jalankan perintah berikut:
sudo systemctl status apache2 --no-pager
Untuk menimpa halaman web default server web Apache, jalankan perintah berikut:
echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.htmlTutup dialog SSH-in-browser.
Menguji koneksi
Setelah menginstal server Apache di VM server, hubungkan ke VM server dari VM klien menggunakan alamat IP internal VM server.
Di konsol Google Cloud , buka halaman VM instances.
Dari kolom Internal IP VM
vm-fw-rules-server, salin alamat IP internal VM.Di kolom Connect VM
vm-fw-rules-client, klik SSH.Dalam dialog SSH di browser, klik Authorize dan tunggu hingga koneksi dibuat.
Untuk memverifikasi koneksi, jalankan perintah berikut:
curl INTERNAL_IP -m 2
Ganti
INTERNAL_IPdengan alamat IP VMvm-fw-rules-server.Pesan
Connection timed outdiharapkan karena setiap VM membuat aturan firewall ingress implisit yang menolak semua traffic. Untuk mengizinkan traffic, Anda menambahkan aturan masuk ke kebijakan firewall.Tutup dialog SSH-in-browser.
Perbarui kebijakan firewall jaringan global untuk mengizinkan traffic internal
Di bagian ini, Anda akan memperbarui kebijakan firewall jaringan global untuk mengizinkan traffic internal dari subnet VM klien.
Konsol
Di konsol Google Cloud , buka halaman Firewall policies.
Di bagian Network firewall policies, klik
fw-policy.Klik Buat aturan.
Untuk Priority, masukkan
501.Untuk Direction of traffic, pilih Ingress.
Untuk Logs, pilih On.
Di bagian Target, untuk Jenis target, pilih Semua instance di jaringan.
Di bagian Sumber, untuk Rentang IP, masukkan
192.168.10.0/24.Ingat, rentang IP
192.168.10.0/24ditetapkan ke subnet-fw-rules-client.Di bagian Destination, untuk IP type, pilih IPv4. Di Rentang IP, tentukan
10.0.0.0/24.Ingat, rentang IP
10.0.0.0/24ditetapkan ke subnet-fw-rules-server.Klik Create.
gcloud
Untuk mengupdate kebijakan firewall, jalankan perintah berikut:
gcloud compute network-firewall-policies rules create 501 \
--firewall-policy=fw-policy \
--direction=INGRESS \
--action=ALLOW \
--src-ip-ranges=192.168.10.0/24 \
--dest-ip-ranges=10.0.0.0/24 \
--layer4-configs=all \
--global-firewall-policy \
--enable-logging
Menguji koneksi
Setelah membuat kebijakan firewall, hubungkan ke VM server dari VM klien menggunakan alamat IP internal VM server.
Di konsol Google Cloud , buka halaman VM instances.
Dari kolom Internal IP VM
vm-fw-rules-server, salin alamat IP internal VM.Di kolom Connect VM
vm-fw-rules-client, klik SSH.Dalam dialog SSH di browser, klik Authorize dan tunggu hingga koneksi dibuat.
Untuk memverifikasi koneksi, jalankan perintah berikut:
curl INTERNAL_IP -m 2
Ganti
INTERNAL_IPdengan alamat IP VMvm-fw-rules-server.Pesan yang diharapkan adalah
<!doctype html><html><body><h1>Hello World!</h1></body></html>.Tutup dialog SSH-in-browser.
Untuk melihat log firewall, lihat Melihat log.
Pembersihan
Agar tidak perlu membayar biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.
Di bagian ini, Anda akan menghapus resource yang dibuat dalam tutorial ini.
Hapus kebijakan firewall
Konsol
Di konsol Google Cloud , buka halaman Firewall policies.
Di bagian Network firewall policies, klik nama
fw-policy.Klik tab Pengaitan.
Centang kotak
vpc-fw-rules, lalu klik Hapus atribusi.Pada dialog Hapus pengaitan kebijakan firewall, klik Hapus.
Di samping judul
fw-policy, klik Hapus.Pada dialog Hapus kebijakan firewall, klik Hapus.
Setelah kebijakan dihapus, konsol Google Cloud akan menampilkan halaman Firewall policies.
gcloud
Hapus pengaitan antara kebijakan firewall dan jaringan VPC.
gcloud compute network-firewall-policies associations delete \ --name=pol-association-fw-rules \ --firewall-policy=fw-policy \ --global-firewall-policy
Jika Anda menyiapkan asosiasi antara kebijakan firewall dan jaringan VPC melalui konsol Google Cloud , jangan gunakan perintah gcloud CLI untuk menghapus asosiasi. Jika Anda tidak dapat mengingat cara membuat objek atribusi atau mendapatkan error
The network firewall policy does not have an association with pol-association-fw-rules.saat menjalankan perintah, gunakan konsol Google Cloud untuk menghapus objek atribusi.Hapus kebijakan firewall.
gcloud compute network-firewall-policies delete fw-policy \ --global
Menghapus VM
Konsol
Di konsol Google Cloud , buka halaman VM instances.
Centang kotak VM
vm-fw-rules-clientdanvm-fw-rules-server.Klik Hapus.
Pada dialog Hapus 2 instance?, klik Hapus.
gcloud
Untuk menghapus VM vm-fw-rules-client dan vm-fw-rules-server, jalankan perintah berikut:
gcloud compute instances delete vm-fw-rules-client vm-fw-rules-server \
--zone=us-central1-a
Saat diminta, tekan Y untuk mengonfirmasi, lalu tekan Enter.
Menghapus gateway Cloud NAT dan Cloud Router
Konsol
Di konsol Google Cloud , buka halaman Cloud routers.
Centang kotak
router-fw-rules.Klik Hapus.
Pada dialog Delete router-fw-rules, klik Delete.
Saat Anda menghapus Cloud Router, gateway Cloud NAT yang terkait juga akan dihapus.
gcloud
Untuk menghapus Cloud Router router-fw-rules, jalankan perintah berikut:
gcloud compute routers delete router-fw-rules \
--region=us-central1
Saat diminta, tekan Y untuk mengonfirmasi, lalu tekan Enter.
Saat Anda menghapus Cloud Router, gateway Cloud NAT yang terkait juga akan dihapus.
Menghapus jaringan VPC dan subnetnya
Konsol
Di konsol Google Cloud , buka halaman VPC networks.
Di kolom Nama, klik
vpc-fw-rules.Klik Delete VPC network.
Pada dialog Hapus jaringan, klik Hapus.
Saat Anda menghapus VPC, subnetnya juga akan dihapus.
gcloud
Untuk menghapus subnet jaringan VPC
vpc-fw-rules, jalankan perintah berikut:gcloud compute networks subnets delete subnet-fw-rules-client subnet-fw-rules-server \ --region=us-central1Saat diminta, tekan Y untuk mengonfirmasi, lalu tekan Enter.
Untuk menghapus jaringan VPC
vpc-fw-rules, jalankan perintah berikut:gcloud compute networks delete vpc-fw-rules
Saat diminta, tekan Y untuk mengonfirmasi, lalu tekan Enter.