Langsung ke konten
Mikrotik

Cheat Sheet Firewall: iptables vs nftables vs MikroTik — Perbandingan Rule Dasar Lengkap

Oktober 7, 2026 · 13 menit baca · Walid Umar

Firewall merupakan salah satu komponen penting dalam infrastruktur jaringan. Baik pada server Linux maupun router, firewall digunakan untuk mengontrol trafik berdasarkan alamat IP, port, protokol, interface, connection state, hingga tujuan trafik.

Masalahnya, setiap platform memiliki sintaks dan konsep konfigurasi yang berbeda.

Administrator Linux mungkin terbiasa dengan:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Sementara pada sistem Linux modern, administrator dapat menggunakan:

nft add rule inet filter input tcp dport 22 accept

Di MikroTik, konsepnya berbeda lagi:

/ip firewall filter
add chain=input protocol=tcp dst-port=22 action=accept

Tujuannya sama: mengizinkan trafik TCP menuju port tertentu.

Namun cara berpikir, struktur rule, chain, table, NAT, dan mekanisme pemrosesannya tidak sepenuhnya identik.

Karena itu, memahami konsep firewall lebih penting daripada sekadar menghafalkan sintaks.

Artikel ini membahas tiga pendekatan firewall yang sangat umum dijumpai administrator jaringan:

  • iptables
  • nftables
  • MikroTik RouterOS Firewall

Selain perbandingan teori, artikel ini juga menyediakan contoh rule dasar yang dapat dijadikan cheat sheet saat melakukan konfigurasi atau troubleshooting.

Catatan: contoh rule dalam artikel ini ditujukan sebagai referensi pembelajaran. Selalu sesuaikan interface, subnet, IP address, port, dan kebijakan keamanan dengan lingkungan sebenarnya sebelum diterapkan pada production.


Memahami Konsep Dasar Firewall

Sebelum membandingkan sintaks, pahami terlebih dahulu apa yang sebenarnya dilakukan firewall.

Secara sederhana:

Client
   │
   │ Packet
   ▼
┌───────────────┐
│    FIREWALL   │
│               │
│ Match Rule    │
│      ↓        │
│ ACCEPT/DROP   │
│      ↓        │
│ NAT / Forward │
└───────────────┘
   │
   ▼
Server / Internet

Firewall mengambil keputusan berdasarkan kondisi tertentu.

Misalnya:

Source IP     : 192.168.10.0/24
Destination   : Server
Protocol      : TCP
Destination Port : 22
Action        : ACCEPT

Artinya, trafik TCP dari jaringan tertentu menuju SSH dapat diizinkan.

Sebaliknya:

Source        : ANY
Destination   : Server
Protocol      : TCP
Destination Port : 23
Action        : DROP

Trafik menuju Telnet ditolak.

Firewall bukan sekadar blokir port

Firewall modern dapat melakukan filtering berdasarkan berbagai parameter:

  • Source IP
  • Destination IP
  • Source port
  • Destination port
  • Protocol
  • Interface
  • Connection state
  • MAC address pada konteks tertentu
  • Packet mark
  • Connection mark
  • NAT state
  • Address list
  • Time
  • Traffic direction

Pada router dan firewall yang lebih kompleks, firewall bahkan dapat menjadi bagian dari sistem routing, NAT, QoS, VPN, dan policy enforcement.


iptables vs nftables vs MikroTik

Tiga platform ini memiliki pendekatan berbeda.

FituriptablesnftablesMikroTik Firewall
Platform utamaLinuxLinuxRouterOS
FilteringYaYaYa
NATYaYaYa
Stateful FirewallYaYaYa
Rule syntaxCommand-basedNative rule syntaxRouterOS CLI
ChainINPUT, OUTPUT, FORWARDCustom chaininput, output, forward
Address listTidak seperti MikroTikSetAddress List
GUIUmumnya eksternalUmumnya eksternalWinBox/WebFig
Firewall modern LinuxLegacy/kompatibilitasYaN/A
Cocok untuk routerBisaBisaSangat umum
Cocok untuk Linux serverYaSangat baikTidak

