Kontrol lalu lintas jaringan di tingkat vSwitch menggunakan daftar kontrol akses jaringan (ACL). ACL jaringan menyediakan penyaringan tanpa status untuk lalu lintas masuk dan keluar.
Cara kerja
Cakupan penerapan
ACL jaringan hanya berlaku untuk elastic network interfaces (ENIs) di vSwitch terkait.
ACL jaringan mengontrol lalu lintas untuk sumber daya cloud yang bergantung pada ENI untuk komunikasi jaringan. Sumber daya yang didukung dan tidak didukung oleh ACL jaringan adalah sebagai berikut:
Didukung: Instance Elastic Compute Service (ECS), Elastic Container Instance (ECI), dan instance Network Load Balancer (NLB), dll.
Tidak didukung: Instance ApsaraDB RDS (gunakan daftar putih sebagai gantinya), instance CLB (gunakan kebijakan kontrol akses sebagai gantinya), dan ENI sekunder yang terikat ke EIP dalam mode transparan EIP.
Saat mengakses layanan Alibaba Cloud melalui PrivateLink, lalu lintas melewati ENI titik akhir dan dikontrol oleh aturan ACL jaringan.
Mekanisme aturan
Pencocokan Berbasis Prioritas: Aturan dievaluasi dalam urutan prioritas menaik, dimulai dari prioritas 1.
Lalu lintas dicocokkan berdasarkan versi IP, protokol, alamat IP sumber/tujuan, dan range port. Begitu lalu lintas cocok dengan suatu aturan, kebijakan izinkan/tolak yang ditentukan akan dieksekusi.
Untuk aturan inbound maupun outbound, range port selalu mencocokkan port tujuan lalu lintas tersebut.
Jika suatu aturan menolak lalu lintas, paket akan dibuang diam-diam tanpa mengirim respons ke klien, sehingga menyebabkan timeout atau kegagalan koneksi.
Perilaku Tanpa Status: Berbeda dengan security group, ACL jaringan bersifat tanpa status.
Mengizinkan lalu lintas masuk tidak secara otomatis mengizinkan lalu lintas balasan; Anda harus membuat aturan outbound untuk mengizinkan respons tersebut.
Saat klien terhubung ke server, klien menggunakan port ephemeral acak untuk menerima respons. Untuk memastikan kompatibilitas luas dengan berbagai jenis klien, kami merekomendasikan menetapkan range port ephemeral menjadi 1024/65535 dalam aturan outbound Anda.
Contoh
Pertimbangkan konfigurasi dengan rentang alamat yang tumpang tindih. Jika klien di 192.168.0.1 mencoba mengakses HTTPS, lalu lintas tersebut mungkin cocok dengan aturan Deny Prioritas 1 terlebih dahulu dan diblokir. Sebaliknya, klien di 192.168.1.1 mungkin melewati aturan tersebut dan cocok dengan aturan Allow Prioritas 2. Lalu lintas balasan kemudian diizinkan sesuai aturan outbound dengan prioritas 1.
Praktik Terbaik: Jika suatu layanan memerlukan rentang port terbuka yang luas tetapi port tertentu harus diblokir, pastikan aturan Deny diberi prioritas lebih tinggi (angka lebih kecil) daripada aturan Allow yang luas.
Perbedaan dari security group
Item | Network ACL | Security Group |
Cakupan penerapan | Mengontrol lalu lintas vSwitch. | Mengontrol akses instance ECS. Jika suatu instans dikaitkan dengan beberapa security group, semua aturan diproses sebelum memutuskan apakah lalu lintas boleh lewat. |
Bersifat stateful | Tanpa status. Lalu lintas balasan harus diizinkan secara eksplisit. | Bersifat stateful. Lalu lintas balasan secara otomatis diizinkan. |
Evaluasi aturan | Prioritas ketat: Aturan dievaluasi dalam urutan prioritas menaik. Aturan pertama yang cocok menentukan aksi. | Prioritas & kebijakan: Aturan pertama kali diurutkan berdasarkan prioritas. Jika prioritas identik, aturan Deny didahulukan daripada aturan Allow. |
Asosiasi | Satu vSwitch hanya dapat dikaitkan dengan satu ACL jaringan dalam satu waktu. | Satu instance ECS dapat ditambahkan ke beberapa security group. |
Buat/hapus ACL jaringan
Buat ACL jaringan dan kaitkan dengan vSwitch untuk menyaring lalu lintas masuk dan keluar.
Aturan Default
Saat Anda membuat ACL jaringan, sistem secara otomatis menambahkan aturan default untuk arah inbound dan outbound.
Untuk VPC dengan hanya blok CIDR IPv4:
Aturan layanan cloud (prioritas tertinggi): Aturan ini tidak dapat dimodifikasi atau dihapus. Aturan ini memastikan akses ke:
Server DNS Alibaba Cloud: IP 100.100.2.136 dan 100.100.2.138 untuk resolusi nama domain internal.
Metadata ECS: IP 100.100.100.200 untuk mengambil metadata instans.
Aturan kustom (Izinkan default): Mengizinkan semua lalu lintas IPv4 untuk mencegah ACL jaringan baru mengganggu komunikasi jaringan pribadi antar-vSwitch dalam VPC yang sama. Modifikasi atau tambahkan aturan kustom untuk membatasi lalu lintas sesuai kebutuhan.
Aturan sistem (prioritas terendah): Menolak semua lalu lintas IPv4 yang tidak cocok dengan aturan lain. Ini adalah aturan deny catch-all yang tidak dapat dimodifikasi atau dihapus.
Untuk VPC dengan IPv6 diaktifkan:
Aturan kustom tambahan yang mengizinkan semua lalu lintas IPv6.
Aturan sistem tambahan yang menolak semua lalu lintas IPv6.
Batasan Asosiasi
ACL jaringan hanya dapat dikaitkan dengan vSwitch dalam VPC yang sama.
Setiap vSwitch hanya dapat dikaitkan dengan satu ACL jaringan dalam satu waktu.
Konsol
Buat ACL jaringan
Buka halaman Konsol VPC - ACL Jaringan. Pilih wilayah di bilah navigasi atas dan klik Create Network ACL.
Pilih VPC target yang berisi vSwitch yang ingin Anda kaitkan dengan ACL jaringan.
Kaitkan vSwitch
Klik ID instans atau klik Manage di kolom Actions.
Di tab Associated Resources, klik Associate vSwitch. Pilih satu atau beberapa vSwitch dan klik OK.
Untuk menghapus pengaitan ini, klik Unbind di kolom Actions untuk vSwitch target.
Anda juga dapat mengaitkan, mengganti, atau membatalkan pengaitan ACL jaringan di bagian Network ACL pada halaman detail vSwitch.
Hapus ACL jaringan
Pastikan semua asosiasi vSwitch telah dihapus. Di kolom Actions ACL jaringan target, klik Delete.
API
Panggil CreateNetworkAcl untuk membuat ACL jaringan.
Panggil AssociateNetworkAcl untuk mengaitkan ACL jaringan dengan vSwitch.
Panggil UnassociateNetworkAcl untuk membatalkan pengaitan ACL jaringan dari vSwitch.
Panggil DeleteNetworkAcl untuk menghapus ACL jaringan.
Terraform
Berbeda dengan di Konsol, Terraform hanya memungkinkan Anda mengaitkan ACL jaringan dengan satu vSwitch saja.
Resource: alicloud_network_acl
# Tentukan wilayah ACL jaringan.
provider "alicloud" {
region = "ap-southeast-1"
}
# Tentukan ID VPC.
variable "vpc_id" {
default = "vpc-t41k******" # Ganti nilai dengan ID VPC yang sebenarnya.
}
# Tentukan ID vSwitch.
variable "vswitch_id" {
default = "vsw-t41y******" # Ganti nilai dengan ID vSwitch yang sebenarnya.
}
# Buat ACL jaringan dan kaitkan ACL jaringan tersebut dengan vSwitch.
resource "alicloud_network_acl" "example_network_acl" {
vpc_id = var.vpc_id # Tentukan VPC tempat ACL jaringan berada.
network_acl_name = "example_network_acl_name"
resources {
resource_id = var.vswitch_id # Tentukan vSwitch yang ingin Anda kaitkan dengan ACL jaringan.
resource_type = "VSwitch"
}
}Konfigurasikan aturan ACL jaringan
Setelah membuat ACL jaringan, aturan default diterapkan secara otomatis. Anda dapat menambahkan aturan kustom untuk menyaring lalu lintas secara tepat berdasarkan protokol, versi IP, alamat IP sumber/tujuan, dan range port. Perubahan pada aturan langsung diterapkan ke semua vSwitch terkait.
Konfigurasi Port
TCP(6) atau UDP(17): Sesuaikan range port antara 0 dan 65535. Tetapkan dalam format
Port Pertama/Port Terakhir. Anda tidak dapat menetapkannya menjadi -1/-1, yang berarti tanpa pembatasan port.Protokol lain: Range port tidak dapat ditetapkan dan secara default bernilai -1/-1.
Konfigurasi Kritis
Set Opsi DHCP: Jika Anda mengonfigurasi set opsi DHCP, Anda harus menambahkan aturan inbound dan outbound untuk mengizinkan server DNS yang ditentukan guna mencegah error resolusi.
Load Balancer: Saat menggunakan load balancer, Anda harus menambahkan aturan yang mengizinkan lalu lintas listener dan permintaan pemeriksaan kesehatan mencapai server backend.
Menggunakan Daftar Prefiks
Anda dapat menyederhanakan manajemen dengan mengelompokkan blok CIDR yang sering digunakan ke dalam daftar prefiks.
Pembaruan: Memodifikasi daftar prefiks secara otomatis memperbarui semua aturan ACL yang mereferensinya.
Kuota aturan: Kuota aturan dihitung berdasarkan jumlah maksimum entri daftar prefiks, bukan jumlah entri yang benar-benar digunakan. Untuk menghemat kuota, kurangi kapasitas maksimum atau hapus entri yang tidak digunakan.
Batasan: Daftar prefiks bersifat spesifik wilayah dan tidak dapat dibagikan lintas wilayah. Satu daftar tidak boleh berisi alamat IPv4 dan IPv6 sekaligus.
Konsol
Di tab Inbound Rules atau Outbound Rules untuk ACL jaringan target, Anda dapat mengikuti langkah-langkah berikut untuk mengonfigurasi aturan kustom.
Karena aturan ACL jaringan bersifat tanpa status, saat Anda menetapkan aturan inbound untuk mengizinkan lalu lintas tertentu masuk ke vSwitch, Anda harus menetapkan aturan outbound yang sesuai.
Tambahkan aturan
Konfigurasi manual: Di tab Inbound Rules atau Outbound Rules ACL jaringan target, klik Manage Inbound Rule atau Manage Outbound Rule.
Aturan tunggal: Klik Add IPv4 Rule atau Add IPv6 Rule untuk mengonfigurasi aturan satu per satu.
Menggunakan daftar prefiks: Setelah Anda mengelola blok CIDR alamat IP yang sering digunakan dalam daftar prefiks, klik Add IPv4 Rule atau Add IPv6 Rule, lalu tetapkan IP Version ke VPC Prefix List dan pilih daftar prefiks sebagai Source Address atau Destination Address.
Tambah cepat (Beberapa CIDR): Untuk menerapkan kebijakan yang sama ke beberapa blok CIDR sekaligus, pilih Quick Add Rule dan tetapkan Priority untuk menentukan posisi penyisipan aturan.
Impor batch: Untuk menambahkan aturan dengan kebijakan secara batch, gunakan templat yang disediakan untuk Import Rule.
Isi semua parameter yang tercantum dalam templat. Aturan dengan parameter yang hilang tidak dapat diimpor.
Daftar prefiks tidak dapat direferensikan dalam impor batch.
Aturan yang berhasil diimpor akan ditambahkan secara berurutan berdasarkan aturan yang ada dan tidak akan menimpa aturan yang sudah ada.
Ubah urutan aturan
Klik Manage Inbound Rule atau Manage Outbound Rule, lalu seret aturan ke atas dan bawah untuk menyesuaikan prioritasnya.
Hapus aturan
Klik Delete di kolom Actions aturan ACL jaringan target.
API
Panggil UpdateNetworkAclEntries untuk memperbarui aturan ACL jaringan. Berbeda dengan Konsol, API ini melakukan pembaruan penuh aturan ACL. Jika hanya aturan baru yang dikirimkan, aturan asli akan dihapus. Anda harus mengirimkan semua aturan yang perlu dipertahankan.
Panggil CopyNetworkAclEntries untuk menyalin aturan dari satu ACL jaringan ke ACL jaringan lain.
Untuk memastikan semua aturan dapat diidentifikasi dan diterima dengan benar, pastikan kedua VPC memiliki hanya blok CIDR IPv4 atau keduanya memiliki IPv6 diaktifkan. ACL jaringan di VPC tanpa IPv6 yang diaktifkan tidak dapat mengonfigurasi aturan IPv6.
Setelah menyalin aturan ke ACL jaringan di VPC dengan IPv6 diaktifkan, sistem tidak akan secara otomatis menambahkan aturan kustom untuk mengizinkan semua lalu lintas IPv6, yang dapat memengaruhi komunikasi IPv6.
Terraform
Contoh ini menambahkan aturan deny di arah inbound dan outbound. Ubah aturan sesuai kebijakan kontrol akses Anda.
Resource: alicloud_network_acl
# Tentukan wilayah ACL jaringan.
provider "alicloud" {
region = "ap-southeast-1"
}
# Tentukan ID VPC.
variable "vpc_id" {
default = "vpc-t41k******" # Ganti nilai dengan ID VPC yang sebenarnya.
}
# Tentukan ID vSwitch.
variable "vswitch_id" {
default = "vsw-t41y******" # Ganti nilai dengan ID vSwitch yang sebenarnya.
}
# Buat ACL jaringan dan kaitkan dengan vSwitch.
resource "alicloud_network_acl" "example_network_acl" {
vpc_id = var.vpc_id # Tentukan VPC tempat ACL jaringan berada.
network_acl_name = "example_network_acl_name"
resources {
resource_id = var.vswitch_id # Tentukan vSwitch yang ingin Anda kaitkan dengan ACL jaringan.
resource_type = "VSwitch"
}
ingress_acl_entries { # Tentukan aturan inbound.
network_acl_entry_name = "example-ingress"
protocol = "tcp" # Jenis protokol.
source_cidr_ip = "10.0.0.0/24" # Alamat sumber.
port = "20/80" # Range port.
policy = "drop" # Kebijakan.
}
egress_acl_entries { # Tentukan aturan outbound.
network_acl_entry_name = "example-egress"
protocol = "tcp"
destination_cidr_ip = "10.0.0.0/24" # Alamat tujuan.
port = "20/80" # Range port.
policy = "drop" # Kebijakan.
}
}Contoh
Batasi komunikasi antar instans ECS di vSwitch berbeda
Secara default, sumber daya di vSwitch berbeda dalam VPC yang sama dapat berkomunikasi melalui jaringan pribadi. Untuk membatasi komunikasi tersebut, gunakan ACL jaringan untuk menolak akses dari alamat IP tertentu.
Seperti ditunjukkan pada gambar, Anda dapat mengonfigurasi aturan inbound dan outbound untuk ACL jaringan yang dikaitkan dengan vSwitch 1 guna mencegah instans di vSwitch 1 berkomunikasi dengan ECS06.
Batasi akses hanya ke IP tertentu
Setelah Anda menghubungkan pusat data lokal ke VPC menggunakan Express Connect, semua sumber daya di pusat data dapat mengakses layanan cloud. Gunakan ACL jaringan untuk mengizinkan akses hanya dari alamat IP tertentu dan menolak semua akses lainnya.
Seperti ditunjukkan pada gambar, Anda dapat mengonfigurasi aturan inbound dan outbound untuk ACL jaringan yang dikaitkan dengan vSwitch guna mengizinkan hanya server lokal 1 dan server 2 untuk mengakses instans dalam vSwitch tersebut.
Pemecahan masalah
Jika Anda mengalami timeout koneksi, pemblokiran lalu lintas tak terduga, atau masalah konektivitas IPv6, ikuti daftar periksa ini:
Validasi Logika dan Prioritas Aturan
Periksa shadowing aturan: Pastikan aturan Deny berprioritas tinggi tidak menimpa aturan Allow karena aturan dievaluasi dalam urutan menaik mulai dari Prioritas 1.
Konfigurasikan lalu lintas balasan: Tambahkan aturan outbound yang mengizinkan lalu lintas ke port ephemeral klien (biasanya 1024–65535). Aturan Allow inbound tidak secara otomatis mengizinkan lalu lintas balasan.
Verifikasi Asosiasi dan Cakupan
Asosiasi vSwitch: Pastikan ACL Jaringan telah dikaitkan dengan benar ke vSwitch target.
Konfigurasi IPv6: Aturan IPv4 tidak berlaku untuk lalu lintas IPv6. Pastikan IPv6 diaktifkan untuk VPC, vSwitch memiliki CIDR IPv6 yang valid, dan aturan IPv6 spesifik telah dikonfigurasi.
Periksa Dependensi Eksternal
Konflik security group: Lalu lintas harus diizinkan oleh kedua ACL jaringan (tingkat vSwitch) dan security group (tingkat instans). Jika salah satu menolak lalu lintas, koneksi akan gagal.
Akurasi CIDR: Verifikasi blok CIDR sumber dan tujuan.
Informasi lebih lanjut
Penagihan
Fitur ACL jaringan tidak dikenai biaya.
Wilayah yang didukung
Area | Wilayah |
Asia Pasifik - Tiongkok | Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Nanjing - Local Region, Closing Down), Tiongkok (Qingdao), Tiongkok (Beijing), Tiongkok (Zhangjiakou), Tiongkok (Hohhot), Tiongkok (Ulanqab), Tiongkok (Shenzhen), Tiongkok (Heyuan), Tiongkok (Guangzhou), Tiongkok (Chengdu), Tiongkok (Hong Kong), Tiongkok (Wuhan - Local Region), dan Tiongkok (Fuzhou - Local Region, Closing Down) |
Asia Pasifik - Lainnya | Jepang (Tokyo), Korea Selatan (Seoul), Singapura, Malaysia (Kuala Lumpur), Indonesia (Jakarta), Filipina (Manila), dan Thailand (Bangkok) |
Eropa & Amerika | Jerman (Frankfurt), Inggris (London), AS (Silicon Valley), AS (Virginia), dan Meksiko |
Timur Tengah | UEA (Dubai) dan SAU (Riyadh - Partner Region) |
Kuota
Nama kuota | Deskripsi | Batas default | Tingkatkan kuota |
vpc_quota_nacl_ingress_entry | Jumlah aturan inbound yang dapat dibuat untuk ACL jaringan. Jika IPv6 diaktifkan untuk VPC tempat ACL jaringan berada, jumlah default aturan inbound IPv4 dan IPv6 yang dapat dibuat adalah 20. | 20 | Buka halaman Quota Management atau Quota Center untuk mengajukan peningkatan kuota. |
vpc_quota_nacl_egress_entry | Jumlah aturan outbound yang dapat dibuat untuk ACL jaringan. Jika IPv6 diaktifkan untuk VPC tempat ACL jaringan berada, jumlah default aturan inbound IPv4 dan IPv6 yang dapat dibuat adalah 20. | 20 | |
nacl_quota_vpc_create_count | Jumlah ACL jaringan yang dapat dibuat dalam satu VPC. | 20 |