Alamat IP dan port
Halaman ini menjelaskan cara gateway Cloud NAT menggunakan alamat IP dan cara gateway mengalokasikan port sumber ke instance virtual machine (VM) Compute Engine dan node Google Kubernetes Engine (GKE) yang menggunakan gateway.
Sebelum meninjau informasi ini, pahami ringkasan Cloud NAT.
Alamat IP NAT publik
Alamat IP NAT Publik adalah alamat IP eksternal regional yang dapat dirutekan di internet. VM tanpa alamat IP eksternal, yang berada di subjaringan (subnet) yang ditayangkan oleh gateway NAT Publik, menggunakan alamat IP NAT Publik saat mengirim paket ke tujuan di internet.
Untuk menetapkan alamat IP terjemahan alamat jaringan (NAT) ke gateway NAT Publik, gunakan salah satu metode berikut:
Alokasi alamat IP NAT otomatis. Saat Anda memilih metode ini, atau memilih setelan default Google Cloud, NAT Publik akan otomatis menambahkan alamat IP eksternal regional ke gateway Anda berdasarkan hal berikut:
- Tingkat jaringan yang Anda pilih
- Jumlah VM yang menggunakan gateway
- Jumlah port yang dicadangkan untuk setiap VM
NAT publik juga otomatis menghapus alamat IP NAT saat tidak lagi memerlukan port sumber apa pun di alamat IP NAT tersebut.
Berikut adalah karakteristik alokasi alamat IP NAT otomatis:
Saat gateway NAT Publik menambahkan alamat IP NAT, gateway tersebut akan membuat alamat IP eksternal regional statis (dicadangkan) di tingkat jaringan yang telah Anda pilih saat mengonfigurasi gateway. Misalnya, jika Anda telah memilih Paket Premium, gateway Public NAT akan membuat alamat IP di paket tersebut. Tingkat jaringan yang didukung adalah Paket Premium (opsi default) dan Paket Standar.
Alamat IP NAT yang ditambahkan secara otomatis dapat dilihat di daftar alamat IP eksternal statis. Alamat ini tidak diperhitungkan dalam kuota per project.
- Jika Anda mengubah tingkat jaringan gateway NAT Publik, alamat IP yang ada untuk gateway tersebut akan dirilis, dan kumpulan alamat IP baru dari tingkat yang dipilih akan ditetapkan.
- Dengan alokasi otomatis, Anda tidak dapat memprediksi alamat IP berikutnya yang dialokasikan. Jika Anda bergantung pada mengetahui kumpulan kemungkinan alamat IP NAT sebelumnya (misalnya, untuk membuat daftar yang diizinkan), Anda harus menggunakan penetapan alamat IP NAT manual.
Jika alamat IP NAT yang ditambahkan secara otomatis tidak lagi digunakan, alamat tersebut akan dihapus. Namun, NAT Publik hanya mengalokasikan ulang alamat saat VM terakhir yang ditetapkan ke alamat tersebut tidak lagi menggunakan port apa pun. Dengan demikian, saat jumlah VM yang menggunakan NAT Publik menurun, Anda mungkin tidak melihat pengurangan IP . Alasannya adalah Cloud NAT tidak mengalokasikan ulang VM secara dinamis dari satu alamat IP ke alamat IP lain karena pengalokasian ulang akan mengganggu koneksi yang sudah dibuat. Selama setidaknya satu VM menggunakan alamat IP, alamat IP akan tetap aktif dan VM baru dapat ditetapkan ke alamat tersebut.
Jika Anda ingin dapat mengalokasikan ulang VM secara manual dari satu alamat IP ke alamat IP lainnya untuk meminimalkan penggunaan alamat IP, gunakan penetapan alamat IP NAT manual. Penetapan alamat IP NAT manual memungkinkan pengosongan alamat IP NAT Publik.
Jika Anda beralih ke penetapan alamat IP NAT manual nanti, alamat IP eksternal regional yang otomatis dicadangkan akan dihapus. Untuk mengetahui informasi selengkapnya, lihat Metode penetapan pengalihan.
Penetapan alamat IP NAT manual. Saat memilih opsi ini, Anda membuat dan menetapkan alamat IP eksternal regional statis (dicadangkan) secara manual ke gateway NAT Publik. Anda dapat menetapkan alamat IP secara manual dari Paket Premium, dari Paket Standar, atau dari keduanya, dengan tunduk pada kondisi.
- Anda dapat meningkatkan atau mengurangi jumlah alamat IP NAT yang ditetapkan secara manual dengan mengedit gateway Cloud NAT.
- Saat menggunakan penetapan alamat IP NAT manual, Anda harus menghitung jumlah alamat IP eksternal regional yang diperlukan untuk gateway NAT Publik. Jika gateway kehabisan alamat IP NAT, NAT Publik akan menghapus paket. Paket yang dihapus akan dicatat ke dalam log saat Anda menggunakan logging Cloud NAT untuk mengaktifkan logging error.
- Untuk contoh penghitungan, lihat contoh reservasi port.
Untuk mengetahui jumlah maksimum alamat IP NAT yang dialokasikan secara otomatis atau ditetapkan secara manual, lihat Batas Cloud NAT.
Menetapkan campuran alamat IP Paket Premium dan Paket Standar secara manual
Saat membuat gateway NAT Publik dengan metode penetapan alamat IP NAT manual, Anda dapat menetapkan campuran alamat IP Paket Premium dan Paket Standar selama alamat IP dari tingkat jaringan yang berbeda tidak termasuk dalam aturan yang sama (termasuk aturan default).
Di dalam aturan (termasuk aturan default), semua alamat IP yang ditetapkan ke rentang aktif harus berasal dari tingkat jaringan yang sama. Jika Anda mencoba menggunakan alamat IP dari tingkat yang berbeda sebagai bagian dari aturan yang sama, Google Cloud akan menolak konfigurasi tersebut.
Metode penetapan tombol
Anda dapat mengalihkan gateway NAT Publik dari alokasi alamat IP NAT otomatis ke penetapan alamat IP NAT manual; namun, alamat IP NAT tidak dapat dipertahankan. Meskipun alamat IP NAT yang dialokasikan secara otomatis bersifat statis, alamat tersebut tidak dapat dipindahkan ke penetapan alamat IP NAT manual. Misalnya, Anda tidak dapat mulai menggunakan gateway NAT Publik dengan alamat IP NAT yang dialokasikan secara otomatis, lalu menggunakan alamat yang sama saat beralih ke alamat IP NAT yang ditetapkan secara manual.
Kumpulan alamat IP eksternal regional yang digunakan Public NAT untuk alokasi alamat IP NAT otomatis berbeda dengan kumpulan alamat IP eksternal regional yang dapat Anda pilih secara manual.
Menguras alamat IP NAT Publik
Saat mengonfigurasi gateway NAT Publik dengan penetapan alamat IP NAT manual, Anda dapat memilih apa yang terjadi saat Anda perlu mengurangi jumlah alamat IP NAT yang digunakan gateway:
Jika Anda menghapus alamat IP NAT yang ditetapkan secara manual, koneksi NAT yang dibuat akan langsung terputus.
Anda dapat memilih untuk menguras alamat IP NAT yang ditetapkan secara manual. Pengosongan akan memerintahkan gateway NAT Publik untuk berhenti menggunakan alamat IP NAT untuk koneksi baru, tetapi terus menggunakannya untuk koneksi yang sudah dibuat. Koneksi yang dibuat diizinkan untuk ditutup secara normal, bukan dihentikan secara tiba-tiba. Untuk menghabiskan alamat IP yang terkait dengan gateway NAT Publik yang tidak menggunakan aturan NAT, lihat Menguras alamat IP eksternal yang terkait dengan NAT. Untuk menghabiskan alamat IP yang terkait dengan gateway NAT yang menggunakan aturan NAT, lihat Memperbarui aturan NAT.
Alamat IP NAT pribadi
Alamat Private NAT adalah alamat IPv4 internal regional yang
berasal dari rentang alamat IPv4 utama subnet Private NAT yang berada di region dan jaringan VPC yang sama dengan gateway Private NAT. Alamat IP NAT Pribadi tidak dapat dirutekan di internet. Alamat IP dari rentang alamat IPv4 utama
subnet NAT Pribadi hanya dapat digunakan oleh
gateway NAT Pribadi. Untuk membuat subnet NAT Pribadi, tambahkan subnet khusus IPv4 menggunakan Google Cloud CLI dan flag --purpose=PRIVATE_NAT
.
Setelah Anda mengonfigurasi gateway Private NAT untuk menyediakan layanan NAT untuk subnet di jaringan VPC, VM dengan antarmuka jaringan di subnet tersebut dapat mengirim paket ke resource yang berada di jaringan lain seperti jaringan VPC yang dilampirkan ke hub Network Connectivity Center yang sama dengan jaringan yang menghosting gateway Private NAT atau jaringan di luar Google Cloud yang terhubung ke Google Cloud melalui Cloud Interconnect atau Cloud VPN. Pada keluar, Google Cloud mengubah alamat IP sumber menjadi alamat IP dari subnet NAT Pribadi yang terkait dengan gateway.
Berikut adalah karakteristik alamat IP NAT Pribadi:
- Anda tidak dapat otomatis menetapkan alamat IP NAT Pribadi ke gateway NAT Pribadi. Sebagai gantinya, saat membuat aturan di gateway NAT Pribadi, Anda menentukan subnet NAT Pribadi secara manual. Subnet NAT pribadi harus berada di jaringan dan region VPC yang sama dengan gateway. Gateway hanya menggunakan alamat IP dari rentang alamat IPv4 utama dari subnet NAT Pribadi.
- Untuk menentukan jumlah alamat IP NAT yang dapat disediakan oleh setiap subnet Private NAT, gunakan formula berikut:
2(32 - PREFIX_LENGTH) - 4
, denganPREFIX_LENGTH
adalah panjang subnet mask dari rentang alamat IPv4 utama subnet Private NAT. Empat alamat IP tidak dapat digunakan di setiap rentang alamat IPv4 utama subnet.
Port
Setiap alamat IP NAT di gateway Cloud NAT (Public NAT dan Private NAT) menawarkan 64.512 port sumber TCP dan 64.512 port sumber UDP. TCP dan UDP masing-masing mendukung 65.536 port per alamat IP, tetapi Cloud NAT tidak menggunakan 1.024 port umum (berhak istimewa) pertama.
Saat gateway Cloud NAT melakukan penafsiran alamat jaringan sumber (SNAT) pada paket yang dikirim oleh VM, gateway tersebut akan mengubah alamat IP sumber NAT dan port sumber paket.
Saat membuat gateway Cloud NAT, Anda dapat memilih apakah akan menggunakan alokasi port statis atau alokasi port dinamis. Anda dapat mengubah metode alokasi port setelah membuat gateway. Untuk informasi tentang pengaruh perubahan metode alokasi port untuk gateway Cloud NAT terhadap koneksi yang dibuat, lihat Mengubah metode alokasi port.
Jika Anda telah menetapkan beberapa alamat IP eksternal regional statis (dicadangkan) secara manual ke gateway NAT Publik, satu VM yang menggunakan gateway dapat mendapatkan port yang diperlukan dari salah satu alamat IP NAT yang ditetapkan—bahkan dari beberapa alamat IP NAT secara bersamaan.
Alokasi port statis
Saat mengonfigurasi alokasi port statis, Anda menentukan jumlah minimum port per instance VM. Jika Anda tidak menentukan jumlah minimum port VM, Google Cloud akan menggunakan nilai default.
Alokasi port statis diaktifkan secara default untuk NAT Publik. Di sisi lain, NAT Pribadi menggunakan alokasi port dinamis secara default.
Karena semua VM dialokasikan jumlah port yang sama, alokasi port statis berfungsi paling baik jika semua VM memiliki penggunaan keluar yang serupa. Saat alokasi port statis dikonfigurasi, jumlah port yang dialokasikan ke setiap VM bersifat tetap dan tidak berubah jika beberapa VM menggunakan lebih banyak port daripada yang lain atau jika VM menghabiskan semua portnya. Jika penggunaan traffic keluar bervariasi, pertimbangkan untuk mengonfigurasi alokasi port dinamis.
Jika ingin mengonfigurasi Pemetaan Independen Endpoint di gateway NAT Publik, Anda harus menggunakan alokasi port statis. Pemetaan Independen Endpoint tidak tersedia untuk gateway NAT Pribadi.
Alokasi port dinamis
Saat mengonfigurasi alokasi port dinamis, Anda menentukan jumlah minimum port per instance VM dan jumlah maksimum port per instance VM.
Alokasi port dinamis diaktifkan secara default untuk NAT Pribadi. NAT Publik menggunakan alokasi port statis secara default.
Mengonfigurasi alokasi port dinamis memungkinkan gateway Cloud NAT yang sama mengaloksir jumlah port yang berbeda per VM, berdasarkan penggunaan VM. Awalnya, VM dialokasikan jumlah port minimum per instance VM. Jika VM hampir menghabiskan semua port yang dialokasikan untuknya, jumlah port yang ditetapkan ke VM akan digandakan. VM dapat berulang kali meminta lebih banyak port hingga jumlah maksimum port per instance VM. Jika penggunaan port menurun secara signifikan, port akan dide-alokasikan dan dapat dialokasikan ke VM lain yang menggunakan gateway NAT yang sama.
Alokasi port dinamis memiliki manfaat berikut:
Jumlah port yang dialokasikan tetapi tidak digunakan akan dikurangi.
Gateway NAT memantau penggunaan port setiap VM dan mengubah jumlah port yang dialokasikan ke setiap VM, berdasarkan kebutuhan. Anda tidak perlu memantau penggunaan port atau menyesuaikan konfigurasi gateway NAT.
Sebelum menggunakan alokasi port dinamis, pertimbangkan hal-hal berikut:
Jika Pemetaan Independen Endpoint diaktifkan di gateway Cloud NAT, Anda tidak dapat mengonfigurasi alokasi port dinamis. Jika Anda memerlukan Pemetaan Tidak Bergantung Endpoint, gunakan alokasi port statis.
Saat port tambahan dialokasikan ke VM, Anda mungkin melihat waktu tunggu koneksi atau latensi. Untuk strategi guna membantu mencegah terputusnya koneksi, lihat Mengurangi koneksi yang terputus dengan alokasi port dinamis.
Metode alokasi port beralih
Anda dapat beralih antara alokasi port statis dan alokasi port dinamis untuk gateway Cloud NAT tertentu.
Beralih ke metode alokasi port dinamis akan memutuskan koneksi NAT yang ada hanya jika salah satu kondisi berikut terpenuhi:
Anda menetapkan jumlah maksimum port per VM ke nilai yang kurang dari jumlah minimum port per VM yang ditentukan dalam konfigurasi NAT sebelumnya (dengan alokasi port statis).
Jika dalam konfigurasi sebelumnya, jumlah minimum port per VM ditetapkan ke lebih dari
1024
, dan jika Anda menentukan1024
sebagai jumlah maksimum port per VM dalam konfigurasi baru, koneksi yang ada akan terputus karena kondisi pertama lebih diutamakan.Anda menetapkan jumlah maksimum port per VM ke nilai yang kurang dari
1024
.
Kecuali jika salah satu kondisi sebelumnya terpenuhi, beralih ke alokasi port dinamis tidak akan merusak koneksi NAT yang ada.
Menonaktifkan alokasi port dinamis dan beralih ke alokasi port statis akan mengganggu, dan merusak semua koneksi NAT yang aktif.
Prosedur reservasi port
Cloud NAT menggunakan prosedur berikut untuk menyediakan alamat IP sumber NAT dan tuple port sumber untuk setiap VM yang ditayangkan gateway Cloud NAT (NAT Publik dan NAT Pribadi).
Cloud NAT menentukan alamat IP internal VM yang NAT-nya harus dilakukan. Alamat IP internal VM ditentukan oleh rentang alamat IP subnet yang telah dikonfigurasi gateway untuk ditayangkan.
Jika gateway NAT Publik dikonfigurasi untuk menjalankan NAT untuk rentang alamat IP utama subnet yang digunakan oleh antarmuka jaringan VM, gateway akan menjalankan NAT untuk kedua alamat IP internal utama VM dan rentang IP alias VM dari rentang alamat IP utama subnet.
Jika gateway NAT Publik dikonfigurasi untuk melakukan NAT untuk rentang alamat IP sekunder subnet yang digunakan oleh antarmuka jaringan VM, gateway akan melakukan NAT untuk rentang IP alias apa pun dari rentang alamat IP sekunder subnet tersebut.
Karena gateway NAT Pribadi dikonfigurasi untuk menjalankan NAT untuk semua rentang alamat IP subnet yang digunakan oleh antarmuka jaringan VM, gateway akan menjalankan NAT untuk semua rentang IP dari subnet tersebut.
Cloud NAT akan menyesuaikan port minimum per instance VM jika diperlukan. Jika alokasi port statis dikonfigurasi, dan gateway melakukan NAT untuk rentang IP alias yang memiliki lebih dari satu alamat (netmask lebih kecil dari
/32
), Cloud NAT akan menyesuaikan port minimum per VM menjadi maksimum dari dua nilai ini:Port minimum per instance VM yang Anda tentukan
Angka 1.024
Dalam semua situasi lainnya, termasuk saat alokasi port dinamis dikonfigurasi, gateway Cloud NAT akan melanjutkan ke langkah berikutnya dengan menggunakan port minimum yang ditentukan per instance VM sebagai input. Jika Anda tidak menentukan port minimum per instance VM, nilai default akan digunakan:
64
untuk alokasi port statis dan32
untuk alokasi port dinamis.Cloud NAT mencadangkan alamat IP sumber NAT dan tuple port sumber untuk setiap VM. Gateway Cloud NAT menggunakan port minimum yang diberikan atau disesuaikan per instance VM dari langkah sebelumnya untuk menghitung jumlah tuple alamat IP sumber dan port sumber NAT yang akan ditetapkan ke VM.
Untuk NAT Publik, Google Cloud mengalokasikan alamat IP sumber NAT dan tuple port sumber menggunakan kelipatan pangkat dua, sehingga jumlah alamat IP sumber NAT dan tuple port sumber lebih besar dari atau sama dengan port minimum per instance VM yang Anda tentukan.
Untuk NAT Pribadi, Google Cloud mengalokasikan dua kali jumlah port minimum yang diperlukan per VM untuk keandalan. Pastikan subnet tempat Private NAT menetapkan alamat IP dan port memiliki ukuran yang sesuai.
Jika gateway Cloud NAT menggunakan dua alamat IP NAT atau lebih, alamat IP sumber NAT dan tupel port sumber dapat mencakup lebih dari satu alamat IP NAT. Satu alamat IP NAT mungkin tidak memiliki cukup port sumber yang tersedia untuk mengakomodasi jumlah alamat IP sumber NAT dan tuple port sumber yang diperlukan VM.
Gateway Cloud NAT mengalokasikan tuple alamat IP sumber dan port sumber ke setiap VM.
Jika Anda telah mengonfigurasi alokasi port statis, jumlah alamat IP sumber dan tuple port sumber akan tetap. Setiap VM tidak boleh menggunakan lebih dari jumlah alamat IP sumber dan tuple port sumber yang dialokasikan, bahkan selama lonjakan traffic.
Jika Anda telah mengonfigurasi alokasi port dinamis, jumlah alamat IP sumber dan tuple port sumber dapat berubah berdasarkan permintaan. Jika VM hampir kehabisan alokasi port saat ini, Cloud NAT akan mengalokasikan port tambahan, hingga nilai port maksimum per instance VM yang ditentukan. Setelah penggunaan port VM berkurang di bawah nilai minimum, VM akan melepaskan port dan dapat dialokasikan ke VM lain.
Meningkatkan port per VM
Jika Anda telah mengonfigurasi gateway Cloud NAT dengan alokasi port statis, saat Anda meningkatkan port minimum per VM di gateway, tidak akan ada gangguan pada traffic.
Jika Anda telah mengonfigurasi gateway Cloud NAT dengan alokasi port dinamis, meningkatkan jumlah port minimum, maksimum, atau keduanya per VM tidak akan merusak koneksi NAT yang ada atau mengganggu traffic yang mengalir melalui gateway NAT.
Pertimbangkan hal berikut saat Anda meningkatkan jumlah port VM:
Saat menggunakan Public NAT dengan penetapan alamat IP NAT manual, Anda harus menghitung jumlah alamat IP sumber NAT yang Anda perlukan. Sebelum meningkatkan port minimum per VM, tetapkan setidaknya alamat IP NAT sebanyak itu ke gateway NAT Publik.
Saat menggunakan Public NAT dengan alokasi alamat IP NAT otomatis, meningkatkan jumlah minimum port per VM akan menyebabkan gateway Public NAT memperoleh dan mengalokasikan lebih banyak alamat IP eksternal regional secara otomatis.
Saat menggunakan NAT Pribadi, pastikan subnet tempat gateway mengalokasikan alamat IP memiliki jumlah alamat IP yang memadai.
Mengurangi port per VM
Jika Anda telah mengonfigurasi gateway Cloud NAT dengan alokasi port statis, dan Anda mengurangi port minimum per VM di gateway, tidak ada koneksi yang habis. Koneksi NAT yang dibuat akan langsung terputus dan klien harus membuat koneksi TCP baru.
Jika Anda telah mengonfigurasi gateway Cloud NAT dengan alokasi port dinamis, pernyataan berikut benar:
- Mengurangi jumlah minimum port per VM tidak merusak koneksi NAT yang ada atau mengganggu traffic yang mengalir melalui gateway NAT.
- Mengurangi jumlah maksimum port per VM akan menghentikan semua koneksi NAT yang ada segera, dan jumlah port yang dialokasikan untuk semua VM akan direset sementara ke nilai yang ditentukan untuk jumlah minimum port per VM.
Port dan koneksi
Jumlah alamat IP sumber NAT dan tupel port sumber yang dicadangkan gateway Cloud NAT untuk VM membatasi jumlah koneksi yang dapat dibuat VM ke tujuan unik:
Tujuan unik berarti 3-tuple unik yang terdiri dari alamat IP tujuan, port tujuan, dan protokol IP (seperti TCP atau UDP).
Koneksi berarti 5-tuple unik yang terdiri dari alamat IP sumber NAT dan tuple port sumber yang digabungkan dengan 3-tuple tujuan unik. Karena protokol UDP bersifat connectionless, konsep koneksi dikurangi menjadi 5-tuple yang terkait dengan datagram UDP unik.
Misalkan gateway Cloud NAT menghitung 1.024 untuk jumlah port tetap untuk VM dengan mengikuti prosedur reservasi port. Gateway Cloud NAT mencadangkan 1.024 kombinasi unik alamat IP sumber NAT dan tuple port sumber untuk VM. Gateway Cloud NAT dapat memproses 1.024 koneksi serentak ke setiap 3-tuple tujuan unik. Namun, Cloud NAT menganggap koneksi tertutup tidak dapat digunakan selama 120 detik setelah koneksi ditutup, yang dapat memengaruhi jumlah koneksi yang digunakan dalam satu waktu.
Contoh:
Gateway mendukung 1.024 koneksi serentak ke alamat IP tujuan
203.0.113.99
di port80
menggunakan protokol TCP.Gateway mendukung 1.024 koneksi simultan lain ke alamat IP tujuan yang sama di port
443
, yang juga menggunakan protokol TCP.Gateway mendukung lainnya 1.024 koneksi serentak ke alamat IP tujuan yang berbeda di port
80
, yang juga menggunakan protokol TCP.
Pemanfaatan ulang port secara bersamaan dan Pemetaan Independen Endpoint
Selama setidaknya satu informasi dalam 3-tuple tujuan berubah—alamat IP tujuan, port tujuan, protokol—alamat IP sumber NAT dan tuple port sumber yang sama dapat digunakan secara bersamaan untuk banyak koneksi yang berbeda.
NAT publik menggunakan Pemetaan Independen Endpoint, seperti yang ditentukan dalam Bagian 2.3 RFC 5128. Akibatnya, jumlah koneksi serentak yang dapat dilakukan VM klien ke 3-tuple tujuan unik dapat dikurangi jika NAT Publik menetapkan alamat IP sumber dan tupel port sumber NAT yang sama ke lebih dari satu alamat IP internal dan port sumber sementara dari VM klien. Kemungkinan terjadinya hal ini akan meningkat jika VM klien memiliki banyak alamat IP sumber internal dan membuat banyak koneksi ke 3-tuple tujuan yang sama. Saat pertama kali VM klien mengirim paket dari alamat IP internal dan port sumber sementara, NAT Publik akan membuat Pemetaan Independen Endpoint banyak-ke-satu antara hal berikut:
- Alamat IP internal dan tuple port sumber sementara
- Alamat IP sumber NAT dan tuple port sumber yang unik
Misalnya, saat VM klien mengirim paket dari alamat IP internalnya
10.0.0.2
menggunakan port sumber sementara 10001
, Public NAT akan menetapkan
10.0.0.2:10001
. Alamat IP sumber NAT dan tuple port sumber ini kemudian digunakan untuk semua koneksi berikutnya dari 10.0.0.2:10001
ke 3-tuple tujuan.
Jika VM yang sama menggunakan port sumber sementara yang berbeda untuk mengirim paket, misalnya,
10.0.0.2:20002
, Public NAT juga menetapkan alamat IP sumber NAT dan
tuple port sumber untuk semua koneksi berikutnya dari 10.0.0.2:20002
ke
tuple 3 tujuan. NAT Publik mungkin dapat menetapkan
alamat IP sumber NAT dan tuple port sumber yang sama ke kedua alamat IP internal
dan tuple port sumber sementara ini yang menyebabkan konflik independen endpoint
dalam situasi tertentu.
Untuk contoh yang lebih mendetail, lihat Contoh konflik Pemetaan Independen Endpoint.
Mengurangi konflik independen endpoint
Anda dapat melakukan perubahan konfigurasi untuk mengurangi konflik independen endpoint. Untuk mengetahui informasi selengkapnya, lihat Paket dihapus dengan alasan konflik independen endpoint.
Penundaan untuk penggunaan kembali port sumber TCP
Setelah gateway Cloud NAT menutup koneksi TCP, Google Cloud menerapkan penundaan sebelum gateway dapat menggunakan kembali alamat IP sumber NAT dan tuple port sumber yang sama dengan tujuan yang sama (alamat IP tujuan, port tujuan, dan protokol). Durasi penundaan dikontrol oleh setelan TCP TIME_WAIT Timeout.
Jika diperlukan, Anda dapat mengurangi penundaan ini dengan mengubah nilai default TCP TIME_WAIT Timeout. Untuk informasi tentang cara mengubah waktu tunggu NAT, lihat Mengubah waktu tunggu NAT. Atau, Anda dapat melakukan salah satu perubahan berikut:
Tingkatkan jumlah minimum port per instance VM sehingga prosedur pemesanan port menetapkan lebih banyak alamat IP sumber NAT dan tuple port sumber ke VM.
Jika VM perlu membuka dan menutup koneksi TCP dengan cepat ke alamat IP tujuan dan port tujuan yang sama menggunakan protokol yang sama, maka tetapkan alamat IP eksternal ke VM, bukan Cloud NAT, dan gunakan aturan firewall untuk membatasi koneksi masuk yang tidak diminta.
Port sumber dan keamanan
Jika Anda bergantung pada pengacakan port sumber sebagai langkah pengamanan, Anda perlu mempertimbangkan hal-hal berikut:
Tingkatkan jumlah minimum port per instance VM sehingga prosedur pemesanan port menetapkan lebih banyak alamat IP sumber NAT dan tuple port sumber ke VM. Meningkatkan jumlah minimum port per instance VM akan menetapkan rentang port secara acak ke setiap VM; namun, port sumber yang dipilih dari rentang tersebut bersifat berurutan.
Tetapkan alamat IP eksternal ke VM, bukan menggunakan Public NAT.
Contoh
Contoh berikut menunjukkan cara Cloud NAT mencadangkan alamat IP sumber NAT dan port sumber untuk VM serta cara Cloud NAT melakukan NAT untuk paket yang dikirim ke internet.
Reservasi port
Contoh berikut menunjukkan penerapan prosedur reservasi port.
Misalnya, Anda mengonfigurasi gateway NAT Publik untuk menyediakan NAT bagi rentang alamat IP utama subnet, dan VM yang menggunakan subnet tersebut tidak memiliki rentang IP alias dari rentang alamat IP utama subnet. Membulatkan ke bawah hasil operasi pembagian ke bilangan bulat terdekat. ⌊⌋ adalah fungsi bilangan bulat terbesar (floor), yang berarti menghapus hasil pecahan pembagian.
Jika Anda mengonfigurasi gateway NAT Publik dengan satu alamat IP NAT menggunakan penetapan manual, dan menetapkan jumlah minimum port per instance VM ke 64, gateway dapat menyediakan layanan NAT hingga 1.008 VM:
⌊(1 alamat IP NAT) × (64.512 port per alamat) / (64 port per VM)⌋ = 1.008 VM
Jika perlu mendukung lebih dari 1.008 VM, Anda dapat menetapkan alamat IP NAT kedua ke gateway Cloud NAT. Dengan dua alamat IP NAT, dengan mempertahankan jumlah minimum port per VM sebesar 64, Anda dapat mendukung 2.016 VM:
⌊(2 alamat IP NAT) × (64.512 port per alamat) / (64 port per VM)⌋ = 2.016 VM
Jika Anda menetapkan jumlah minimum port per VM ke 4.096, setiap alamat IP NAT dapat mendukung 15 VM. Penghitungan ini dibulatkan ke bawah ke bilangan bulat terdekat:
⌊(1 alamat IP NAT) × (64.512 port per alamat) / (4.096 port per VM)⌋ = 15 VM
Misalnya, Anda mengonfigurasi gateway NAT Pribadi untuk menyediakan NAT untuk semua alamat IP subnet:
Ukuran subnet minimum yang dapat Anda buat adalah delapan alamat IPv4, yang merupakan subnet mask
/29
. Jika Anda mengonfigurasi gateway NAT Pribadi dengan subnet NAT berukuran minimum, dan menetapkan jumlah minimum port per instance VM ke 64, gateway dapat menyediakan layanan NAT hingga 2.016 VM:⌊(2(32-29) - 4) alamat IP NAT × (64.512 port per alamat) / (64 port per VM × 2)⌋ = 2.016 VM
Pada contoh sebelumnya, jika Anda menetapkan jumlah minimum port per instance VM ke 1024, gateway dapat menyediakan layanan NAT hingga 126 VM:
⌊(2(32-29) - 4) alamat IP NAT × (64.512 port per alamat) / (1.024 port per VM × 2)⌋ = 126 VM
Jika Anda mengonfigurasi gateway Private NAT dengan subnet mask NAT
/28
, dan Anda menetapkan jumlah minimum port per instance VM ke 64, gateway dapat menyediakan layanan NAT hingga 6.048 VM:⌊(2(32-28) - 4) alamat IP NAT × (64.512 port per alamat) / (64 port per VM × 2)⌋ = 6.048 VM
Konflik Pemetaan Independen Endpoint
Contoh berikut menggambarkan bagaimana Pemetaan Independen Endpoint dapat mengurangi jumlah koneksi simultan dari VM klien ke 3-tuple tujuan yang sama, meskipun ada cukup alamat IP sumber NAT gratis dan tuple port sumber yang tersedia untuk VM klien.
Misalnya, Anda telah mengonfigurasi gateway NAT Publik untuk menyediakan NAT untuk
rentang alamat IP utama subnet. Anda telah membuat VM klien dengan satu antarmuka jaringan yang alamat IP internal utamanya adalah 10.0.0.2
di subnet tersebut. Contoh VM tidak memiliki alamat IP eksternal yang ditetapkan ke antarmuka jaringannya.
VM membuka koneksi dengan karakteristik berikut:
- Alamat IP internal dan port sumber:
10.0.0.2:10001
- 3-tuple tujuan:
203.0.113.1:80
menggunakan TCP - NAT publik menggunakan tuple alamat IP sumber NAT dan port sumber berikut:
192.0.2.10:30009
- Alamat IP internal dan port sumber:
VM membuka koneksi kedua dengan karakteristik berikut:
- Alamat IP internal dan port sumber:
10.0.0.2:10002
- 3-tuple tujuan:
203.0.113.2:80
menggunakan TCP - NAT publik mungkin memilih untuk menggunakan alamat IP sumber NAT dan tuple port sumber yang sama,
192.0.2.10:30009
, untuk koneksi ini juga. Anda dapat menggunakan alamat IP sumber NAT dan tuple port sumber yang sama untuk alamat IP klien dan port sumber sementara yang berbeda.
- Alamat IP internal dan port sumber:
Meskipun koneksi pertama dan kedua aktif, NAT Publik tidak dapat membuka koneksi TCP ketiga dengan karakteristik berikut:
- Alamat IP internal sumber dan port yang sama dengan koneksi pertama:
10.0.0.2:10001
- 3-tuple tujuan yang sama dengan koneksi kedua:
203.0.113.2:80
menggunakan TCP
Upaya koneksi ketiga ini dihentikan dengan error konflik independen endpoint karena Pemetaan Independen Endpoint yang dibuat oleh koneksi pertama mewajibkan semua koneksi dari
10.0.0.2:10001
harus menggunakan alamat IP sumber NAT dan tuple port sumber yang sama,192.0.2.10:30009
. Namun,192.0.2.10:30009
sudah digunakan oleh koneksi TCP kedua ke203.0.113.2:80
.- Alamat IP internal sumber dan port yang sama dengan koneksi pertama:
Untuk menghilangkan ambiguitas, upaya koneksi berikutnya dalam contoh ini berhasil selama salah satu hal berikut benar:
- Koneksi TCP pertama telah ditutup. Menutup koneksi akan menghapus
Pemetaan Independen Endpoint antara
10.0.0.2:10001
dan192.0.2.10:30009
, sehingga koneksi ketiga dapat dipetakan ke alamat IP sumber NAT dan tuple port sumber yang berbeda untuk berkomunikasi dengan203.0.113.2:80
menggunakan TCP. - Koneksi TCP kedua telah ditutup. Menutup koneksi akan mengosongkan
10.0.0.2:10001
untuk menggunakan alamat IP sumber NAT dan port sumber192.0.2.10:30009
untuk berkomunikasi dengan203.0.113.2:80
menggunakan TCP. - Upaya koneksi ketiga memilih port sumber sementara (internal)
yang berbeda. Dalam contoh ini, Pemetaan Independen Endpoint membuat
pemetaan banyak-ke-satu untuk alamat IP sumber NAT internal dan port sumber
10.0.0.2:10001
dan10.0.0.2:10002
untuk menggunakan192.0.2.10:30009
saat berkomunikasi dengan203.0.113.2:80
menggunakan TCP. Jika upaya koneksi ketiga menggunakan port sumber sementara yang berbeda dari10001
dan10002
, ada kemungkinan alamat IP sumber NAT dan port sumber yang berbeda dapat digunakan untuk berkomunikasi dengan203.0.113.2:80
menggunakan TCP. - Menonaktifkan independensi endpoint. Pengalihan ini memungkinkan koneksi baru dari
10.0.0.2:10001
tidak perlu menggunakan192.0.2.10:30009
, sehingga dapat menggunakan alamat IP dan port sumber NAT yang berbeda.
- Koneksi TCP pertama telah ditutup. Menutup koneksi akan menghapus
Pemetaan Independen Endpoint antara
Untuk teknik yang dapat Anda gunakan untuk menghindari konflik, lihat Mengurangi konflik independen endpoint.
Langkah selanjutnya
- Siapkan gateway Public NAT.
- Siapkan gateway Private NAT.
- Buat contoh penyiapan Compute Engine.
- Buat contoh penyiapan GKE.
- Memecahkan masalah umum.