Pertemuan 11: Network Address Translation (NAT) Theory
1. Pendahuluan: Masalah Keterbatasan Alamat IPv4
Latar Belakang Perlunya NAT
- IPv4 Exhaustion: Hanya ~4.3 miliar alamat IPv4 tersedia di dunia
- Growth Internet Eksponensial: Lebih banyak device butuh koneksi internet
- Cost Public IP: Mahal dan terbatas untuk enterprise
- Security Concerns: Perlindungan jaringan internal
Analogi NAT
NAT seperti resepsionis di perusahaan besar:
- Penelepon dari luar (internet) hanya tahu nomor utama perusahaan (public IP)
- Resepsionis (NAT) meneruskan panggilan ke ekstensi yang tepat (private IP)
- Penelepon tidak perlu tahu nomor langsung setiap karyawan (private IP)
Solusi: NAT
NAT memungkinkan banyak device berbagai sedikit public IP addresses, mengatasi keterbatasan IPv4 dan meningkatkan keamanan.
2. Konsep Dasar NAT
Definisi NAT
Network Address Translation (NAT) adalah teknik untuk memetakan alamat IP private ke alamat IP public (atau sebaliknya) pada boundary antara jaringan internal dan internet.
Terminology NAT yang Wajib Dipahami
| Terminologi | Definisi | Contoh |
|---|---|---|
| Inside Local | Alamat IP private di jaringan internal | 192.168.1.100 |
| Inside Global | Alamat IP public yang mewakili device internal | 203.0.113.50 |
| Outside Local | Alamat IP seperti yang muncul di jaringan internal | 93.184.216.34 |
| Outside Global | Alamat IP public sebenarnya di internet | 93.184.216.34 |
NAT Operation Flow
Contoh NAT Flow:
[PC: 192.168.1.100] → [NAT Router] → [Internet Server: 93.184.216.34]
(Inside Local) (Translation) (Outside Global)
↓ ↓ ↓
Source: 192.168.1.100 → Source: 203.0.113.50 → Source: 203.0.113.50
Dest: 93.184.216.34 → Dest: 93.184.216.34 → Dest: 93.184.216.34
3. Jenis-Jenis NAT dan Karakteristiknya
A. Static NAT (One-to-One Mapping)
Konsep Static NAT
Satu alamat private dipetakan ke satu alamat public secara permanent. Biasanya digunakan untuk server yang perlu diakses dari internet.
Konfigurasi Static NAT:
! Define static NAT mapping
ip nat inside source static 192.168.1.10 203.0.113.10
ip nat inside source static 192.168.1.11 203.0.113.11
! Configure interfaces
interface GigabitEthernet0/0
ip nat inside
interface GigabitEthernet0/1
ip nat outside
| Aspect | Kelebihan | Kekurangan |
|---|---|---|
| Predictability | Mapping predictable dan konsisten | Boros public IP addresses |
| Management | Mudah dikelola untuk sedikit mapping | Management overhead untuk banyak mapping |
| Application | Cocok untuk server hosting | Tidak efisien untuk user internet access |
B. Dynamic NAT (Pool-based Mapping)
Konsep Dynamic NAT
Pool alamat public dibagikan ke device internal secara dinamis berdasarkan first-come first-served basis.
Konfigurasi Dynamic NAT:
! Define NAT pool
ip nat pool MY-POOL 203.0.113.10 203.0.113.50 netmask 255.255.255.0
! Define access list for devices allowed to use NAT
access-list 1 permit 192.168.1.0 0.0.0.255
! Apply NAT configuration
ip nat inside source list 1 pool MY-POOL
| Aspect | Kelebihan | Kekurangan |
|---|---|---|
| Efficiency | Lebih efisien daripada Static NAT | Butuh cukup public IP dalam pool |
| Mapping | Masih mempertahankan one-to-one mapping | Bisa kehabisan IP jika banyak concurrent users |
| Application | Cocok untuk kantor dengan banyak user | Kurang efisien untuk jaringan sangat besar |
C. PAT (Port Address Translation) / NAT Overload
Konsep PAT
Banyak alamat private berbagai satu alamat public menggunakan port numbers yang berbeda. Ini adalah jenis NAT yang paling umum digunakan.
Konfigurasi PAT:
! Using interface IP for PAT (Most Common)
ip nat inside source list 1 interface GigabitEthernet0/1 overload
! Or using specific IP address
ip nat pool SINGLE-IP 203.0.113.10 203.0.113.10 netmask 255.255.255.0
ip nat inside source list 1 pool SINGLE-IP overload
! Access list definition
access-list 1 permit 192.168.1.0 0.0.0.255
| Aspect | Kelebihan | Kekurangan |
|---|---|---|
| Efficiency | Sangat efisien (ribuan users dengan satu IP) | Beberapa aplikasi sensitive to IP changes |
| Management | Mudah dikonfigurasi dan manage | Complex debugging karena banyak session |
| Application | Ideal untuk home networks dan small offices | Limited untuk aplikasi yang butuh inbound connection |
4. NAT Translation Table: Jantung Operasi NAT
Struktur NAT Table
| Protocol | Inside Local | Inside Global | Outside Global | Outside Local |
|---|---|---|---|---|
| TCP | 192.168.1.100:5432 | 203.0.113.10:12345 | 93.184.216.34:80 | 93.184.216.34:80 |
| UDP | 192.168.1.101:3210 | 203.0.113.10:54321 | 8.8.8.8:53 | 8.8.8.8:53 |
| ICMP | 192.168.1.102 | 203.0.113.10 | 8.8.4.4 | - |
Proses NAT Operation
- Router menerima packet dari inside network
- Mencatat mapping dalam NAT table
- Mengganti source IP/port dengan global IP/port
- Router menerima packet dari outside network
- Mencari matching entry dalam NAT table
- Mengganti destination IP/port dengan local IP/port
- Entry dibuat untuk setiap new session
- Timer mengatur lifetime setiap entry
- Entry dihapus setelah timeout atau session termination
NAT Timeout Values
- TCP Session: 24 jam (default)
- UDP Session: 5 menit (default)
- ICMP Session: 1 menit (default)
- DNS Timeout: 1 menit
5. Advanced NAT Concepts
A. Port Forwarding (Static PAT)
Konsep Port Forwarding
Meneruskan traffic pada port tertentu ke server internal yang spesifik. Essential untuk hosting services behind NAT.
Konfigurasi Port Forwarding:
! Forward HTTP traffic to web server
ip nat inside source static tcp 192.168.1.10 80 203.0.113.10 80
! Forward SSH traffic to specific server
ip nat inside source static tcp 192.168.1.20 22 203.0.113.10 2222
! Forward multiple ports for same server
ip nat inside source static tcp 192.168.1.10 443 203.0.113.10 443
B. Policy-Based NAT
Konsep Policy-Based NAT
NAT berdasarkan policy tertentu seperti source/destination IP, protocol, atau port number.
Konfigurasi Policy-Based NAT:
! NAT hanya untuk traffic ke Google DNS
access-list 100 permit ip 192.168.1.0 0.0.0.255 host 8.8.8.8
ip nat inside source list 100 interface GigabitEthernet0/1 overload
! NAT dengan exclusion untuk specific subnet
access-list 101 deny ip 192.168.1.50 0.0.0.0 any
access-list 101 permit ip 192.168.1.0 0.0.0.255 any
ip nat inside source list 101 pool INTERNET-POOL overload
C. NAT Virtual Interface (NVI)
Konsep NVI
NAT tanpa perlu mendefinisikan inside/outside interfaces secara eksplisit. Lebih fleksibel untuk complex network designs.
Konfigurasi NAT Virtual Interface:
! Enable NAT on interfaces
interface GigabitEthernet0/0
ip nat enable
interface GigabitEthernet0/1
ip nat enable
! Configure NAT rules
ip nat source list 1 interface GigabitEthernet0/1 overload
6. Keuntungan dan Tantangan NAT
A. Keuntungan NAT
| Keuntungan | Deskripsi | Impact |
|---|---|---|
| IPv4 Conservation | Menghemat public IP addresses | Mengatasi IPv4 exhaustion |
| Security | Device internal tidak langsung terpapar internet | Meningkatkan keamanan jaringan |
| Network Flexibility | Mudah mengubah ISP tanpa renumbering | Simplifikasi network management |
| Load Sharing | Distribusi traffic ke multiple servers | Meningkatkan availability |
B. Tantangan dan Limitations NAT
Masalah dan Solusi NAT
| Tantangan | Deskripsi | Solusi |
|---|---|---|
| Performance Impact | Processing overhead pada router | Hardware acceleration, proper sizing |
| Application Compatibility | Beberapa protocol butuh NAT traversal | ALG (Application Layer Gateway) |
| Troubleshooting Complexity | Sulit melacak connection melalui NAT | Proper logging, monitoring tools |
| End-to-End Connectivity | Membatasi peer-to-peer applications | IPv6, NAT traversal techniques |
7. NAT untuk IPv6 Transition
A. NAT64/DNS64
Konsep NAT64
Teknologi yang memungkinkan IPv6-only clients mengakses IPv4 resources melalui translation mechanism.
B. Dual-Stack Implementation
Konsep Dual-Stack
Device memiliki kedua stack (IPv4 dan IPv6) secara bersamaan, memungkinkan komunikasi dengan kedua protocol tanpa NAT.
Konfigurasi Dual-Stack Interface:
interface GigabitEthernet0/0
ip address 192.168.1.1 255.255.255.0
ipv6 address 2001:db8:1::1/64
ipv6 enable
| Approach | Kelebihan | Kekurangan |
|---|---|---|
| NAT64 | Solusi transition yang smooth | Complex configuration |
| Dual-Stack | Native support untuk kedua protocol | Higher resource requirements |
| Tunneling | Connectivity melalui IPv4 infrastructure | Performance overhead |
8. Studi Kasus: Enterprise NAT Design
Scenario Perusahaan dengan 3 Segmen Jaringan
Network Requirements:
- DMZ: Web server, mail server (butuh akses dari internet)
- Employee LAN: 200 users butuh internet access
- Guest WiFi: Public internet access terisolasi
- Management: Separate network untuk network devices
Enterprise NAT Design:
! Static NAT untuk DMZ servers
ip nat inside source static 10.1.10.10 203.0.113.10 ! Web Server
ip nat inside source static 10.1.10.20 203.0.113.20 ! Mail Server
! PAT untuk employee LAN
ip nat inside source list EMPLOYEES interface GigabitEthernet0/1 overload
access-list EMPLOYEES permit 10.1.20.0 0.0.0.255
! PAT untuk guest WiFi dengan IP berbeda
ip nat inside source list GUEST pool GUEST-POOL overload
access-list GUEST permit 10.1.30.0 0.0.0.255
ip nat pool GUEST-POOL 203.0.113.30 203.0.113.30 netmask 255.255.255.0
! No NAT untuk management network (direct access)
access-list NO-NAT deny 10.1.40.0 0.0.0.255
access-list NO-NAT permit any
Security Considerations
Best Practices Security NAT
- Gunakan separate public IP pools untuk different security zones
- Implementasi proper ACL untuk control inbound traffic
- Monitor NAT translations untuk suspicious activities
- Gunakan NAT dalam kombinasi dengan firewall rules
9. Troubleshooting NAT Issues
Common NAT Problems dan Solusi
| Problem | Symptoms | Solution |
|---|---|---|
| No Translation | Users cannot access internet | Cek ACL, interface designation, routing |
| Intermittent Connectivity | Connection drops randomly | Cek NAT table limits, timeouts, memory |
| Application Issues | Specific apps don't work | Cek是否需要 NAT traversal, ALG configuration |
| Performance Degradation | Slow internet access | Monitor CPU usage, optimize NAT rules |
Useful Troubleshooting Commands
Cisco NAT Troubleshooting Commands:
! View active NAT translations
show ip nat translations
! View NAT statistics
show ip nat statistics
! Clear NAT translations
clear ip nat translation *
! Debug NAT operations
debug ip nat
! Show NAT configuration
show running-config | include nat
Troubleshooting Methodology
- Verifikasi NAT configuration dengan
show running-config - Cek active translations dengan
show ip nat translations - Monitor statistics dengan
show ip nat statistics - Gunakan debug untuk real-time analysis
- Test dengan different protocols dan applications
10. Kaitannya dengan Dunia Kerja Lulusan D3
Skill yang Dibutuhkan di Industri
| Skill | Deskripsi | Relevansi |
|---|---|---|
| NAT Design | Merancang skema NAT untuk berbagai kebutuhan bisnis | High - Essential untuk semua jaringan |
| Configuration | Konfigurasi dan troubleshooting NAT pada routers | High - Daily operation task |
| Security Implementation | Implementasi NAT dengan security best practices | High - Critical untuk network security |
| IPv6 Transition | Pemahaman NAT dalam konteks IPv6 migration | Medium - Growing importance |
Real-World Applications
Scenario Pekerjaan Nyata:
- Internet Access Design: Merancang NAT untuk kantor cabang
- Server Hosting: Konfigurasi port forwarding untuk web servers
- Network Segmentation: Menggunakan NAT untuk security isolation
- ISP Services: Implementasi CGNAT untuk residential customers
Tips Interview untuk Lulusan D3
Pertanyaan Interview Umum:
- "Jelaskan perbedaan antara Static NAT, Dynamic NAT, dan PAT"
- "Bagaimana cara troubleshoot ketika users tidak bisa access internet melalui NAT?"
- "Kapan sebaiknya menggunakan port forwarding vs static NAT?"
- "Apa keuntungan dan kerugian menggunakan NAT dalam jaringan?"
11. Latihan dan Evaluasi
Latihan Analisis Diagram
Scenario Jaringan:
[PC1: 192.168.1.10] --- [NAT Router] --- [Internet]
[PC2: 192.168.1.11] Inside: 192.168.1.1
Outside: 203.0.113.1
NAT Type: PAT dengan overload
Pertanyaan Latihan:
- Jika PC1 membuka koneksi ke web server 93.184.216.34:80, bagaimana NAT table-nya?
- Bagaimana jika PC2 membuka koneksi ke server yang sama secara bersamaan?
- Apa yang terjadi jika kita menggunakan static NAT vs PAT dalam scenario ini?
- Bagaimana konfigurasi untuk memungkinkan akses inbound ke web server di PC1?
Hands-On Configuration Exercise
Tugas Konfigurasi:
! Buat konfigurasi NAT untuk scenario berikut:
- Network: 192.168.100.0/24
- Public IP: 203.0.113.25
- Requirements:
* Web server di 192.168.100.10 accessible dari internet
* All users bisa access internet via PAT
* Guest network 192.168.200.0/24 isolated dengan IP berbeda
! Your configuration here: