Bagikan melalui


Terjemahan Alamat Jaringan Sumber (SNAT) dengan Azure NAT Gateway

Source Network Address Translation (SNAT) memungkinkan lalu lintas dari jaringan virtual privat untuk terhubung ke internet sambil tetap sepenuhnya privat. SNAT menulis ulang IP sumber dan port paket asal ke IP publik dan kombinasi port. Port digunakan sebagai pengidentifikasi unik untuk membedakan koneksi yang berbeda satu sama lain. Internet menggunakan hash lima tuple (protokol, IP sumber/port, IP/port tujuan) untuk memberikan perbedaan ini.

SNAT juga memungkinkan beberapa instans privat dalam jaringan virtual untuk menggunakan satu alamat IP publik atau set alamat IP (awalan) yang sama untuk terhubung ke internet.

Gateway NAT memungkinkan kemampuan SNAT satu-ke-banyak. Banyak instans privat dalam subnet dapat SNAT ke alamat IP publik yang dilampirkan ke gateway NAT untuk terhubung ke internet. Saat gateway NAT membuat beberapa koneksi ke titik akhir tujuan yang sama, setiap koneksi baru menggunakan port SNAT yang berbeda sehingga koneksi dapat dibedakan satu sama lain.

Kelelahan port SNAT terjadi ketika titik akhir sumber telah kehabisan port SNAT yang tersedia untuk membedakan antara koneksi baru. Ketika kelelahan port SNAT terjadi, koneksi gagal.

Mengatur skala SNAT untuk gateway NAT

Penskalaan gateway NAT terutama merupakan fungsi untuk mengelola inventaris port SNAT bersama yang tersedia.

Inventaris port SNAT disediakan oleh alamat IP publik, awalan IP publik, atau keduanya dilampirkan ke gateway NAT. Inventori port SNAT tersedia sesuai permintaan untuk semua instans dalam subnet yang dilampirkan ke gateway NAT. Ketika beban kerja instance privat pada subnet meningkat, gateway NAT mengalokasikan port SNAT sesuai kebutuhan.

Ketika beberapa subnet dalam jaringan virtual dilampirkan ke sumber daya gateway NAT yang sama, inventarisasi port SNAT yang disediakan oleh gateway NAT dibagikan di semua subnet.

Satu gateway NAT dapat menskalakan hingga 16 alamat IP. Setiap alamat IP publik gateway NAT menyediakan 64,512 port SNAT untuk membuat koneksi keluar jaringan. Gateway NAT dapat meningkatkan hingga lebih dari 1 juta port SNAT. TCP dan UDP adalah inventarit port SNAT terpisah dan tidak terkait dengan gateway NAT.

Gateway NAT secara dinamis mengalokasikan port SNAT

Gateway NAT secara dinamis mengalokasikan port SNAT di seluruh sumber daya privat subnet, seperti komputer virtual. Semua port SNAT yang tersedia digunakan sesuai permintaan oleh komputer virtual apa pun di subnet yang dikonfigurasi dengan gateway NAT.

Diagram alokasi port SNAT.

Gambar: Alokasi port SNAT

Pra-alokasi port SNAT ke setiap komputer virtual diperlukan untuk metode SNAT lainnya. Penjatahan sebelumnya port SNAT ini dapat menyebabkan kekurangan port SNAT pada beberapa mesin virtual sementara yang lain masih memiliki port SNAT yang tersedia untuk menghubungkan ke luar.

Dengan gateway NAT, praalokasi port SNAT tidak diperlukan, yang berarti port SNAT tidak dibiarkan tidak digunakan oleh komputer virtual yang tidak membutuhkannya secara aktif.

Setelah port SNAT dirilis, port tersedia untuk digunakan oleh komputer virtual apa pun dalam subnet yang dikonfigurasi dengan gateway NAT. Alokasi sesuai permintaan memungkinkan beban kerja dinamis dan berbeda pada subnet untuk menggunakan port SNAT sesuai kebutuhan. Selama port SNAT tersedia, alur SNAT berhasil.

Diagram kehabisan port SNAT.

Gambar: Kekurangan porta SNAT

Pemilihan dan penggunaan kembali port gateway NAT SNAT

Gateway NAT memilih port SNAT secara acak dari inventaris port yang tersedia untuk membuat koneksi keluar baru. Jika gateway NAT tidak menemukan port SNAT yang tersedia, maka menggunakan kembali port SNAT. Port SNAT yang sama dapat digunakan untuk menyambungkan ke beberapa tujuan yang berbeda secara bersamaan.

Port SNAT dapat digunakan kembali untuk menyambungkan ke titik akhir tujuan yang sama. Sebelum port digunakan kembali, gateway NAT menempatkan timer penggunaan kembali port SNAT untuk pendinginan pada port setelah koneksi ditutup.