Yang paling penting bukan menganggap salah satu sebagai pengganti langsung yang memiliki sintaks sama.

iptables dan nftables sama-sama firewall Linux, sedangkan MikroTik Firewall merupakan firewall yang terintegrasi dengan RouterOS.


1. Cheat Sheet iptables

iptables merupakan salah satu tool firewall Linux yang sangat populer dan telah digunakan selama bertahun-tahun.

Meskipun pada banyak distribusi Linux modern implementasi firewall semakin diarahkan ke nftables, iptables masih banyak ditemukan pada server lama, script administrasi, dokumentasi, dan sistem yang mempertahankan kompatibilitas.

Melihat rule

sudo iptables -L -n -v

Dengan nomor rule:

sudo iptables -L -n -v --line-numbers

Untuk tabel NAT:

sudo iptables -t nat -L -n -v

Mengizinkan SSH

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Penjelasannya:

-A INPUT

Menambahkan rule ke chain INPUT.

-p tcp

Memilih protokol TCP.

--dport 22

Memilih destination port 22.

-j ACCEPT

Memberikan tindakan ACCEPT.


Mengizinkan HTTP dan HTTPS

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

Mengizinkan trafik dari subnet tertentu

Misalnya jaringan administrasi:

192.168.10.0/24

Rule:

sudo iptables -A INPUT -s 192.168.10.0/24 -j ACCEPT

Memblokir IP tertentu

sudo iptables -A INPUT -s 192.168.10.50 -j DROP

Artinya seluruh trafik dari IP tersebut akan ditolak pada chain INPUT.


Memblokir port

Contoh memblokir Telnet:

sudo iptables -A INPUT -p tcp --dport 23 -j DROP

Mengizinkan koneksi established dan related

Ini merupakan pola yang sangat umum:

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Rule tersebut memungkinkan trafik yang merupakan bagian dari koneksi yang sudah diizinkan atau berkaitan dengan koneksi tersebut.


Mengizinkan loopback

sudo iptables -A INPUT -i lo -j ACCEPT

Loopback digunakan oleh sistem untuk komunikasi internal melalui interface lo.


Default policy DROP

Salah satu pendekatan umum:

sudo iptables -P INPUT DROP

Tetapi hati-hati.

Jika akses SSH sedang berlangsung dan rule SSH belum diizinkan, administrator dapat kehilangan akses ke server.

Urutan rule firewall bukan sekadar kosmetik. Urutan yang salah dapat menghasilkan konfigurasi yang berbeda dari yang diharapkan.


2. Cheat Sheet nftables

nftables merupakan framework firewall Linux yang dirancang sebagai penerus arsitektur firewall berbasis iptables.

Salah satu keunggulannya adalah struktur konfigurasi yang lebih modern dan fleksibel.

Melihat konfigurasi

sudo nft list ruleset

Melihat tabel tertentu:

sudo nft list table inet filter

Membuat table

sudo nft add table inet filter

Di sini:

inet

dapat digunakan untuk menangani IPv4 dan IPv6 dalam satu family.


Membuat chain input

sudo nft add chain inet filter input \
'{ type filter hook input priority 0; policy drop; }'

Strukturnya mulai terlihat berbeda dengan iptables.

Table
 └── Chain
      └── Rule

Mengizinkan loopback

sudo nft add rule inet filter input iifname "lo" accept

Mengizinkan established dan related

sudo nft add rule inet filter input ct state established,related accept

Mengizinkan SSH

sudo nft add rule inet filter input tcp dport 22 accept

Mengizinkan HTTP dan HTTPS

sudo nft add rule inet filter input tcp dport { 80, 443 } accept

Ini menunjukkan salah satu kemampuan menarik nftables: beberapa nilai dapat dikelompokkan menggunakan set.


Mengizinkan subnet tertentu

sudo nft add rule inet filter input ip saddr 192.168.10.0/24 accept

Memblokir IP

sudo nft add rule inet filter input ip saddr 192.168.10.50 drop

Memblokir port

