Perbedaan antara SNAT dan Masquerade

Saya bingung apa sebenarnya perbedaan antara SNAT dan Masquerade?

Jika saya ingin berbagi koneksi internet di jaringan lokal, apakah saya harus memilih SNAT atau Masquerade?

Larutan

Target SNAT mengharuskan Anda untuk memberikan alamat IP untuk diterapkan pada semua paket keluar. Target MASQUERADE memungkinkan Anda untuk memberikan sebuah interface, dan alamat apa pun yang ada pada interface tersebut adalah alamat yang diterapkan pada semua paket keluar. Sebagai tambahan, dengan SNAT, pelacakan koneksi kernel melacak semua koneksi ketika interface diturunkan dan dinaikkan kembali; hal yang sama tidak berlaku untuk target MASQUERADE.

Dokumen yang bagus termasuk HOWTO di situs Netfilter dan man page iptables.

Komentar (3)

Pada dasarnya SNAT dan MASQUERADE melakukan hal yang sama dengan NAT sumber dalam tabel nat dalam rantai POSTROUTING.

Perbedaan

  • MASQUERADE tidak memerlukan --to-source karena dibuat untuk bekerja dengan IP yang ditetapkan secara dinamis

  • SNAT hanya bekerja dengan IP statis, itu sebabnya ia memiliki --to-source

  • MASQUERADE memiliki overhead ekstra dan lebih lambat dari SNAT karena setiap kali target MASQUERADE terkena sebuah paket, ia harus memeriksa alamat IP yang akan digunakan.

CATATAN: Kasus penggunaan umum untuk MASQUERADE: AWS EC2 instance dalam VPC, ia memiliki IP pribadi dalam CIDR VPC (mis. 10.10.1.0/24) - 10.10.1.100 misalnya, ia juga memiliki IP publik sehingga dapat berkomunikasi dengan Internet (asumsikan ia berada di subnet publik) yang melaluinya IP privat 1:1 NAT. IP publik dapat berubah setelah instance reboot (jika BUKAN EIP), MASQUERADE adalah pilihan yang lebih baik dalam kasus ini.

Penting: Masih memungkinkan untuk menggunakan target MASQUERADE dengan IP statis, namun perlu diperhatikan adanya overhead tambahan.

Referensi

Komentar (0)