NAT Publik
NAT Publik memungkinkan instance virtual machine (VM) Google Cloud Anda yang tidak memiliki alamat IP publik berkomunikasi dengan internet menggunakan sekumpulan alamat IP publik bersama. Cloud NAT menggunakan gateway NAT Publik yang mengalokasikan sekumpulan alamat IP eksternal dan port sumber ke setiap VM yang menggunakan gateway tersebut untuk membuat koneksi keluar ke internet.
Konfigurasi dan alur kerja Public NAT dasar
Diagram berikut menunjukkan konfigurasi NAT Publik dasar:
Dalam contoh ini:
Gateway
nat-gw-us-east
dikonfigurasi untuk diterapkan ke rentang alamat IP utamasubnet-1
di regionus-east1
. VM yang antarmuka jaringannya tidak memiliki alamat IP eksternal dapat mengirim traffic ke internet menggunakan alamat IP internal utamanya atau rentang IP alias dari rentang alamat IP utamasubnet-1
,10.240.0.0/16
.VM yang antarmuka jaringannya tidak memiliki alamat IP eksternal dan yang alamat IP internal utamanya berada di
subnet-2
tidak dapat mengakses internet karena tidak ada gateway NAT Publik yang berlaku untuk rentang alamat IP apa pun dari subnet tersebut.Gateway
nat-gw-eu
dikonfigurasi untuk diterapkan ke rentang alamat IP utamasubnet-3
di regioneurope-west1
. VM yang antarmuka jaringannya tidak memiliki alamat IP eksternal dapat mengirim traffic ke internet menggunakan alamat IP internal utamanya atau rentang IP alias dari rentang alamat IP utamasubnet-3
,192.168.1.0/24
.
Contoh alur kerja NAT Publik
Dalam diagram sebelumnya, VM dengan alamat IP internal utama 10.240.0.4
, tanpa
alamat IP eksternal, harus mendownload update dari alamat IP eksternal
203.0.113.1
. Dalam diagram, gateway nat-gw-us-east
dikonfigurasi sebagai berikut:
- Port minimum per instance:
64
- Dua alamat IP penafsiran alamat jaringan (NAT) yang ditetapkan secara manual:
192.0.2.50
dan192.0.2.60
- Memberikan NAT untuk rentang alamat IP utama
subnet-1
NAT Publik mengikuti prosedur reservasi port untuk mencadangkan alamat IP sumber NAT dan tuple port sumber berikut untuk setiap VM dalam jaringan. Misalnya, gateway NAT Publik mencadangkan 64 port sumber untuk VM dengan alamat IP internal 10.240.0.4
. Alamat IP NAT 192.0.2.50
memiliki 64 port yang tidak dicadangkan, sehingga gateway mencadangkan kumpulan 64 alamat IP sumber NAT dan tuple port sumber berikut untuk VM tersebut:
192.0.2.50
.34000
hingga192.0.2.50
:34063
Saat VM mengirimkan paket ke server update 203.0.113.1
pada port
tujuan 80
, menggunakan protokol TCP, hal berikut akan terjadi:
VM akan mengirimkan paket permintaan dengan atribut berikut:
- Alamat IP sumber:
10.240.0.4
, alamat IP internal utama VM - Port sumber:
24000
, port sumber sementara yang dipilih oleh sistem operasi VM - Alamat tujuan:
203.0.113.1
, alamat IP eksternal server update - Port tujuan:
80
, port tujuan untuk traffic HTTP ke server update - Protokol:
TCP
- Alamat IP sumber:
Gateway
nat-gw-us-east
melakukan penafsiran alamat jaringan sumber (SNAT) saat traffic keluar, sehingga menulis ulang alamat IP sumber dan port sumber NAT paket permintaan. Paket yang dimodifikasi akan dikirim ke internet jika jaringan Virtual Private Cloud (VPC) memiliki rute untuk tujuan203.0.113.1
yang next hop-nya adalah gateway internet default. Rute default biasanya memenuhi persyaratan ini.- Alamat IP sumber NAT:
192.0.2.50
, dari salah satu alamat IP sumber NAT dan tupel port sumber yang dicadangkan VM - Port sumber:
34022
, port sumber yang tidak digunakan dari salah satu tuple port sumber yang dicadangkan VM - Alamat tujuan:
203.0.113.1
, tidak berubah - Port tujuan:
80
, tidak berubah - Protokol:
TCP
, tidak berubah
- Alamat IP sumber NAT:
Saat server update mengirimkan paket respons, paket tersebut akan tiba di gateway
nat-gw-us-east
dengan atribut berikut:- Alamat IP sumber:
203.0.113.1
, alamat IP eksternal server update - Port sumber:
80
, respons HTTP dari server update - Alamat tujuan:
192.0.2.50
, cocok dengan alamat IP sumber NAT asli dari paket permintaan - Port tujuan:
34022
, cocok dengan port sumber paket permintaan - Protokol:
TCP
, tidak berubah
- Alamat IP sumber:
Gateway
nat-gw-us-east
melakukan penafsiran alamat jaringan tujuan (DNAT) pada paket respons, yang menulis ulang alamat tujuan dan port tujuan paket respons sehingga paket dikirimkan ke VM:- Alamat IP sumber:
203.0.113.1
, tidak berubah - Port sumber:
80
, tidak berubah - Alamat tujuan:
10.240.0.4
, alamat IP internal utama VM - Port tujuan:
24000
, cocok dengan port sumber efemeral asli paket permintaan - Protokol:
TCP
, tidak berubah
- Alamat IP sumber:
Spesifikasi
Spesifikasi umum
Anda dapat mengonfigurasi gateway NAT Publik guna menyediakan NAT ke internet untuk paket yang dikirim dari:
Alamat IP internal utama antarmuka jaringan VM Compute Engine, asalkan antarmuka jaringan tersebut tidak memiliki alamat IP eksternal yang ditetapkan padanya. Jika antarmuka jaringan memiliki alamat IP eksternal yang telah ditetapkan, Google Cloud akan otomatis melakukan NAT one-to-one untuk paket yang sumbernya cocok dengan alamat IP internal utama antarmuka karena antarmuka jaringan memenuhi persyaratan akses internet Google Cloud. Keberadaan alamat IP eksternal pada antarmuka selalu diutamakan dan selalu melakukan NAT one-to-one, tanpa menggunakan Public NAT.
Rentang IP alias yang ditetapkan ke antarmuka jaringan VM. Meskipun antarmuka jaringan memiliki alamat IP eksternal yang ditetapkan untuknya, Anda dapat mengonfigurasi gateway NAT Publik guna menyediakan NAT untuk paket yang sumbernya berasal dari rentang IP alias antarmuka. Alamat IP eksternal pada antarmuka tidak pernah menjalankan NAT one-to-one untuk alamat IP alias.
Untuk cluster Google Kubernetes Engine (GKE), NAT Publik dapat menyediakan layanan meskipun cluster memiliki alamat IP eksternal dalam keadaan tertentu. Untuk detailnya, lihat interaksi GKE.
NAT publik memungkinkan koneksi keluar dan respons masuk ke koneksi tersebut. Setiap {i>gateway NAT<i} Publik melakukan NAT sumber saat keluar, dan NAT tujuan untuk paket respons yang telah ditetapkan.
NAT publik tidak mengizinkan permintaan masuk yang tidak diminta dari internet, meskipun aturan firewall seharusnya mengizinkan permintaan tersebut. Untuk informasi selengkapnya, lihat RFC yang Berlaku.
Setiap gateway NAT Publik dikaitkan dengan satu jaringan VPC, region, dan Cloud Router. Gateway NAT Publik dan Cloud Router menyediakan bidang kontrol. Keduanya tidak terlibat dalam bidang data, sehingga paket tidak melewati gateway NAT Publik atau Cloud Router.
Rute dan aturan firewall
NAT Publik mengandalkan rute statis kustom yang hop berikutnya merupakan gateway internet default. Untuk sepenuhnya menggunakan gateway NAT Publik, jaringan Virtual Private Cloud Anda memerlukan rute default yang next hop-nya adalah gateway internet default. Untuk informasi selengkapnya, lihat interaksi rute.
NAT publik tidak memiliki persyaratan aturan Cloud NGFW. Aturan firewall diterapkan langsung ke antarmuka jaringan VM Compute Engine, bukan gateway NAT Publik.
Anda tidak perlu membuat aturan firewall khusus yang mengizinkan koneksi ke atau dari alamat IP NAT. Jika gateway NAT Publik menyediakan NAT untuk antarmuka jaringan VM, aturan firewall keluar yang berlaku akan dievaluasi sebagai paket untuk antarmuka jaringan tersebut sebelum NAT. Aturan firewall masuk dievaluasi setelah paket diproses oleh NAT.
Penerapan rentang alamat IP subnet
Anda dapat mengonfigurasi gateway NAT Publik guna menyediakan NAT untuk alamat IP internal utama, rentang IP alias, atau keduanya dari antarmuka jaringan VM. Anda membuat konfigurasi ini dengan memilih rentang alamat IP subnet tempat gateway harus diterapkan.
Anda dapat mengonfigurasi gateway NAT Publik guna menyediakan NAT untuk hal berikut:
-
Rentang alamat IP utama dan sekunder dari semua subnet di region. Satu gateway NAT Publik menyediakan NAT untuk alamat IP internal utama dan semua rentang IP alias dari VM yang memenuhi syarat yang antarmuka jaringannya menggunakan subnet di region tersebut. Opsi ini menggunakan tepat satu gateway NAT per region.
-
Rentang alamat IP utama dari semua subnet di region. Satu gateway NAT Publik menyediakan NAT untuk alamat IP internal utama dan rentang IP alias dari rentang alamat IP primer subnet VM yang memenuhi syarat yang antarmuka jaringannya menggunakan subnet di region tersebut. Anda dapat membuat gateway NAT Publik tambahan di region tersebut guna menyediakan NAT untuk rentang IP alias dari rentang alamat IP sekunder subnet VM yang memenuhi syarat.
-
Daftar subnet kustom. Satu gateway NAT Publik menyediakan NAT untuk alamat IP internal utama dan semua rentang IP alias dari VM yang memenuhi syarat yang antarmuka jaringannya menggunakan subnet dari daftar subnet yang ditentukan.
-
Rentang alamat IP subnet kustom. Anda dapat membuat gateway NAT Publik sebanyak yang diperlukan, sesuai dengan kuota dan batas NAT Publik. Anda memilih rentang alamat IP primer atau sekunder subnet yang akan dilayani oleh setiap gateway.
Beberapa gateway NAT Publik
Anda dapat memiliki beberapa gateway NAT Publik di region yang sama pada jaringan VPC jika salah satu kondisi berikut terpenuhi:
Setiap gateway dikonfigurasi untuk subnet yang berbeda.
Dalam satu subnet, setiap gateway dikonfigurasi untuk rentang alamat IP yang berbeda. Anda dapat memetakan gateway NAT Publik ke subnet atau rentang alamat IP tertentu menggunakan pemetaan Cloud NAT kustom.
Selama gateway NAT yang dipetakan tidak tumpang-tindih, Anda dapat membuat gateway NAT Publik sebanyak yang diperlukan, sesuai dengan kuota dan batas NAT Publik. Untuk mengetahui informasi selengkapnya, lihat Batasan gateway Cloud NAT.
Bandwidth
Menggunakan gateway NAT Publik tidak mengubah jumlah bandwidth keluar atau masuk yang dapat digunakan VM. Untuk spesifikasi bandwidth yang bervariasi menurut jenis mesin, lihat Bandwidth jaringan dalam dokumentasi Compute Engine.
VM dengan beberapa antarmuka jaringan
Jika Anda mengonfigurasi VM agar memiliki beberapa antarmuka jaringan, setiap antarmuka harus berada dalam jaringan VPC yang terpisah. Oleh karena itu, hal berikut berlaku:
- Gateway NAT Publik hanya dapat diterapkan ke satu antarmuka jaringan VM. Gateway NAT Publik terpisah dapat menyediakan NAT ke VM yang sama, di mana setiap gateway berlaku untuk antarmuka terpisah.
- Satu antarmuka VM dengan beberapa antarmuka jaringan dapat memiliki alamat IP eksternal, sehingga antarmuka tersebut tidak memenuhi syarat untuk NAT Publik. Sementara itu, antarmuka lainnya dapat memenuhi syarat untuk NAT jika antarmuka tersebut tidak memiliki alamat IP eksternal dan Anda telah mengonfigurasi gateway NAT Publik untuk diterapkan ke rentang alamat IP subnet yang sesuai.
Alamat dan port IP NAT
Saat membuat gateway NAT Publik, Anda dapat memilih agar gateway tersebut otomatis mengalokasikan alamat IP eksternal regional. Atau, Anda dapat menetapkan jumlah tetap alamat IP eksternal regional ke gateway secara manual.
Untuk gateway NAT Publik dengan alokasi alamat IP NAT otomatis, pertimbangkan hal-hal berikut:
- Anda dapat memilih Tingkat Layanan Jaringan (Paket Premium atau Paket Standar) tempat gateway NAT Publik mengalokasikan alamat IP.
Saat Anda mengubah tingkat untuk gateway NAT Publik yang secara otomatis mengalokasikan alamat IP NAT, Google Cloud akan melepaskan semua alamat IP yang ditetapkan untuk gateway tersebut dan menghentikan semua alokasi port.
Kumpulan alamat IP baru dari tingkat yang baru dipilih akan otomatis dialokasikan, dan alokasi port baru akan disediakan ke semua endpoint.
Untuk gateway NAT Publik tertentu, Anda juga dapat menetapkan alamat IP secara manual dari Paket Premium atau Paket Standar atau keduanya, dengan tunduk pada conditions tertentu.
Untuk mengetahui detail tentang penetapan alamat IP NAT, lihat Alamat IP NAT Publik.
Anda dapat mengonfigurasi jumlah port sumber yang dicadangkan oleh setiap gateway NAT Publik pada setiap VM yang menjadi tujuan penyediaan layanan NAT. Anda dapat mengonfigurasi alokasi port statis, dengan jumlah port yang sama dicadangkan untuk setiap VM, atau alokasi port dinamis, dengan jumlah port yang dicadangkan dapat bervariasi antara batas minimum dan maksimum yang Anda tentukan.
VM yang akan menyediakan NAT ditentukan oleh rentang alamat IP subnet yang dikonfigurasi untuk dilayani oleh gateway.
Untuk mengetahui informasi selengkapnya tentang port, lihat Port.
RFC yang Berlaku
NAT Publik mendukung Endpoint-Independent Mapping dan Endpoint-Dependent Filtering seperti yang dijelaskan dalam RFC 5128. Anda dapat mengaktifkan atau menonaktifkan Pemetaan Independen Endpoint. Secara default, Pemetaan Independen Endpoint dinonaktifkan saat Anda membuat gateway NAT.
Pemetaan Independen Endpoint berarti jika VM mengirim paket dari alamat IP internal dan pasangan port tertentu ke beberapa tujuan yang berbeda, gateway akan memetakan semua paket tersebut ke alamat IP dan pasangan port NAT yang sama, terlepas dari tujuan paket tersebut. Untuk mengetahui detail dan implikasi terkait Pemetaan Independen Endpoint, lihat Penggunaan ulang port secara bersamaan dan Pemetaan Independen Endpoint.
Pemfilteran Endpoint-Dependent berarti paket respons dari internet diizinkan untuk masuk hanya jika paket tersebut berasal dari alamat IP dan port yang telah dikirimi paket oleh VM. Pemfilteran bergantung pada endpoint, terlepas dari jenis Pemetaan Endpoint. Fitur ini selalu aktif dan tidak dapat dikonfigurasi oleh pengguna.
Untuk mengetahui informasi selengkapnya tentang hubungan antara port dan koneksi, lihat Port dan koneksi dan contoh alur NAT.
NAT Publik adalah Port Restricted Cone NAT seperti yang dijelaskan dalam RFC 3489.
Traversal NAT
Jika Pemetaan Independen Endpoint diaktifkan, NAT Publik kompatibel dengan protokol traversal NAT umum, seperti STUN dan TURN jika Anda men-deploy server STUN atau TURN Anda sendiri:
- STUN (Session Traversal Utilitas untuk NAT, RFC 5389) memungkinkan komunikasi langsung antara VM di belakang NAT saat saluran komunikasi dibuat.
- TURN (Traversal Using Relays sekitar NAT, RFC 5766) mengizinkan komunikasi antara VM di belakang NAT melalui server ketiga dengan server tersebut yang memiliki alamat IP eksternal. Setiap VM terhubung ke alamat IP eksternal server, dan server tersebut merelai komunikasi antara kedua VM. TURN lebih tangguh, tetapi memakai lebih banyak bandwidth dan resource.
Waktu tunggu NAT
NAT publik menyetel waktu tunggu untuk koneksi protokol. Untuk mengetahui informasi tentang waktu tunggu ini dan nilai defaultnya, lihat Waktu tunggu NAT.
Langkah selanjutnya
- Pelajari interaksi produk Cloud NAT.
- Pelajari alamat dan port Cloud NAT.
- Siapkan Cloud NAT.
- Pelajari aturan Cloud NAT.
- Buat contoh penyiapan Compute Engine.
- Buat contoh penyiapan Google Kubernetes Engine.
- Memecahkan masalah umum.