sudo nft add rule inet filter input tcp dport 23 drop

3. Cheat Sheet MikroTik Firewall

MikroTik RouterOS memiliki firewall yang terintegrasi langsung dengan sistem operasi router.

Konfigurasi dapat dilakukan melalui:

  • WinBox
  • WebFig
  • CLI
  • API
  • Script

Struktur dasar firewall filter MikroTik menggunakan tiga chain utama:

input
output
forward

Input

Digunakan untuk trafik yang menuju router itu sendiri.

Contoh:

Client → MikroTik

Misalnya akses:

WinBox
SSH
DNS router
WebFig

Output

Digunakan untuk trafik yang berasal dari router.

MikroTik → Internet

Forward

Digunakan untuk trafik yang melewati router.

LAN → MikroTik → Internet

Ini salah satu konsep yang sangat penting bagi administrator MikroTik.

Jika ingin mengontrol trafik client LAN menuju Internet, biasanya perhatian utama berada pada chain forward, bukan input.


Contoh Rule MikroTik

Mengizinkan SSH

/ip firewall filter
add chain=input protocol=tcp dst-port=22 action=accept

Mengizinkan HTTP dan HTTPS

/ip firewall filter
add chain=input protocol=tcp dst-port=80,443 action=accept

Memblokir IP

/ip firewall filter
add chain=input src-address=192.168.10.50 action=drop

Memblokir Telnet

/ip firewall filter
add chain=input protocol=tcp dst-port=23 action=drop

Mengizinkan koneksi established dan related

/ip firewall filter
add chain=input connection-state=established,related action=accept

Drop invalid

/ip firewall filter
add chain=input connection-state=invalid action=drop

Perbandingan Rule Berdampingan

Sekarang kita bisa melihat bagaimana rule yang sama ditulis pada tiga platform.

Misalnya kita ingin mengizinkan SSH pada port 22.

iptables

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

nftables

nft add rule inet filter input tcp dport 22 accept

MikroTik

/ip firewall filter
add chain=input protocol=tcp dst-port=22 action=accept

Secara konsep:

              iptables       nftables       MikroTik
---------------------------------------------------------
Chain         INPUT          input          input
Protocol      -p tcp         tcp            protocol=tcp
Port          --dport 22     dport 22       dst-port=22
Action        -j ACCEPT      accept         action=accept

Inilah alasan memahami konsep firewall jauh lebih berguna daripada sekadar menghafal command.


Perbandingan Rule HTTP/HTTPS

iptables

iptables -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT

nftables

nft add rule inet filter input tcp dport {80,443} accept

MikroTik

/ip firewall filter
add chain=input protocol=tcp dst-port=80,443 action=accept

Ketiganya menghasilkan tujuan yang sama, tetapi mekanisme dan sintaksnya berbeda.


Perbandingan DROP

Misalnya kita ingin memblokir Telnet.

iptables:

iptables -A INPUT -p tcp --dport 23 -j DROP

nftables:

nft add rule inet filter input tcp dport 23 drop

MikroTik:

/ip firewall filter
add chain=input protocol=tcp dst-port=23 action=drop

Pola mentalnya:

MATCH → ACTION

Contohnya:

TCP + port 23 → DROP

Firewall Filtering vs NAT

Ini juga sering membingungkan administrator pemula.

Filtering menentukan apakah trafik diperbolehkan atau ditolak.

NAT mengubah informasi alamat atau port pada trafik.

Contohnya:

LAN
192.168.10.0/24
      │
      ▼
 Router
      │
      │ NAT
      ▼
Internet

Firewall dan NAT dapat bekerja bersama, tetapi keduanya bukan hal yang sama.


Contoh NAT dengan iptables

Masquerade:

sudo iptables -t nat -A POSTROUTING \
-o eth0 -s 192.168.10.0/24 \
-j MASQUERADE

Artinya trafik dari subnet LAN akan menggunakan alamat IP interface keluar saat menuju Internet.


Contoh NAT dengan nftables

Contoh konsep masquerade:

sudo nft add table ip nat

