Aturan Cloud NAT

Halaman ini memberikan ringkasan aturan Cloud NAT untuk NAT Publik. Aturan ini memungkinkan Anda menentukan cara Cloud NAT digunakan untuk terhubung ke internet.

Aturan Cloud NAT untuk NAT Publik mendukung penafsiran alamat jaringan sumber (SNAT) berdasarkan alamat sumber atau tujuan.

Aturan NAT

Secara default, saat Anda mengonfigurasi gateway Cloud NAT untuk NAT Publik, paket yang diterjemahkan oleh gateway NAT tersebut menggunakan set alamat IP NAT yang sama untuk menjangkau semua alamat internet. Jika memerlukan kontrol lebih besar atas paket yang diterjemahkan oleh Cloud NAT, Anda dapat menambahkan aturan NAT.

Aturan NAT menentukan kondisi kecocokan dan tindakan yang sesuai. Setelah Anda menentukan aturan NAT, setiap paket akan dicocokkan dengan setiap aturan NAT. Jika paket cocok dengan kondisi yang ditetapkan dalam aturan, maka tindakan yang sesuai dengan kecocokan tersebut akan terjadi.

Aturan NAT untuk NAT Publik mendukung pencocokan alamat sumber dan tujuan:

  • Dalam aturan berbasis sumber, paket dicocokkan berdasarkan alamat IP sumbernya. Hanya alamat sumber IPv4 yang didukung.
  • Dalam aturan berbasis tujuan, paket dicocokkan berdasarkan alamat IP tujuannya. Hanya alamat tujuan IPv4 yang didukung.

Menggabungkan kondisi berbasis sumber dan tujuan dalam satu aturan NAT tidak diizinkan. Untuk mengetahui informasi selengkapnya, lihat spesifikasi aturan NAT.

Contoh konfigurasi aturan Cloud NAT

Bagian ini memberikan contoh konfigurasi untuk aturan NAT berbasis sumber dan tujuan.

Aturan berbasis sumber

Contoh berikut menunjukkan cara menggunakan aturan NAT berbasis sumber.

Secara default, saat gateway Cloud NAT dikonfigurasi untuk traffic IPv4 di subnet, gateway menyediakan NAT untuk alamat IP internal utama dan rentang IP alias dari instance VM apa pun di subnet tersebut. Dengan menggunakan aturan NAT berbasis sumber, Anda juga dapat mengonfigurasi NAT untuk instance VM dengan penerusan IP yang diaktifkan.

Dalam contoh ini, Cloud NAT dikonfigurasi di Subnet A. Di subnet, instance VM dengan alamat IP internal utama 10.1.1.2 dan rentang IP alias 10.2.1.0/24 mengirim traffic ke internet. Pertimbangkan persyaratan berikut untuk instance VM:

  • Jika paket berasal dari rentang IP 192.168.1.0/24, VM harus menggunakan alamat IP NAT 203.0.113.10 untuk mengirim traffic ke tujuan internet mana pun.
  • Jika paket berasal dari rentang IP 192.168.2.0/24, VM harus menggunakan alamat IP NAT 203.0.113.20 untuk mengirim traffic ke tujuan internet mana pun.
  • Jika paket berasal dari alamat IP 10.1.1.2 atau rentang IP 10.2.1.0/24, VM harus menggunakan alamat IP NAT 203.0.113.30 untuk mengirim traffic ke tujuan internet mana pun.
Konfigurasi Cloud NAT dengan aturan berbasis sumber.
Konfigurasi Cloud NAT dengan dua aturan berbasis sumber (klik untuk memperbesar).

Untuk memenuhi persyaratan ini, Anda membuat dua aturan NAT berbasis sumber untuk paket yang diteruskan dan aturan default untuk paket dari alamat IP internal utama dan rentang IP alias instance VM:

  • Aturan berbasis sumber 1: jika alamat sumbernya adalah 192.168.1.0/24, gunakan 203.0.113.10 untuk mengirim traffic ke internet.
  • Aturan berbasis sumber 2: jika alamat sumbernya adalah 192.168.2.0/24, gunakan 203.0.113.20 untuk mengirim traffic ke internet.
  • Aturan default: untuk semua paket lainnya, gunakan 203.0.113.30 untuk mengirim traffic ke internet.

Jika alamat sumber paket yang diteruskan oleh instance VM tidak cocok dengan aturan 1 atau aturan 2, paket akan dihentikan.

Untuk contoh lain tentang cara menggunakan aturan NAT berbasis sumber, lihat Cloud WAN di balik layar: Melihat lebih dekat kapabilitas jaringan yang berbeda.

Aturan berbasis tujuan

Contoh berikut menunjukkan cara menggunakan aturan NAT saat tujuan Anda hanya mengizinkan akses dari beberapa alamat IP. Sebaiknya traffic ke tujuan tersebut dari VM Cloud de Confiance Anda di subnet pribadi diterjemahkan SNAT hanya dengan alamat IP yang diizinkan. Sebaiknya Anda tidak menggunakan alamat IP ini untuk tujuan lain.

