NAT (Network Address Translation)
Definisi
NAT (Network Address Translation) adalah mekanisme yang memungkinkan satu atau lebih alamat IP privat (RFC 1918) dipetakan ke satu atau lebih alamat IP publik sebelum data dikirim ke jaringan eksternal (internet). NAT beroperasi pada perangkat edge seperti router, firewall, atau gateway, dan memodifikasi alamat sumber dan/atau tujuan pada header paket IP.
Mengapa NAT Diperlukan?
Ketersediaan alamat IPv4 publik terbatas - hanya sekitar 4,3 miliar
alamat yang secara teoritis dapat dialokasikan. Dengan pertumbuhan
perangkat yang terhubung ke internet, alokasi tersebut tidak
mencukupi. NAT memecahkan masalah ini dengan mengizinkan ribuan
perangkat di jaringan lokal menggunakan alamat IP privat (seperti
10.0.0.0/8, 172.16.0.0/12, atau
192.168.0.0/16) dan hanya membutuhkan satu atau
beberapa alamat IP publik untuk berkomunikasi ke internet.
Jenis-jenis NAT
1. Static NAT
Setiap alamat IP privat dipetakan secara satu-ke-satu dengan alamat IP publik. Pemetaan bersifat tetap dan manual.
Contoh:
Inside Local: 192.168.1.10 → Inside Global: 203.0.113.10
Penggunaan: Server yang harus dapat diakses dari luar (misalnya web server, mail server).
2. Dynamic NAT
Satu pool alamat IP publik digunakan bersama oleh beberapa alamat privat secara dinamis. Ketika alamat publik habis, perangkat baru tidak dapat mengakses internet hingga salah satu alamat publik dilepaskan.
Contoh:
Pool publik: 203.0.113.20 - 203.0.113.25
Host 192.168.1.10 → 203.0.113.20
Host 192.168.1.11 → 203.0.113.21
3. PAT (Port Address Translation) / NAT Overload
Variasi NAT yang paling umum digunakan. Banyak alamat privat dipetakan ke satu alamat publik dengan membedakan koneksi melalui nomor port TCP/UDP. Setiap sesi direkam dalam NAT translation table sehingga router dapat mengembalikan paket ke perangkat yang tepat.
Contoh:
Host A: 192.168.1.10:56789 → 203.0.113.1:10001
Host B: 192.168.1.11:34567 → 203.0.113.1:10002
Keduanya tampak berasal dari satu IP publik 203.0.113.1
tetapi dengan port sumber berbeda.
4. Port Forwarding
Variasi static NAT yang memforward paket dari IP publik:port tertentu ke IP privat:port tertentu. Digunakan untuk mengizinkan akses dari luar ke layanan di dalam jaringan privat.
Contoh:
203.0.113.1:80 → 192.168.1.10:80 (Web server)
203.0.113.1:22 → 192.168.1.20:22 (SSH server)
Cara Kerja NAT
Proses NAT melibatkan modifikasi header IP dan (untuk PAT) header TCP/UDP:
- Perangkat di LAN mengirim paket ke internet - alamat sumber adalah IP privat.
- Router NAT mengganti alamat sumber privat dengan alamat publik dan mencatat pemetaan di tabel NAT.
- Paket dikirim ke tujuan dengan alamat sumber publik.
- Paket respons kembali ke router - alamat tujuan adalah IP publik.
- Router melihat tabel NAT, mengganti alamat tujuan publik kembali ke IP privat asli.
- Paket diteruskan ke perangkat asal di LAN.
Kelebihan NAT
- Menghemat alamat IP publik - ribuan perangkat dapat berbagi satu atau beberapa IP publik.
- Keamanan dasar - perangkat di LAN tidak secara langsung terekspos ke internet (firewall-like behavior).
- Fleksibilitas - perubahan ISP tidak memerlukan rekonfigurasi seluruh perangkat di LAN.
- Load balancing - dapat mendistribusikan koneksi masuk ke beberapa server internal.
Kekurangan NAT
- Memecah model end-to-end - protokol yang membawa IP di dalam payload (misalnya IPsec, SIP, FTP Active) memerlukan ALG (Application Layer Gateway) agar berfungsi.
- Overhead - setiap paket harus melalui proses translasi yang menambah latensi.
- Troubleshooting kompleks - sulit melacak koneksi karena alamat sumber berubah.
- IPv6 tidak memerlukan NAT - IPv6 memiliki alamat yang cukup sehingga NAT tidak diperlukan, namun tetap digunakan di beberapa organisasi untuk kontrol akses.
Ringkasan
NAT adalah solusi transisi yang memungkinkan IPv4 tetap bertahan di era keterbatasan alamat publik. Pemahaman tentang static NAT, PAT, dan port forwarding sangat penting dalam konfigurasi jaringan nyata, terutama untuk akses internet dan publikasi layanan internal ke publik.