Kemudian chain NAT:

sudo nft add chain ip nat postrouting \
'{ type nat hook postrouting priority 100; }'

Rule:

sudo nft add rule ip nat postrouting \
oifname "eth0" ip saddr 192.168.10.0/24 masquerade

Contoh NAT MikroTik

Masquerade:

/ip firewall nat
add chain=srcnat out-interface=WAN action=masquerade

Dalam konfigurasi MikroTik nyata, nama interface harus disesuaikan dengan router yang digunakan.


Firewall Stateful

Firewall modern umumnya menggunakan konsep stateful filtering.

Secara sederhana, firewall tidak hanya melihat satu paket secara terpisah.

Firewall dapat memahami bahwa:

Client → Server

merupakan bagian dari koneksi yang kemudian menghasilkan:

Server → Client

Sebagai contoh:

Client
  │
  │ SYN
  ▼
Server
  │
  │ SYN/ACK
  ▼
Client

Firewall stateful dapat mempertahankan informasi koneksi tersebut.

Pada Linux:

-m conntrack --ctstate ESTABLISHED,RELATED

atau nftables:

ct state established,related

Pada MikroTik:

connection-state=established,related

Konsepnya sama, meskipun sintaks berbeda.


Contoh Skenario: Server Web Linux

Misalnya terdapat server:

IP      : 192.168.10.10
SSH     : 22
HTTP    : 80
HTTPS   : 443

Kebijakan:

SSH     → hanya admin
HTTP    → public
HTTPS   → public
Lainnya → deny

Secara konseptual:

                Internet
                   │
             ┌─────▼─────┐
             │  Firewall  │
             └─────┬─────┘
                   │
          ┌────────┼────────┐
          │        │        │
         22       80       443
       Admin     HTTP     HTTPS
          │        │        │
       ALLOW     ALLOW    ALLOW

Rule firewall harus dibuat berdasarkan kebutuhan tersebut, bukan sekadar membuka semua port.


Best Practice Firewall

Ada beberapa prinsip yang sebaiknya diterapkan pada hampir semua lingkungan.

Gunakan prinsip least privilege

Buka hanya trafik yang benar-benar dibutuhkan.

Jika server hanya membutuhkan:

22
80
443

tidak ada alasan untuk membuka puluhan port lain tanpa kebutuhan yang jelas.


Tentukan default policy

Pendekatan umum:

Default → DROP
Exception → ACCEPT

Namun implementasinya harus dilakukan secara hati-hati agar administrator tidak kehilangan akses.


Gunakan established/related

Pada firewall stateful, rule established dan related dapat mengurangi kebutuhan membuat rule dua arah secara berlebihan.


Batasi akses management

Port administrasi seperti:

22   SSH
8291 WinBox
8728 API
8729 API-SSL

sebaiknya tidak dibuka ke Internet secara sembarangan.

Lebih baik membatasi berdasarkan:

  • IP management
  • VLAN management
  • VPN
  • jump host
  • trusted network

Dokumentasikan rule

Rule:

accept tcp port 443

kurang informatif dibandingkan:

ALLOW HTTPS public web server

Dokumentasi akan sangat membantu ketika firewall sudah memiliki puluhan atau ratusan rule.


Kesalahan yang Sering Terjadi

Salah memilih chain

Pada MikroTik, administrator pemula sering menggunakan:

chain=input

untuk trafik yang sebenarnya hanya melewati router.

Padahal:

input

adalah trafik menuju router.

Sedangkan:

forward

adalah trafik yang melewati router.


Salah urutan rule

Firewall umumnya memproses rule berdasarkan urutan tertentu.

Misalnya:

1. DROP ALL
2. ACCEPT SSH

Rule SSH tidak akan pernah efektif jika rule nomor 1 sudah menghentikan pemrosesan terlebih dahulu.

Karena itu:

SPECIFIC RULE
      ↓
GENERAL RULE

sering lebih tepat dibandingkan sebaliknya.


Mengunci diri sendiri

Kesalahan klasik:

iptables -P INPUT DROP