Pertimbangkan persyaratan berikut untuk VM di Subnet-1 (10.10.10.0/24), yang berada di Region A dari jaringan VPC test:

  • VM harus menggunakan alamat IP NAT 203.0.113.20 untuk mengirim traffic ke tujuan 198.51.100.20/30.
  • VM harus menggunakan alamat IP NAT 203.0.113.30 untuk mengirim traffic ke tujuan 198.51.100.30 atau 198.51.100.31.
  • VM harus menggunakan alamat IP NAT 203.0.113.40 untuk mengirim traffic ke tujuan internet lainnya.

Jaringan VPC ini juga berisi dua subnet tambahan di region yang sama. VM ini harus menggunakan alamat IP NAT 203.0.113.10 untuk mengirim traffic ke tujuan mana pun.

Konfigurasi Cloud NAT dengan dua gateway Cloud NAT.
Konfigurasi Cloud NAT dengan dua gateway Cloud NAT (klik untuk memperbesar).

Anda dapat menggunakan aturan NAT untuk contoh ini, tetapi Anda memerlukan dua gateway NAT karena Subnet-1 (10.10.10.0/24) memiliki aturan NAT yang berbeda dari subnet lainnya. Untuk membuat konfigurasi ini, ikuti langkah-langkah berikut:

  1. Buat gateway bernama Cloud NAT Gateway 1 untuk Subnet-1 dengan alamat IP NAT 203.0.113.40 dan tambahkan aturan berikut:
    1. Aturan NAT 1 di Cloud NAT Gateway 1: saat tujuannya adalah 198.51.100.20/30, gunakan 203.0.113.20 untuk NAT.
    2. Aturan NAT 2 di Cloud NAT Gateway 1: saat tujuannya adalah 198.51.100.30 atau 198.51.100.31, gunakan 203.0.113.30 untuk NAT.
  2. Buat gateway bernama Cloud NAT Gateway 2 untuk subnet lain di region tersebut dan tetapkan alamat IP NAT sebagai 203.0.113.10. Tidak ada aturan NAT yang diperlukan dalam langkah ini.

Spesifikasi aturan NAT

  • Cloud NAT mendukung aturan berbasis sumber dan tujuan. Setiap aturan menentukan kondisi yang didasarkan pada alamat sumber atau tujuan, tetapi tidak keduanya.
  • Prioritas aturan secara unik mengidentifikasi aturan NAT, dari 0 (prioritas tertinggi) hingga 65.000 (prioritas terendah). Tidak ada dua aturan yang dapat memiliki prioritas yang sama.
  • Setiap konfigurasi NAT memiliki aturan default:
    • Aturan default diterapkan jika tidak ada aturan NAT lain yang cocok dalam konfigurasi NAT yang sama.
    • Prioritas aturan default adalah 65001.
    • Untuk aturan berbasis sumber dan tujuan, rentang IP CIDR aturan default adalah 0.0.0.0/0.
    • Aturan default tidak berlaku untuk paket yang diteruskan. Untuk menggunakan NAT bagi paket ini, konfigurasi NAT Anda harus menyertakan aturan berbasis sumber yang cocok. Untuk mengetahui informasi selengkapnya, lihat Aturan berbasis sumber.
  • Aturan Cloud NAT hanya didukung jika nilai opsi alokasi IP NAT adalah MANUAL_ONLY.
  • Semua alamat IP yang dikonfigurasi dalam aturan tertentu harus memiliki tingkat yang sama.

    Anda tidak dapat menggunakan campuran alamat IP Paket Premium dan Paket Standar dalam aturan yang sama (termasuk aturan default).

  • Rentang CIDR IP dalam kondisi pencocokan tidak boleh tumpang-tindih di seluruh aturan NAT. Paling banyak, satu aturan dapat diterapkan ke paket tertentu. Jika paket cocok dengan aturan berbasis sumber dan tujuan, Cloud NAT akan menerapkan aturan yang memiliki prioritas lebih tinggi.

    Anda tidak dapat membuat aturan NAT dengan 0.0.0.0/0 sebagai rentang sumber atau tujuan karena digunakan oleh aturan default.

  • Alamat IP NAT di seluruh aturan NAT tidak boleh tumpang-tindih.

  • Aturan harus memiliki alamat IP Active yang tidak kosong atau alamat IP Drain yang tidak kosong. Jika aturan memiliki alamat IP Active kosong, koneksi baru yang cocok dengan aturan NAT akan dihentikan.

  • Aturan NAT tidak dapat ditambahkan ke gateway NAT yang mengaktifkan pemetaan independen endpoint (EIM). Anda tidak dapat mengaktifkan EIM di gateway NAT yang memiliki aturan NAT di dalamnya.

  • Gateway NAT menggunakan nilai konfigurasi port minimum per VM untuk mengalokasikan port sumber ke VM untuk setiap aturan NAT. Dengan 64.512 port yang tersedia per alamat IP NAT, nilai konfigurasi ini menentukan jumlah total VM yang dapat didukung oleh satu IP NAT. Jika VM kehabisan port yang dialokasikan untuk aturan tertentu, koneksi baru yang cocok dengan aturan tersebut akan dihentikan, meskipun aturan lain memiliki port yang tersedia.

    Misalnya, pertimbangkan subnet dengan 16 VM yang gateway NAT-nya dikonfigurasi dengan 4.096 port per VM. Gateway memiliki dua aturan NAT (rule-1 dengan satu alamat IP NAT dan rule-2 dengan dua alamat IP NAT) selain aturan NAT default dengan dua alamat IP NAT. Dalam contoh ini, kapasitas default dan rule-2 cukup untuk mengalokasikan jumlah port yang diperlukan untuk semua VM. Namun, rule-1 tidak dapat menyediakan alokasi penuh untuk semua 16 VM (16 × 4.096) karena alamat IP tunggalnya hanya mendukung 64.512 port. Akibatnya, traffic yang cocok dengan rule-1 mungkin akan dihentikan untuk VM yang tidak menerima alokasi port penuh.

  • Untuk meminimalkan alokasi port yang tidak digunakan saat menggunakan aturan berbasis sumber, Cloud NAT mengalokasikan port ke endpoint VM hanya jika alamat IP internal atau alias utamanya cocok dengan alamat sumber yang ditentukan dalam aturan NAT. Misalnya, jika aturan menentukan 10.1.1.1, tetapi VM diberi 10.1.1.2, Cloud NAT tidak mengalokasikan port ke VM tersebut untuk aturan tertentu itu.

    Namun, jika VM yang memenuhi syarat mengaktifkan penerusan IP, port akan selalu dialokasikan karena VM dapat meneruskan paket untuk sumber lain.

