Public NAT
NAT publik memungkinkan instance virtual machine (VM) Google Cloud Anda yang tidak memiliki alamat IP publik berkomunikasi dengan internet menggunakan kumpulan alamat IP publik bersama. Cloud NAT menggunakan gateway NAT Publik yang mengalokasikan kumpulan alamat IP dan port sumber eksternal ke setiap VM yang menggunakan gateway untuk membuat koneksi keluar ke internet.
Alur kerja dan konfigurasi 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 alamat IP internal primernya berada di
subnet-2
tidak dapat mengakses internet karena tidak ada gateway NAT Publik yang berlaku untuk rentang alamat IP 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 Public NAT
Pada diagram sebelumnya, VM dengan alamat IP internal primer 10.240.0.4
, tanpa alamat IP eksternal, perlu 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
- Menetapkan dua alamat IP penafsiran alamat jaringan (NAT) secara manual:
192.0.2.50
dan192.0.2.60
- Menyediakan NAT untuk rentang alamat IP utama
subnet-1
NAT publik mengikuti prosedur reservasi port
untuk mencadangkan alamat IP sumber NAT berikut
dan tuple port sumber untuk setiap VM di 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 tuple alamat IP sumber dan port sumber NAT berikut untuk VM tersebut:
192.0.2.50
:34000
hingga192.0.2.50
:34063
Saat VM mengirim paket ke server update 203.0.113.1
di port tujuan
80
, menggunakan protokol TCP, hal berikut akan terjadi:
VM mengirimkan paket permintaan dengan atribut berikut:
- Alamat IP sumber:
10.240.0.4
, alamat IP internal utama VM - Port sumber:
24000
, port sumber ephemeral 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) pada traffic keluar, dengan menulis ulang alamat IP sumber NAT dan port sumber paket permintaan. Paket yang diubah 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 VM yang dicadangkan dan tuple port sumber - Port sumber:
34022
, port sumber yang tidak digunakan dari salah satu tuple port sumber VM yang direservasi - Alamat tujuan:
203.0.113.1
, tidak berubah - Port tujuan:
80
, tidak berubah - Protokol:
TCP
, tidak berubah
- Alamat IP sumber NAT:
Saat server update mengirim 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
, yang cocok dengan alamat IP sumber NAT asli dari paket permintaan - Port tujuan:
34022
, yang cocok dengan port sumber paket permintaan - Protokol:
TCP
, tidak berubah
- Alamat IP sumber:
Gateway
nat-gw-us-east
menjalankan terjemahan alamat jaringan tujuan (DNAT) pada paket respons, menulis ulang alamat tujuan dan port tujuan paket respons sehingga paket dikirim 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
, yang cocok dengan port sumber sementara asli paket permintaan - Protokol:
TCP
, tidak berubah
- Alamat IP sumber:
Spesifikasi
Spesifikasi umum
Anda dapat mengonfigurasi gateway NAT Publik untuk menyediakan NAT ke internet untuk paket yang dikirim dari:
Alamat IP internal utama antarmuka jaringan VM Compute Engine, asalkan antarmuka jaringan tidak memiliki alamat IP eksternal yang ditetapkan. Jika antarmuka jaringan memiliki alamat IP eksternal yang ditetapkan, Google Cloud akan otomatis melakukan NAT satu per satu untuk paket yang sumbernya cocok dengan alamat IP internal utama antarmuka karena antarmuka jaringan memenuhi persyaratan akses internet Google Cloud. Keberadaan alamat IP eksternal di antarmuka selalu diprioritaskan dan selalu melakukan NAT satu-ke-satu, tanpa menggunakan NAT Publik.
Rentang IP alias yang ditetapkan ke antarmuka jaringan VM. Meskipun antarmuka jaringan memiliki alamat IP eksternal yang ditetapkan ke antarmuka, Anda dapat mengonfigurasi gateway NAT Publik untuk menyediakan NAT bagi paket yang sumbernya berasal dari rentang IP alias antarmuka. Alamat IP eksternal di antarmuka tidak pernah melakukan NAT satu-ke-satu untuk alamat IP alias.
Untuk cluster Google Kubernetes Engine (GKE), NAT Publik dapat menyediakan layanan meskipun cluster memiliki alamat IP eksternal dalam situasi tertentu. Untuk mengetahui detailnya, lihat Interaksi GKE.
NAT publik memungkinkan koneksi keluar dan respons masuk ke koneksi tersebut. Setiap gateway Public NAT melakukan NAT sumber pada traffic keluar, dan NAT tujuan untuk paket respons yang telah ditetapkan.
NAT publik tidak mengizinkan permintaan masuk yang tidak diminta dari internet, meskipun aturan firewall mengizinkan permintaan tersebut. Untuk mengetahui informasi selengkapnya, lihat RFC yang berlaku.
Setiap gateway NAT Publik dikaitkan dengan satu jaringan, region, dan Cloud Router VPC. Gateway NAT Publik dan Cloud Router menyediakan bidang kontrol—gateway dan Cloud Router 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 next hop-nya adalah gateway internet default. Untuk memanfaatkan gateway NAT Publik sepenuhnya, jaringan Virtual Private Cloud Anda memerlukan rute default yang next hop-nya adalah gateway internet default. Untuk mengetahui 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. Saat 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 akan dievaluasi setelah paket diproses oleh NAT.
Penerapan rentang alamat IP subnet
Anda dapat mengonfigurasi gateway NAT Publik untuk menyediakan NAT bagi alamat IP internal utama antarmuka jaringan VM, rentang IP alias, atau keduanya. Anda membuat konfigurasi ini dengan memilih rentang alamat IP subnet yang akan diterapkan gateway.
Anda dapat mengonfigurasi gateway Public NAT untuk menyediakan NAT untuk hal berikut:
-
Rentang alamat IP primer dan sekunder dari semua subnet di region. Satu gateway Public NAT menyediakan NAT untuk alamat IP internal utama dan semua rentang IP alias VM yang memenuhi syarat yang antarmuka jaringannya menggunakan subnet di region. 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 utama subnet VM yang memenuhi syarat, yang antarmuka jaringannya menggunakan subnet di region. Anda dapat membuat gateway NAT Publik tambahan di region untuk menyediakan NAT untuk rentang IP alias dari rentang alamat IP sekunder subnet VM yang memenuhi syarat.
-
Daftar subnet kustom. Satu gateway Public NAT menyediakan NAT untuk alamat IP internal utama dan semua rentang IP alias 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 utama atau sekunder subnet yang akan ditayangkan oleh setiap gateway.
Beberapa gateway Public NAT
Anda dapat memiliki beberapa gateway NAT Publik di region jaringan VPC yang sama 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 Public NAT tidak akan 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 di jaringan VPC yang terpisah. Akibatnya, 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, dengan setiap gateway berlaku untuk antarmuka terpisah.
- Satu antarmuka dari beberapa VM antarmuka jaringan dapat memiliki alamat IP eksternal, yang membuat antarmuka tersebut tidak memenuhi syarat untuk NAT Publik, sedangkan 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 IP dan port NAT
Saat membuat gateway NAT Publik, Anda dapat memilih agar gateway secara otomatis mengalokasikan alamat IP eksternal regional. Atau, Anda dapat menetapkan sejumlah alamat IP eksternal regional secara manual ke gateway.
Untuk gateway Public NAT dengan alokasi alamat IP NAT otomatis, pertimbangkan hal berikut:
- Anda dapat memilih Tingkat Layanan Jaringan (Tingkat Premium atau Tingkat Standar) tempat gateway NAT Publik mengalokasikan alamat IP.
Saat Anda mengubah paket untuk gateway NAT Publik yang telah mengalokasikan alamat IP NAT secara otomatis, Google Cloud akan merilis semua alamat IP yang ditetapkan untuk gateway tersebut dan menghentikan semua alokasi port.
Kumpulan alamat IP baru dari tingkat yang baru dipilih akan dialokasikan secara otomatis, dan alokasi port baru diberikan ke semua endpoint.
Untuk gateway NAT Publik tertentu, Anda juga dapat menetapkan alamat IP dari Paket Premium atau Paket Standar atau keduanya secara manual, dengan tunduk pada kondisi 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 di setiap VM yang akan menyediakan layanan NAT. Anda dapat mengonfigurasi alokasi port statis, dengan jumlah port yang sama direservasi untuk setiap VM, atau alokasi port dinamis, dengan jumlah port yang direservasi dapat bervariasi antara batas minimum dan maksimum yang Anda tentukan.
VM yang akan disediakan NAT ditentukan oleh rentang alamat IP subnet yang dikonfigurasi gateway untuk ditayangkan.
Untuk mengetahui informasi selengkapnya tentang port, lihat Port.
RFC yang berlaku
NAT publik mendukung Pemetaan Independen Endpoint dan Pemfilteran Dependen Endpoint seperti yang ditentukan 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 NAT dan pasangan port yang sama, terlepas dari tujuan paket. Untuk mengetahui detail dan implikasi yang berkaitan dengan Pemetaan Independen Endpoint, lihat Penggunaan kembali port secara serentak dan Pemetaan Independen Endpoint.
Pemfilteran Bergantung Endpoint berarti paket respons dari internet hanya diizinkan masuk jika 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 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.
NAT traversal
Jika Pemetaan Independen Endpoint diaktifkan, NAT Publik kompatibel dengan protokol NAT traversal umum seperti STUN dan TURN jika Anda men-deploy server STUN atau TURN Anda sendiri:
- STUN (Session Traversal Utilities for NAT, RFC 5389) memungkinkan komunikasi langsung antara VM di balik NAT saat saluran komunikasi dibuat.
- TURN (Traversal Using Relays around NAT, RFC 5766) mengizinkan komunikasi antara VM di balik NAT melalui server ketiga dengan server tersebut memiliki alamat IP eksternal. Setiap VM terhubung ke alamat IP eksternal server, dan server tersebut meneruskan komunikasi antara dua VM. TURN lebih andal, tetapi menggunakan lebih banyak bandwidth dan resource.
Waktu tunggu NAT
NAT publik menetapkan waktu tunggu untuk koneksi protokol. Untuk mengetahui informasi tentang waktu tunggu ini dan nilai default-nya, 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.