dijalankan sebelum rule SSH dibuat.

Akibatnya:

SSH connection
      ↓
DROP
      ↓
Administrator kehilangan akses

Untuk remote server, selalu siapkan jalur recovery.


Menganggap DROP dan REJECT sama

Keduanya sama-sama dapat membuat koneksi gagal, tetapi perilakunya berbeda.

DROP secara sederhana membuang paket tanpa memberikan respons.

REJECT memberikan respons penolakan tertentu.

Pilihan antara DROP dan REJECT harus mempertimbangkan kebutuhan keamanan, troubleshooting, dan desain jaringan.


Membuka port terlalu banyak

Contoh konfigurasi yang buruk:

22
23
25
53
80
110
143
443
445
3389
5900
...

padahal hanya beberapa service yang benar-benar digunakan.

Semakin banyak service yang terekspos, semakin besar pula attack surface.


Tips Profesional untuk Administrator

Gunakan pendekatan berikut ketika membuat firewall baru.

Pertama, inventarisasikan service:

Service
Port
Protocol
Source
Destination
Purpose

Kemudian buat tabel kebijakan:

ServicePortSourceAction
SSH22/TCPManagement VLANACCEPT
HTTP80/TCPInternetACCEPT
HTTPS443/TCPInternetACCEPT
Telnet23/TCPAnyDROP
OtherAnyAnyDROP

Setelah itu baru diterjemahkan ke platform.

Security Policy
       │
       ▼
Firewall Logic
       │
       ├── iptables
       ├── nftables
       └── MikroTik

Ini jauh lebih aman daripada mencari command di Internet lalu langsung menempelkannya ke production.


Cheat Sheet Super Singkat

iptables

# List
iptables -L -n -v

# Allow SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# Allow HTTP/HTTPS
iptables -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT

# Drop IP
iptables -A INPUT -s 192.168.10.50 -j DROP

# Drop port
iptables -A INPUT -p tcp --dport 23 -j DROP

# Established
iptables -A INPUT -m conntrack \
--ctstate ESTABLISHED,RELATED -j ACCEPT

nftables

# List
nft list ruleset

# Allow SSH
nft add rule inet filter input tcp dport 22 accept

# Allow HTTP/HTTPS
nft add rule inet filter input \
tcp dport {80,443} accept

# Drop IP
nft add rule inet filter input \
ip saddr 192.168.10.50 drop

# Drop port
nft add rule inet filter input \
tcp dport 23 drop

# Established
nft add rule inet filter input \
ct state established,related accept

MikroTik

# Allow SSH
/ip firewall filter
add chain=input protocol=tcp dst-port=22 action=accept

# Allow HTTP/HTTPS
/ip firewall filter
add chain=input protocol=tcp dst-port=80,443 action=accept

# Drop IP
/ip firewall filter
add chain=input src-address=192.168.10.50 action=drop

# Drop Telnet
/ip firewall filter
add chain=input protocol=tcp dst-port=23 action=drop

# Established
/ip firewall filter
add chain=input connection-state=established,related action=accept

Kapan Menggunakan iptables, nftables, atau MikroTik?

Tidak ada satu sintaks firewall yang cocok untuk semua kebutuhan.

Jika bekerja dengan Linux server, pemahaman iptables tetap berguna karena banyak sistem lama dan dokumentasi masih menggunakannya. Namun untuk konfigurasi Linux modern, nftables merupakan teknologi yang penting untuk dipahami.

Jika bekerja dengan router MikroTik, fokuskan pemahaman pada:

input
output
forward
NAT
connection-state
address-list
mangle

Yang paling penting adalah memahami konsep filtering dan packet flow.

Seorang administrator yang memahami konsep tersebut dapat berpindah platform dengan jauh lebih mudah.


Kesimpulan

iptables, nftables, dan MikroTik Firewall memiliki sintaks yang berbeda, tetapi memiliki tujuan dasar yang sama: mengendalikan trafik berdasarkan kebijakan keamanan jaringan.

Perbedaan terbesar berada pada cara setiap platform merepresentasikan:

