Gambaran besar: NAT itu apa sih?
Coba bayangkan kamu tinggal di sebuah kos-kosan. Ada 10 kamar, tapi alamat resmi yang tertulis di Google Maps cuma satu: “Jl. Merdeka No. 5”. Kalau kamu pesan GoFood, yang dilihat driver cuma alamat kos itu, bukan nomor kamarmu. Nah, ibu kos-lah yang “menerjemahkan” pesananmu ke luar dan meneruskan makanan yang datang ke kamar yang benar.
NAT (Network Address Translation) bekerja persis seperti ibu kos tadi. Router NAT menerjemahkan alamat IP private (alamat kamar) menjadi alamat IP public (alamat kos-kosan) setiap kali komputer client mau akses internet. Tanpa NAT, komputer-komputer di jaringan lokal tidak bisa internetan, karena IP private itu tidak dikenal di internet.
Kenapa NAT dibutuhkan? Karena alamat IP public jumlahnya terbatas. Dengan NAT, puluhan bahkan ratusan komputer bisa internetan pakai satu IP public saja. Hemat, kan?
Dua “jalur” NAT di MikroTik
Di MikroTik, NAT punya dua chain (jalur pemrosesan):
- srcnat (Source NAT) — mengubah alamat pengirim. Dipakai saat komputer lokal mau keluar ke internet. Ini yang paling sering kamu pakai.
- dstnat (Destination NAT) — mengubah alamat tujuan. Dipakai saat ada orang dari internet mau masuk ke server yang ada di jaringan lokal kamu (misalnya web server kantor). Ini sering disebut “port forwarding”.
Materi kali ini fokus ke srcnat dulu, karena ini yang pertama kali harus dikonfigurasi supaya client bisa internetan.
Masquerade vs Source NAT: bedanya apa?
Keduanya sama-sama srcnat (mengubah alamat pengirim). Bedanya:
Masquerade — router otomatis pakai IP berapa pun yang sedang aktif di interface WAN-nya. Kalau IP WAN berubah (misalnya dapat IP baru dari DHCP ISP), masquerade otomatis ikut berubah. Cocok untuk koneksi yang IP-nya dinamis (berubah-ubah), seperti di lab SMK kita yang dapat IP dari hotspot/WiFi via wlan1.
src-nat (Source NAT biasa) — kamu tentukan sendiri IP tertentu yang akan dipakai. Misalnya, kamu tahu IP public-mu 11.1.1.2 dan tidak akan berubah, maka kamu “hardcode” IP itu di rule NAT. Cocok untuk koneksi dengan IP statis (tetap).
Analogi gampangnya: masquerade itu seperti pakai nomor HP pinjaman yang bisa berubah-ubah tergantung siapa yang kasih. Sedangkan src-nat itu seperti pakai nomor HP sendiri yang tetap.
Skenario lab kita
Topologinya begini:
[Internet/ISP]
|
wlan1 (mode station, dapat IP DHCP dari ISP)
|
[ MikroTik RB951 ]
|
ether2 (192.168.1.0/24) — ke komputer siswa
Perhatikan: di lab SMK kita, internet masuk lewat wlan1 (bukan ether1). Ini beda dari kebanyakan buku teks yang pakai ether1 sebagai WAN. Jangan sampai salah pilih interface.
Langkah 1: Konfigurasi Masquerade
Ini konfigurasi paling umum yang akan kamu pakai sehari-hari di lab.
Lewat CLI (Terminal):
/ip firewall nat add chain=srcnat out-interface=wlan1 action=masquerade
Penjelasan tiap parameter:
chain=srcnat→ kita mau mengubah alamat pengirim (source)out-interface=wlan1→ paket yang keluar lewat interface mana? Jawab:wlan1, karena itu jalur ke internet di lab kitaaction=masquerade→ ganti IP pengirim secara otomatis pakai IP yang aktif diwlan1
Lewat WinBox:
- Buka menu IP > Firewall
- Klik tab NAT
- Klik tombol “+” (Add)
- Tab General: Chain = srcnat, Out. Interface = wlan1
- Tab Action: Action = masquerade
- Klik OK
Selesai. Cuma satu rule, dan semua komputer di jaringan lokal sudah bisa internetan (asalkan IP Address, gateway, dan DNS sudah benar).
Langkah 2: Konfigurasi Source NAT (IP statis)
Konfigurasi ini dipakai kalau kamu punya IP WAN yang tetap dan tidak pernah berubah. Misalnya ISP kasih IP statis 11.1.1.2.
Lewat CLI:
/ip firewall nat add chain=srcnat out-interface=ether1 action=src-nat to-addresses=11.1.1.2
Bedanya dengan masquerade:
action=src-nat(bukan masquerade)- Ada tambahan
to-addresses=11.1.1.2— kamu sebut sendiri IP public-nya out-interface=ether1— dalam skenario ini, koneksi statis biasanya lewat kabel ethernet, bukan WiFi
Lewat WinBox:
- IP > Firewall > NAT > “+”
- Tab General: Chain = srcnat, Out. Interface = ether1
- Tab Action: Action = src-nat, To Addresses = 11.1.1.2
- Klik OK
Langkah 3: Verifikasi NAT
Setelah buat rule, cek dulu apakah rule-nya sudah masuk:
/ip firewall nat print
Output-nya kira-kira begini:
Flags: X - disabled, I - invalid, D - dynamic
0 chain=srcnat action=masquerade out-interface=wlan1
Yang perlu kamu perhatikan:
- Tidak ada flag “X” (disabled) atau “I” (invalid) di depan nomor rule
- Chain = srcnat (bukan dstnat)
- Out-interface sesuai interface WAN kamu
- Kolom Bytes dan Packets — kalau nilainya naik terus, berarti ada traffic yang melewati rule ini, artinya NAT bekerja
Langkah 4: Tes dari PC client
- Buka Command Prompt di PC client
- Ketik:
ping 8.8.8.8atauping www.google.com - Kalau dapat reply, NAT sudah jalan
Mau lebih yakin? Pakai Torch di WinBox:
- Buka menu Tools > Torch
- Pilih interface
wlan1(interface WAN) - Klik Start
- Perhatikan kolom Src. Address — yang muncul seharusnya bukan 192.168.1.x (IP private client), tapi IP WAN yang didapat dari ISP
Kalau yang keluar masih 192.168.1.x, berarti NAT belum bekerja.
Langkah 5: Eksperimen “matikan NAT”
Ini eksperimen sederhana tapi sangat membantu pemahaman.
- Nonaktifkan rule NAT:
/ip firewall nat disable 0
(angka 0 = nomor urut rule NAT pertama)
- Coba ping dari PC client ke internet → hasilnya: gagal (Request Timed Out)
- Coba ping dari PC client ke gateway router (misalnya 192.168.1.1) → hasilnya: berhasil
Kenapa? Karena tanpa NAT, paket dari client memang bisa sampai ke router, tapi router tidak menerjemahkan IP private-nya. Server di internet menerima paket dengan alamat pengirim 192.168.1.x, dan server itu tidak tahu harus kirim balasan ke mana (IP private tidak dikenal di internet). Jadi paket balasannya hilang.
- Aktifkan kembali:
/ip firewall nat enable 0
Jebakan umum yang sering terjadi
“Sudah setting NAT tapi tetap tidak bisa internetan”
Cek hal-hal ini secara berurutan:
- Out-interface salah → Di lab kita, WAN-nya
wlan1, bukanether1. Ini kesalahan paling sering. Banyak siswa copy-paste perintah dari buku yang pakaiether1, padahal di lab kita beda. - Router sendiri belum bisa internet → Sebelum NAT bisa bekerja, router harus sudah punya koneksi internet (IP Address di wlan1, default route, dan DNS sudah benar). Coba
ping 8.8.8.8dari terminal router dulu. - DNS belum dikonfigurasi di client → Client perlu tahu DNS server. Bisa pakai DNS ISP atau DNS Google (8.8.8.8). Kalau ping ke IP berhasil tapi ping ke nama domain gagal, masalahnya di DNS, bukan NAT.
- Rule NAT disabled atau invalid → Cek lagi
/ip firewall nat print, pastikan tidak ada flag X atau I.
“Pakai src-nat tapi IP WAN berubah”
Kalau kamu pakai action src-nat dengan to-addresses tertentu, lalu IP WAN-mu berubah (misalnya karena DHCP renew), maka NAT langsung berhenti bekerja. IP yang kamu tulis di to-addresses sudah tidak cocok lagi. Solusinya: pakai masquerade kalau IP WAN-mu dinamis.
“Rule NAT ada tapi Bytes/Packets tetap 0”
Kemungkinan traffic tidak melewati rule itu. Cek: apakah out-interface sudah benar? Apakah ada rule NAT lain di atasnya yang lebih dulu menangkap traffic? Ingat, rule firewall dan NAT di MikroTik diproses dari atas ke bawah. Rule yang cocok duluan akan dipakai.
Rangkuman cepat
| Masquerade | Source NAT | |
|---|---|---|
| IP WAN | Dinamis (berubah-ubah) | Statis (tetap) |
| Parameter tambahan | Tidak perlu | Perlu to-addresses |
| Kapan pakai? | Lab SMK (WiFi/DHCP) | Kantor/ISP (IP tetap) |
| Otomatis ikut perubahan IP? | Ya | Tidak |
Kuis pemahaman
- Di lab SMK kita, internet masuk lewat
wlan1mode station. Kalau kamu menulis rule NAT denganout-interface=ether1, apa yang akan terjadi dan kenapa? - Rina sudah membuat rule masquerade, tapi kolom Bytes di NAT print tetap menunjukkan angka 0. Sebutkan minimal 2 kemungkinan penyebabnya.
- Pak Deni punya koneksi ISP dengan IP statis 103.25.10.5 di
ether1. Tuliskan perintah CLI lengkap untuk membuat rule Source NAT (bukan masquerade) yang benar untuk skenario ini.