Generator Port Forwarding (DST-NAT) dan Hairpin NAT MikroTik
Buka port server/NVR ke internet publik (DST-NAT) dan cegah koneksi loopback timeout dari dalam jaringan kantor menggunakan Hairpin NAT.
Parameter Input
Hasil Perhitungan
- wanIface
- ether1-ISP
- pubIp
- 203.142.77.10
- extPort
- 8000
- intIp
- 192.168.88.250
- intPort
- 8000
- proto
- tcp
- lanCidr
- 192.168.88.0/24
- desc
- NVR-CCTV-Server
- enableHairpin
- true
- enableFilterRule
- true
- dstNatRule
- add action=dst-nat chain=dstnat dst-address=203.142.77.10 dst-port=8000 protocol=tcp to-addresses=192.168.88.250 to-ports=8000 comment="Port Forward NVR-CCTV-Server (TCP 8000 -> 192.168.88.250:8000)"
- hairpinNatRule
- add action=masquerade chain=srcnat dst-address=192.168.88.250 dst-port=8000 out-interface-list=all protocol=tcp src-address=192.168.88.0/24 comment="Hairpin NAT Loopback NVR-CCTV-Server (TCP)"
- filterAcceptRule
- add action=accept chain=forward connection-nat-state=dstnat dst-address=192.168.88.250 dst-port=8000 protocol=tcp comment="Allow Forwarded Port NVR-CCTV-Server (TCP)"
# ===================================================================== # InfraCalc.id - Port Forwarding (DST-NAT) + Hairpin NAT (NVR-CCTV-Server) # Target: 203.142.77.10:8000 -> 192.168.88.250:8000 [TCP] # ===================================================================== /ip firewall nat # 1. DST-NAT: Arahkan trafik dari IP Publik / WAN ke IP Server Lokal add action=dst-nat chain=dstnat dst-address=203.142.77.10 dst-port=8000 protocol=tcp to-addresses=192.168.88.250 to-ports=8000 comment="Port Forward NVR-CCTV-Server (TCP 8000 -> 192.168.88.250:8000)" # 2. HAIRPIN NAT: Agar saat staf di jaringan lokal (192.168.88.0/24) mengakses IP Publik/Domain, tidak mental/timeout add action=masquerade chain=srcnat dst-address=192.168.88.250 dst-port=8000 out-interface-list=all protocol=tcp src-address=192.168.88.0/24 comment="Hairpin NAT Loopback NVR-CCTV-Server (TCP)" # 3. FIREWALL FILTER: Izinkan trafik forward hasil DST-NAT melewati firewall /ip firewall filter add action=accept chain=forward connection-nat-state=dstnat dst-address=192.168.88.250 dst-port=8000 protocol=tcp comment="Allow Forwarded Port NVR-CCTV-Server (TCP)"
Cara Menggunakan Alat Ini
- Masukkan alamat IP publik (atau pilih antarmuka WAN), port eksternal yang diakses publik, dan alamat IP serta port server/NVR lokal.
- Pilih protokol transport (TCP, UDP, atau Keduanya), masukkan subnet LAN lokal (misalnya 192.168.88.0/24), dan beri nama deskripsi layanan.
- Tinjau aturan DST-NAT, Hairpin NAT loopback, dan filter firewall yang dihasilkan, lalu salin script ke terminal MikroTik RouterOS v7.
Contoh Perhitungan Nyata: Kamera NVR CCTV Port 8000
Contoh terhitung: Meneruskan port eksternal 8000 (TCP) pada IP publik 203.142.77.10 ke server lokal 192.168.88.250:8000 (NVR-CCTV-Server) lengkap dengan aturan Hairpin NAT untuk subnet LAN 192.168.88.0/24.
{
"desc": "NVR-CCTV-Server",
"pubIp": "203.142.77.10",
"extPort": "8000",
"intIp": "192.168.88.250",
"intPort": "8000",
"proto": "tcp",
"lanCidr": "192.168.88.0/24",
"wanIface": "ether1-ISP"
}- wanIface:
- ether1-ISP
- pubIp:
- 203.142.77.10
- extPort:
- 8000
- intIp:
- 192.168.88.250
- intPort:
- 8000
- proto:
- tcp
- lanCidr:
- 192.168.88.0/24
- desc:
- NVR-CCTV-Server
- enableHairpin:
- true
- enableFilterRule:
- true
- dstNatRule:
- add action=dst-nat chain=dstnat dst-address=203.142.77.10 dst-port=8000 protocol=tcp to-addresses=192.168.88.250 to-ports=8000 comment="Port Forward NVR-CCTV-Server (TCP 8000 -> 192.168.88.250:8000)"
- hairpinNatRule:
- add action=masquerade chain=srcnat dst-address=192.168.88.250 dst-port=8000 out-interface-list=all protocol=tcp src-address=192.168.88.0/24 comment="Hairpin NAT Loopback NVR-CCTV-Server (TCP)"
- filterAcceptRule:
- add action=accept chain=forward connection-nat-state=dstnat dst-address=192.168.88.250 dst-port=8000 protocol=tcp comment="Allow Forwarded Port NVR-CCTV-Server (TCP)"
Konsep Dasar & Catatan Teknis
Cara Perhitungan (Rumus & Langkah)
Rumus Matematika
- DST-NAT: chain=dstnat dst-address=IP_Publik dst-port=Port_Eksternal action=dst-nat to-addresses=IP_Lokal to-ports=Port_Internal
- Hairpin NAT: chain=srcnat src-address=Subnet_LAN dst-address=IP_Lokal dst-port=Port_Internal action=masquerade
- Filter Forward Accept: chain=forward connection-nat-state=dstnat dst-address=IP_Lokal dst-port=Port_Internal action=accept
Langkah Substitusi
- Destination NAT (DST-NAT): Forward incoming TCP port 8000 at 203.142.77.10 to internal host 192.168.88.250:8000
- Hairpin NAT: Masquerade source address from LAN 192.168.88.0/24 accessing 192.168.88.250 so replies return through the router instead of direct ARP
- Firewall Filter: Forward accept rule allows state=dstnat packets to reach 192.168.88.250:8000
Pertanyaan yang Sering Diajukan (FAQ)
Mengapa kamera CCTV atau server web saya bisa diakses dari internet tetapi time out saat dibuka dari Wi-Fi kantor?
Hal ini merupakan gejala klasik ketiadaan Hairpin NAT. Perangkat di dalam LAN mencoba mengakses IP publik kantor; server merespons langsung lewat switch tanpa melewati router, sehingga klien menolak jawaban tersebut karena IP pengirimnya tidak sesuai.
Apakah saya harus memasukkan IP Publik jika router menggunakan IP Dinamis atau PPPoE?
Jika IP publik Anda dinamis, Anda dapat mengganti pencocokan `dst-address` dengan parameter `in-interface=ether1-ISP` atau `in-interface=pppoe-out1` pada rule DST-NAT di RouterOS.
Bolehkah port eksternal berbeda dengan port internal?
Bisa. Anda dapat mengatur port eksternal 8080 (agar tidak bentrok dengan port standar) dan mengarahkannya ke port internal 80 pada web server lokal.
Apakah port forwarding aman dari serangan peretasan?
Port yang terbuka ke internet dapat dipindai oleh bot otomatis. Sangat disarankan mengganti port default (misalnya port RDP 3389 diubah ke port acak tinggi), memasang password yang kuat, atau menggunakan VPN (seperti WireGuard) daripada mengekspos layanan kritis langsung ke internet.
Alat Kalkulator Terkait
Generator script penyeimbang beban Multi-WAN (2–5 ISP) PCC proporsional dan failover bertingkat rekursif di RouterOS v7.
Hitung Limit-At (CIR), Max-Limit (MIR), Burst, PCQ, dan FQ-CoDel RouterOS v7 lengkap dengan generator script konfigurasi otomatis.
Hitung alamat network, broadcast, rentang host usable, netmask, wildcard, biner mask, dan tipe alamat IPv4 (RFC 1918, RFC 3021 /31, CGNAT).
Referensi Standar & Catatan
- MikroTik Documentation — Destination NAT (Port Forwarding)
- MikroTik Documentation — Hairpin NAT (NAT Loopback / Reflection)
Catatan: Hasil di atas merupakan estimasi berdasarkan rumus standar. Selalu verifikasi dengan dokumentasi resmi vendor dan kondisi lapangan sebelum implementasi pada lingkungan produksi.