Table
Chain
Rule
Match
Action
State
NAT

Jangan hanya menghafalkan command.

Biasakan berpikir:

Siapa?
    ↓
Dari mana?
    ↓
Menuju ke mana?
    ↓
Protocol apa?
    ↓
Port berapa?
    ↓
Status koneksi?
    ↓
Action apa?

Jika pola berpikir tersebut sudah dikuasai, berpindah dari iptables ke nftables atau MikroTik tidak lagi terasa seperti belajar firewall dari nol.

Firewall pada akhirnya bukan tentang seberapa banyak rule yang bisa dibuat, tetapi seberapa tepat rule tersebut merepresentasikan kebutuhan keamanan jaringan.

FAQ

Pertanyaan: Apa perbedaan utama iptables dan nftables?
Jawaban: Keduanya merupakan framework firewall Linux, tetapi nftables menggunakan arsitektur dan sintaks yang lebih modern serta dirancang sebagai penerus iptables.

Pertanyaan: Apakah nftables menggantikan iptables?
Jawaban: nftables dirancang sebagai penerus teknologi firewall berbasis iptables. Namun iptables masih dapat ditemukan pada sistem dan konfigurasi yang mempertahankan kompatibilitas.

Pertanyaan: Apa perbedaan chain input dan forward di MikroTik?
Jawaban: Input menangani trafik menuju router itu sendiri, sedangkan forward menangani trafik yang melewati router menuju jaringan lain.

Pertanyaan: Apakah DROP dan REJECT sama?
Jawaban: Tidak. DROP membuang paket tanpa respons penolakan, sedangkan REJECT mengirimkan respons penolakan tertentu.

Pertanyaan: Apakah firewall bisa digunakan untuk NAT?
Jawaban: Pada banyak platform firewall dan NAT berada dalam subsistem yang berdekatan, tetapi fungsi dasarnya berbeda. Firewall melakukan filtering, sedangkan NAT mengubah alamat atau port tertentu.

Pertanyaan: Mana yang harus dipelajari terlebih dahulu, iptables atau nftables?
Jawaban: Untuk memahami Linux modern, nftables penting dipelajari. Namun pemahaman iptables tetap berguna karena masih banyak digunakan pada sistem lama dan dokumentasi.

Pertanyaan: Mengapa rule firewall harus diperhatikan urutannya?
Jawaban: Karena rule biasanya diproses berdasarkan urutan tertentu. Rule yang lebih umum dapat menghentikan pemrosesan sebelum rule yang lebih spesifik dijalankan.

Pertanyaan: Apakah membuka port 22 ke Internet aman?
Jawaban: SSH dapat diekspos secara aman dengan hardening dan kontrol akses yang tepat, tetapi membatasi akses berdasarkan jaringan management, VPN, firewall, dan mekanisme autentikasi yang kuat umumnya lebih terkendali.

Firewall bukan sekadar kumpulan command yang ditempel ke terminal. Memahami bagaimana packet flow, chain, rule, connection state, filtering, dan NAT bekerja akan membuat konfigurasi jauh lebih aman dan mudah ditroubleshooting.

Jika cheat sheet ini membantu, bagikan artikel ini kepada rekan sesama sysadmin, network administrator, guru TJKT/TKJ, atau siswa yang sedang belajar Linux dan networking.

Punya contoh rule iptables, nftables, atau MikroTik yang sering digunakan di lab maupun production? Tulis di kolom komentar. Kita bisa membandingkan bagaimana satu kebutuhan jaringan diterjemahkan ke tiga platform tersebut.

Jangan lupa jelajahi artikel teknologi lainnya tentang Linux Server, MikroTik, networking, virtualization, monitoring, cybersecurity, DevOps, dan system administration.

Dukung kami dengan Subscribe & Join Membership channel YouTube | Walid Umar

Akses video pembelajaran eksklusif, materi persiapan UKK (Uji Kompetensi Siswa) dan Penyelesaian Soal LKS ITNSA

Tinggalkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Dilindungi Oleh
Shield Security