Timer penggunaan kembali port SNAT membantu mencegah port dipilih terlalu cepat untuk menyambungkan ke tujuan yang sama. Proses ini sangat membantu ketika titik akhir tujuan memiliki firewall atau layanan lain yang dikonfigurasi yang menempatkan timer pendinginan pada port sumber. Timer penggunaan kembali port SNAT bervariasi berdasarkan bagaimana alur koneksi ditutup. Untuk mempelajari selengkapnya, lihat Timer Penggunaan Ulang Port.

Diagram penggunaan ulang port SNAT.

Gambar: Penggunaan kembali port SNAT

Contoh alur SNAT untuk gateway NAT

Banyak ke satu SNAT dengan gateway NAT

Gateway NAT menyediakan konfigurasi banyak ke satu di mana beberapa instans privat dalam subnet yang dikonfigurasi oleh gateway NAT dapat menggunakan alamat IP publik yang sama untuk terhubung ke luar.

Dalam tabel berikut, dua komputer virtual yang berbeda (10.0.0.1 dan 10.2.0.1) membuat koneksi ke https://microsoft.com IP tujuan 23.53.254.142. Saat gateway NAT dikonfigurasi dengan alamat IP publik 65.52.1.1, setiap IP sumber komputer virtual diterjemahkan ke dalam alamat IP publik gateway NAT dan port SNAT:

Aliran Tuple sumber Tuple sumber setelah SNAT Tuple tujuan
1 10.0.0.1:4283 65.52.1.1:1234 23.53.254.142:80
2 10.0.0.1:4284 65.52.1.1:1235 23.53.254.142:80
3 10.2.0.1:5768 65.52.1.1:1236 23.53.254.142:80

IP masquerading atau port masquerading adalah tindakan mengganti IP privat dan port dengan IP publik dan port sebelum terhubung ke internet. Beberapa sumber daya privat dapat disamarkan di balik IP publik yang sama dari gateway NAT.

Gateway NAT menggunakan kembali port SNAT untuk menyambungkan ke tujuan baru

Seperti disebutkan sebelumnya, gateway NAT dapat menggunakan kembali port SNAT yang sama untuk terhubung secara bersamaan ke titik akhir tujuan baru. Dalam tabel berikut, gateway NAT menerjemahkan alur 4 ke port SNAT yang sudah digunakan untuk tujuan lain (lihat alur 1 dari tabel sebelumnya).

Aliran Tuple sumber Tuple sumber setelah SNAT Tuple tujuan
4 10.0.0.1:4285 65.52.1.1:1234 26.108.254.155:80

Port SNAT dari gateway NAT didinginkan sebelum dapat digunakan kembali ke tujuan yang sama.

Dalam skenario di mana gateway NAT menggunakan kembali port SNAT untuk membuat koneksi baru ke titik akhir tujuan yang sama, port SNAT pertama kali ditempatkan dalam fase penggunaan kembali port SNAT untuk pendinginan. Periode penggunaan kembali port SNAT membantu memastikan bahwa port SNAT tidak digunakan kembali terlalu cepat saat menyambungkan ke tujuan yang sama. Penggunaan kembali port SNAT ini untuk pendinginan di gateway NAT bermanfaat dalam skenario di mana titik akhir tujuan memiliki firewall dengan timer port sumbernya sendiri untuk pendinginan di tempat.

Untuk menunjukkan perilaku pendinginan ulang penggunaan port SNAT, mari kita lihat lebih dekat alur ke-4 dari tabel sebelumnya. Alur 4 terhubung ke titik akhir tujuan yang dilapisi oleh firewall dengan timer penurunan suhu port sumber selama 20 detik.

Aliran Sumber tuple Tuple sumber setelah SNAT Tuple destinasi Koneksi tipe paket telah ditutup Timer firewall tujuan untuk pendinginan untuk port sumber
4 10.0.0.1:4285 65.52.1.1:1234 26.108.254.155:80 TCP FIN 20 detik

Alur koneksi 4 ditutup dengan paket TCP FIN. Karena koneksi ditutup dengan paket TCP FIN, gateway NAT menempatkan port SNAT 1234 dalam pendinginan selama 65 detik sebelum dapat digunakan kembali. Karena port 1234 dalam pendinginan lebih lama dari durasi timer pendinginan port sumber firewall 20 detik, alur koneksi 5 dilanjutkan dengan menggunakan kembali port SNAT 1234 tanpa masalah.

Aliran Tupel sumber Tuple sumber setelah SNAT Tuple tujuan
5 10.2.0.1:5769 65.52.1.1:1234 26.108.254.155:80

Perlu diingat bahwa gateway NAT menempatkan port SNAT di bawah port SNAT yang berbeda menggunakan kembali timer pendinginan tergantung pada bagaimana koneksi sebelumnya ditutup. Untuk informasi lebih lanjut tentang timer penggunaan ulang port SNAT, lihat Timer Penggunaan Ulang Port.

Jangan bergantung pada cara tertentu port sumber ditetapkan dalam contoh di atas. Sebelumnya adalah ilustrasi dari konsep dasar saja.