Bahasa ekspresi aturan

Aturan NAT ditulis menggunakan sintaksis Common Expression Language.

Ekspresi memerlukan dua komponen:

  • Atribut yang dapat diperiksa dalam ekspresi aturan.
  • Operasi yang dapat dilakukan pada atribut sebagai bagian dari ekspresi.

Misalnya, ekspresi berikut menggunakan atribut destination.ip dan 198.51.100.0/24 dalam operasi inIpRange(). Dalam hal ini, ekspresi akan menampilkan true jika destination.ip berada dalam rentang alamat IP 198.51.100.0/24.

inIpRange(destination.ip, '198.51.100.0/24')

Aturan NAT hanya mendukung atribut dan operasi berikut:

Atribut

Atribut merepresentasikan informasi dari paket keluar, seperti alamat IP sumber dan tujuan.

Nama atribut Deskripsi
source.ip Alamat IP sumber paket
destination.ip Alamat IP tujuan paket

Operasi

Referensi berikut menjelaskan operator yang dapat Anda gunakan dengan atribut untuk menentukan ekspresi aturan.

Operasi Deskripsi
inIpRange(string, string) -> bool inIpRange(x, y) menampilkan true jika rentang CIDR IP y berisi alamat IP x.
|| Operator logika. x || y menampilkan true jika x atau y adalah true.
== Operator sama dengan. x == y menampilkan true jika x sama dengan y.

Contoh ekspresi

Anda dapat mencocokkan paket berdasarkan alamat sumber atau tujuan, tetapi tidak keduanya.

Contoh pencocokan berbasis sumber

Mencocokkan paket dengan alamat IP sumber 10.0.0.25:

"source.ip == '10.0.0.25'"

Mencocokkan paket dengan alamat IP sumber 10.0.0.25 atau 10.0.0.26:

"source.ip == '10.0.0.25' || source.ip == '10.0.0.26'"

Mencocokkan paket dengan rentang alamat IP sumber 10.0.2.0/24:

"inIpRange(source.ip, '10.0.2.0/24')"

Mencocokkan paket dengan alamat IP sumber 10.0.0.25 atau rentang alamat IP sumber 10.0.2.0/24:

"source.ip == '10.0.0.25' || inIpRange(source.ip, '10.0.2.0/24')"

Contoh pencocokan berbasis tujuan

Mencocokkan paket dengan alamat IP tujuan 198.51.100.20:

"destination.ip == '198.51.100.20'"

Mencocokkan paket dengan alamat IP tujuan 198.51.100.20 atau 198.51.100.21:

"destination.ip == '198.51.100.20' || destination.ip == '198.51.100.21'"

Mencocokkan paket dengan rentang alamat IP tujuan 198.51.100.10/30:

"inIpRange(destination.ip, '198.51.100.10/30')"

Mencocokkan paket dengan alamat IP tujuan 198.51.100.20 atau rentang alamat IP tujuan 198.51.100.10/30:

"destination.ip == '198.51.100.20' || inIpRange(destination.ip, '198.51.100.10/30')"

Langkah berikutnya