Sebuah server Linux yang baru dinyalakan hampir tidak pernah tertutup rapat. Beberapa layanan langsung membuka port dan menunggu koneksi. Ada SSH di port 22, web server di 80 dan 443, kadang basis data yang tanpa sengaja mendengarkan di semua antarmuka.

Kabar baiknya, Linux tidak membiarkan pintu-pintu itu tanpa penjaga. Di dalam kernelnya sudah tertanam mesin penyaring paket yang lengkap, aktif sejak sistem operasinya terpasang. Yang menjadi persoalan bukan ketiadaan firewall, melainkan cara berbicara dengannya. Mesin itu berada di dalam kernel dan tidak menyediakan menu, tombol, atau berkas konfigurasi yang bisa disunting begitu saja.

Iptables adalah jembatan ke mesin tersebut. Ia perintah baris teks yang Anda ketik di terminal untuk menyusun aturan, dan aturan itulah yang dipakai kernel menentukan paket mana yang boleh lewat. Artikel ini membahas apa sebenarnya iptables, lima tabel dan chain di dalamnya, serta cara membaca setiap opsi perintahnya. Bagian akhirnya menutup dengan satu hal yang menentukan apakah sebuah tutorial akan bekerja di server Anda. Perintah iptables hari ini sudah tidak selalu menulis ke mesin yang sama seperti dulu.

Iptables Adalah Penyunting Tabel Aturan di Kernel Linux

Pertanyaan apa itu iptables paling cepat dijawab lewat namanya sendiri: ip dan tables. Sebagian orang bahkan menuliskannya terpisah menjadi ip tables, dan makna harfiahnya memang itu — tabel berisi aturan untuk lalu lintas IP. Iptables bukan program yang berjaga dan memeriksa paket satu per satu, melainkan penyunting tabel tersebut.

Man page resminya menyebut iptables dan ip6tables dipakai untuk menyusun, merawat, dan memeriksa tabel aturan penyaring paket IPv4 dan IPv6 di dalam kernel Linux. Perhatikan kata kerjanya: menyusun, merawat, memeriksa. Tidak ada satu pun yang berarti "menyaring".

Penyaringannya dikerjakan Netfilter, kerangka penyaring paket dan penerjemah alamat yang menjadi bagian dari kernel Linux. Netfilter menyediakan titik-titik sadap di sepanjang jalur perjalanan paket, lalu memeriksa tiap paket berdasarkan tabel aturan yang tersedia. Iptables hanyalah program di userspace (ruang tempat aplikasi biasa berjalan, di luar kernel) yang mengisi tabel itu.

Pembagian kerja ini menjawab pertanyaan yang sering muncul dalam bentuk soal: firewall netfilter atau iptables? Keduanya tidak saling meniadakan. Netfilter adalah mesinnya di dalam kernel, iptables adalah alat pengaturnya di luar kernel.

Karena itu iptables tidak berjalan sebagai layanan, tidak memakan memori saat menganggur, dan tidak punya jendela pengaturan. Setelah perintahnya dijalankan, program iptables langsung berhenti — aturannya sudah pindah ke kernel dan bekerja di sana.

Sebagai contoh paket aplikasi, iptables tergolong firewall berbasis baris perintah yang bekerja di lapisan jaringan dan transport. Ia bukan aplikasi grafis, bukan layanan latar belakang, dan bukan antivirus.

Riwayatnya menjelaskan kenapa alat ini terasa tua sekaligus ada di mana-mana. Proyek netfilter/iptables dimulai pada 1998 oleh Paul "Rusty" Russell, melanjutkan garis ipfwadm di kernel 2.0.x dan ipchains di kernel 2.2.x. Kodenya masuk ke kernel utama pada 26 Agustus 1999 dan ikut rilis stabil kernel 2.4.

Fungsi Iptables: Empat Pekerjaan yang Ditanganinya

Pertanyaan "iptables untuk apa" paling mudah dijawab lewat daftar pekerjaan yang bisa ia perintahkan ke kernel.

  1. Menyaring paket: memutuskan paket diterima atau dibuang berdasarkan alamat asal, alamat tujuan, protokol, nomor port, dan antarmuka jaringan. Inilah pekerjaan yang paling sering dipakai, dan yang membuat susunan ini lazim disebut iptables firewall.
  2. Menerjemahkan alamat (NAT): menukar alamat asal atau alamat tujuan sebuah paket. Fungsi inilah yang membuat satu server bisa membagikan koneksinya ke jaringan di belakangnya, atau meneruskan satu port publik ke mesin lain.
  3. Menandai dan mengubah paket: menyunting bagian tertentu dari kepala paket, misalnya menempelkan tanda yang nanti dibaca sistem routing atau pengatur bandwidth.
  4. Mencatat dan membatasi laju: menuliskan paket yang mencurigakan ke berkas log sistem, serta membatasi berapa banyak koneksi baru yang boleh datang dalam rentang waktu tertentu.

Empat pekerjaan ini tidak bercampur dalam satu daftar raksasa. Masing-masing punya tempatnya sendiri: tabel.

Lima Tabel Iptables dan Chain di Dalamnya

Tabel dan chain adalah dua lapis pengelompokan yang berbeda, dan paling sering tertukar: tabel menentukan jenis pekerjaan, chain menentukan titik pemeriksaan.

Lima tabel dan tugas masing-masing

TabelChain bawaanTugasnya
filterINPUT, FORWARD, OUTPUTMenerima atau membuang paket. Ini tabel bawaan yang dipakai kalau opsi -t tidak Anda tulis
natPREROUTING, INPUT, OUTPUT, POSTROUTINGMenukar alamat asal atau tujuan. Diperiksa hanya saat sebuah paket membuka koneksi baru
manglePREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTINGPerubahan paket yang sifatnya khusus, misalnya menandai paket atau menyunting nilai di kepalanya
rawPREROUTING, OUTPUTMengecualikan paket tertentu dari pencatatan koneksi. Diperiksa paling awal, sebelum tabel lain
securityINPUT, FORWARD, OUTPUTAturan kendali akses wajib seperti SELinux. Dipanggil setelah tabel filter

Dua jawaban layak dicatat dari tabel di atas. Tabel pada iptables yang digunakan untuk memanipulasi paket data adalah mangle. Man page menyebutnya secara khusus untuk perubahan paket. Hanya tabel inilah yang hadir di kelima titik pemeriksaan sekaligus. Sementara iptables filtering adalah pekerjaan tabel filter, tabel bawaan yang aktif ketika Anda tidak menyebut tabel sama sekali.

Jenis-jenis chain pada iptables

Chain adalah daftar aturan yang menempel pada satu titik di jalur perjalanan paket. Ada lima chain bawaan, sebanyak titik sadap yang disediakan Netfilter.

  1. PREROUTING: segera setelah paket tiba, sebelum kernel memutuskan ke mana paket itu akan diantar.
  2. INPUT: untuk paket yang tujuannya adalah mesin ini sendiri.
  3. FORWARD: untuk paket yang hanya menumpang lewat, misalnya di mesin yang berperan sebagai router.
  4. OUTPUT: untuk paket yang dibuat oleh proses di mesin ini.
  5. POSTROUTING: tepat sebelum paket meninggalkan mesin.

Selain kelima chain bawaan itu, Anda boleh membuat chain sendiri dengan opsi -N untuk mengelompokkan aturan yang panjang. Satu chain khusus bisa menampung seluruh daftar alamat yang diblokir, lalu dipanggil dari INPUT dengan satu baris.

Perjalanan Satu Paket Melewati Aturan Iptables

Aturan yang benar tetapi dipasang di chain yang keliru tidak akan pernah bekerja. Karena itu jalur perjalanan paket perlu dipahami lebih dulu. Ada tiga kemungkinan:

  • Menuju mesin ini: PREROUTING → keputusan routing → INPUT → diserahkan ke aplikasi.
  • Menumpang lewat: PREROUTING → keputusan routing → FORWARD → POSTROUTING.
  • Keluar dari mesin ini: dibuat aplikasi → keputusan routing → OUTPUT → POSTROUTING.

Di setiap titik, tabel diperiksa dengan urutan tetap: raw, lalu pencatatan koneksi, lalu mangle, nat, filter, dan terakhir security. Urutan inilah yang membuat penukaran alamat tujuan di PREROUTING terjadi sebelum paket sampai di aturan penyaringan, sedangkan penukaran alamat asal di POSTROUTING terjadi sesudah semuanya.

Jalur paket iptables: PREROUTING lalu INPUT untuk mesin ini, FORWARD untuk yang menumpang, OUTPUT ke POSTROUTING.Jalur paket iptables: PREROUTING lalu INPUT untuk mesin ini, FORWARD untuk yang menumpang, OUTPUT ke POSTROUTING.

Konsekuensi praktisnya sederhana. Aturan untuk menutup port SSH milik server Anda harus dipasang di chain INPUT, bukan FORWARD. Sebaliknya, aturan pembatas lalu lintas antar-jaringan di sebuah router harus ada di FORWARD, dan tidak berpengaruh apa pun kalau ditulis di INPUT.

Anatomi Perintah Iptables dan Arti Tiap Opsinya

Sintaks iptables terlihat rumit karena semuanya dijejalkan dalam satu baris. Padahal susunannya selalu sama: tabel mana, tindakan terhadap chain mana, kriteria paket, dan target kalau cocok.

Bash
iptables -t filter -A INPUT -p tcp --dport 22 -s 203.0.113.10 -j ACCEPT

Baris di atas berarti: pada tabel filter, tambahkan satu aturan di akhir chain INPUT. Aturannya berlaku untuk paket TCP menuju port 22 yang berasal dari alamat 203.0.113.10, dan tindakannya adalah menerima. Karena filter tabel bawaan, bagian -t filter boleh dihilangkan.

Perintah iptables dipecah menjadi empat bagian: pilihan tabel, tindakan pada chain, kriteria paket, dan targetnya.Perintah iptables dipecah menjadi empat bagian: pilihan tabel, tindakan pada chain, kriteria paket, dan targetnya.

Opsi yang menentukan tindakan terhadap chain:

OpsiArtinya
-AMenambahkan aturan di akhir chain
-IMenyisipkan aturan pada nomor urut tertentu; tanpa nomor berarti di posisi pertama
-DMenghapus satu aturan, baik lewat spesifikasinya maupun nomor urutnya
-RMengganti aturan pada nomor urut tertentu
-LMenampilkan aturan; sering dipasangkan dengan -n (tanpa penerjemahan nama) dan -v (rinci)
-FMengosongkan seluruh aturan di chain, setara menghapusnya satu per satu
-N dan -XMembuat dan menghapus chain buatan sendiri
-PMenetapkan kebijakan bawaan chain, hanya boleh ACCEPT atau DROP
-ZMenolkan penghitung paket dan byte

Opsi yang menentukan kriteria paket:

OpsiArtinya
-pProtokol: tcp, udp, icmp, all, dan lainnya
-sAlamat IP asal, boleh disertai /mask
-dAlamat IP tujuan, sintaksnya sama dengan -s
-iNama antarmuka tempat paket diterima
-oNama antarmuka tempat paket akan dikirim
-jTarget, yaitu tindakan yang dijalankan kalau paket cocok

Opsi -i sering keliru dipakai. Rule -i pada iptables adalah penunjuk antarmuka masuk. Man page membatasinya hanya untuk paket yang memasuki chain INPUT, FORWARD, dan PREROUTING, sedangkan pasangannya -o hanya sah di FORWARD, OUTPUT, dan POSTROUTING.

Menuliskan -i di chain OUTPUT akan ditolak, karena paket buatan mesin sendiri belum pernah diterima lewat antarmuka mana pun. Tanda seru di depan nama antarmuka membalik maknanya, sehingga ! -i lo berarti semua antarmuka kecuali loopback.

Seluruh sintaks di artikel ini berlaku untuk iptables Linux pada lalu lintas IPv4. Padanan IPv6-nya adalah ip6tables, dengan opsi dan struktur tabel yang sama.

Ada empat target bawaan yang perlu Anda kenal. ACCEPT meloloskan paket dan DROP membuangnya tanpa memberi kabar apa pun ke pengirim. QUEUE menyerahkan paket ke program di userspace, sedangkan RETURN menghentikan penelusuran chain lalu kembali ke chain pemanggil. Di luar itu ada target tambahan seperti REJECT, LOG, MASQUERADE, dan DNAT.

Beda DROP dan REJECT layak diperhatikan. DROP membuat pengirim menunggu sampai waktunya habis karena tidak ada balasan sama sekali, sedangkan REJECT mengirim pesan penolakan sehingga koneksi langsung gagal. Untuk port yang menghadap internet, DROP umumnya lebih dipilih karena tidak memberi petunjuk adanya sesuatu di balik alamat itu.

Aturan Dibaca dari Atas ke Bawah

Ini sifat iptables yang paling sering menjebak. Aturan dalam satu chain diperiksa berurutan dari atas, dan aturan pertama yang cocok yang menentukan nasib paket. Aturan di bawahnya tidak pernah dilihat lagi.

Karena itu -A dan -I menghasilkan perilaku yang jauh berbeda meski sama-sama menambah aturan. Bayangkan chain INPUT Anda sudah diakhiri aturan yang membuang semua sisa paket. Menambah aturan baru dengan -A menaruhnya sesudah aturan pembuangan itu, sehingga aturan baru Anda tidak pernah terbaca. Yang dibutuhkan adalah -I supaya aturannya masuk lebih dulu.

Kalau tidak ada satu pun aturan yang cocok, paket diserahkan ke kebijakan bawaan chain yang diatur dengan -P. Menyetel iptables -P INPUT DROP adalah praktik yang baik, tetapi hanya setelah aturan yang mengizinkan SSH terpasang.

Menjalankan iptables -P INPUT DROP pada server yang sedang Anda akses lewat SSH akan memutus koneksi saat itu juga. Tanpa akses konsol dari panel penyedia, server itu tidak bisa dijangkau lagi. Pasang aturan yang mengizinkan port 22 lebih dulu, uji dari terminal kedua, baru ubah kebijakan bawaannya.

Contoh Aturan Iptables yang Sering Dipakai

Seluruh perintah di bawah membutuhkan akses root, yang berarti Anda perlu VPS atau server dedicated — bukan shared hosting. Kalau servernya masih dalam tahap perencanaan, VPS Indonesia memberi akses root penuh sejak awal.

Aturan pertama yang sebaiknya selalu ada adalah izin bagi koneksi yang sudah terjalin. Tanpa itu, paket balasan dari server ikut terbuang begitu kebijakan bawaan diperketat.

Bash
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

Baris kedua mengizinkan lalu lintas di antarmuka loopback, yang dipakai aplikasi untuk berbicara dengan dirinya sendiri di mesin yang sama.

Selanjutnya, buka port layanan yang perlu dijangkau publik:

Bash
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

Untuk memblokir satu alamat yang mengganggu, sisipkan aturannya di posisi paling atas:

Bash
iptables -I INPUT 1 -s 198.51.100.25 -j DROP

Membatasi laju koneksi baru ke SSH menekan serangan brute force tanpa perangkat lunak tambahan. Dua baris berikut menolak alamat yang membuka lebih dari empat koneksi baru ke port 22 dalam 60 detik:

Bash
iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set
iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 5 -j DROP

Paket yang dibuang bisa dicatat lebih dulu supaya ada jejak untuk ditelusuri. Target LOG tidak menghentikan penelusuran, jadi aturan pembuangannya tetap ditulis sesudahnya:

Bash
iptables -A INPUT -j LOG --log-prefix "IPT-DROP: " --log-level 4
iptables -A INPUT -j DROP

Terakhir, membuat server berperan sebagai gerbang bagi jaringan di belakangnya. Ini pekerjaan tabel nat, dan perlu didahului pengaktifan penerusan paket di kernel:

Bash
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

Target MASQUERADE menukar alamat asal setiap paket keluar dengan alamat milik antarmuka eth0. Dengan begitu jaringan di belakang server bisa keluar memakai satu alamat publik. Perhatikan bahwa aturan penerusannya ada di chain FORWARD, sesuai jalur paket yang menumpang lewat.

Menghapus, Mengosongkan, dan Menyimpan Aturan

Empat perintah berikut sering disamakan, padahal cakupannya berbeda. Perintah yang digunakan untuk menghapus iptables yang telah dikonfigurasi adalah -D untuk satu aturan dan -F untuk mengosongkan seluruh isi chain. Ada pula -X untuk menghapus chain buatan sendiri, serta -Z yang menolkan penghitung tanpa menyentuh aturannya.

Bash
iptables -D INPUT 3
iptables -D INPUT -s 198.51.100.25 -j DROP
iptables -F INPUT
iptables -F

Baris pertama menghapus aturan nomor tiga di chain INPUT; nomor urutnya bisa dilihat dengan iptables -L INPUT --line-numbers. Baris kedua menghapus aturan dengan menyebut ulang spesifikasinya persis seperti saat dibuat, dan baris keempat mengosongkan semua chain sekaligus.

Perintah -F hanya menyentuh tabel yang sedang aktif, dan tabel bawaannya adalah filter. Aturan NAT yang pernah Anda pasang tetap tinggal sampai dikosongkan sendiri dengan iptables -t nat -F. Ini penyebab umum kasus penerusan port yang masih bekerja padahal firewall dirasa sudah dibersihkan.

Satu hal yang perlu diingat: seluruh aturan iptables hidup di memori kernel dan hilang begitu server dinyalakan ulang. Untuk menyimpannya, gunakan iptables-save yang mencetak seluruh aturan sebagai teks, lalu iptables-restore untuk memuatnya kembali.

Di Debian dan Ubuntu, pekerjaan ini dirapikan paket iptables-persistent — versi 1.0.23 di Debian trixie. Paket itu memasang pemuat aturan saat boot bersama netfilter-persistent, dan menyimpan aturannya di /etc/iptables/rules.v4 serta /etc/iptables/rules.v6.

Iptables-legacy dan Iptables-nft: Dua Perintah Bernama Sama

Perintah iptables di sebagian besar distribusi bukan lagi program yang sama dengan yang dipakai satu dekade lalu, dan dampaknya nyata di lapangan.

Ada dua varian yang beredar dengan nama perintah identik. iptables-legacy menulis ke jalur kernel lama lewat modul ip_tables. iptables-nft menerima sintaks yang persis sama, tetapi menerjemahkannya ke nftables, kerangka penyaring paket generasi berikutnya yang masuk ke kernel 3.13 pada 19 Januari 2014.

Keduanya memakai kode pencocokan paket yang sama lewat komponen kernel xtables, sehingga perilaku penyaringannya seragam. Yang berbeda adalah tempat aturannya mendarat.

Satu perintah iptables bercabang dua: iptables-legacy menulis ke modul ip_tables, iptables-nft menulis ke nftables.Satu perintah iptables bercabang dua: iptables-legacy menulis ke modul ip_tables, iptables-nft menulis ke nftables.

Satu perintah menjawab varian mana yang sedang Anda pakai:

Bash
iptables -V

Keluarannya menyertakan penanda varian dalam kurung, misalnya iptables v1.8.4 (nf_tables) untuk varian baru, atau (legacy) untuk yang lama. Red Hat memperingatkan tegas agar keduanya tidak pernah dipakai bersamaan pada satu mesin. Alasannya, aturan yang ditulis lewat satu varian tidak terlihat oleh varian lainnya. Untuk berpindah, Debian dan Ubuntu menyediakan update-alternatives --set iptables /usr/sbin/iptables-nft atau /usr/sbin/iptables-legacy.

Status iptables di distro modern

DistribusiKondisi saat ini
Debiannftables menjadi kerangka bawaan sejak Debian 10 Buster. Wiki resminya menyatakan pembangunan firewall baru di atas iptables tidak dianjurkan
UbuntuPembungkus kompatibel tersedia sejak 16.04 LTS, dan iptables-nft menjadi bawaan sejak Ubuntu 20.10
RHEL 9Kerangka iptables dinyatakan usang, termasuk backend iptables di firewalld. Perkakasnya tidak lagi menerima fitur baru dan tidak disarankan untuk pemasangan baru
RHEL 10Modul kernel ip_tables tidak lagi disertakan, meski paket userspace iptables-nft tetap ikut terpasang

Baris terakhir sudah terasa akibatnya di lapangan. Pada RHEL 10 dan CentOS Stream 10, pemasangan Docker mode rootless gagal karena skrip penyiapnya mencoba memuat modul ip_tables yang sudah tidak ada. Solusinya adalah opsi --skip-iptables. Perintah iptables-nya sendiri masih terpasang di sistem itu — yang hilang adalah mesin lama di baliknya.

Proyeknya sendiri belum ditinggalkan: rilis iptables 1.8.13 keluar pada 4 Maret 2026, dan varian nft tetap dirawat sebagai lapisan kompatibilitas. Perbedaan antar-distro Linux inilah yang membuat satu tutorial mulus di satu server dan berhenti di server lain.

Kalau suatu saat aturan Anda harus dipindahkan, iptables membawa sendiri penerjemahnya. Perintah iptables-translate membaca satu baris aturan lalu mencetak padanannya dalam sintaks nft, tanpa menyentuh apa pun di server:

Bash
iptables-translate -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT

Man page-nya mencontohkan keluaran berupa nft add rule ip filter INPUT tcp dport 22 ct state new counter accept. Untuk seluruh aturan sekaligus, simpan dulu dengan iptables-save, lalu jalankan iptables-restore-translate -f berkas.txt. Keduanya hanya mengubah teks, jadi aman dicoba lebih dulu sebelum memutuskan berpindah.

Kelebihan Iptables

  1. Tersedia hampir di semua distribusi tanpa pemasangan tambahan: sebagian besar server Linux sudah membawa perintahnya sejak awal, tanpa ketergantungan pada repositori pihak ketiga.
  2. Kendali paling rinci di antara alat sejenis: tabel, chain, posisi aturan, dan target ditentukan secara eksplisit. Penerusan port dan penandaan paket bisa dikerjakan langsung, tanpa menyunting berkas milik alat lain.
  3. Aturannya berupa teks yang mudah dipindahkan: keluaran iptables-save adalah berkas teks biasa. Ia bisa disimpan di sistem kontrol versi, diperiksa perubahannya, lalu dipasang ulang di server lain dalam satu perintah.
  4. Pengetahuannya menular ke alat lain: UFW, CSF, dan firewalld berdiri di atas kerangka yang sama. Memahami tabel dan chain membuat Anda bisa membaca aturan yang mereka hasilkan saat terjadi masalah.

Kelemahan dan Hal yang Perlu Anda Pertimbangkan

  1. Sintaksnya menuntut hafalan dan mudah membuat pemakainya terkunci: satu perintah kebijakan bawaan dengan urutan keliru sudah cukup untuk memutus akses SSH Anda sendiri. Alat pembungkus mengurangi risiko itu lewat pengaman bawaan.
  2. Aturannya hilang setelah server dinyalakan ulang: tanpa iptables-persistent atau berkas yang dipulihkan lewat iptables-restore, seluruh konfigurasi kembali kosong. Kelalaian ini sering baru ketahuan sesudah pemeliharaan terjadwal.
  3. Ia buta terhadap isi muatan aplikasi: iptables bekerja di lapisan alamat, port, protokol, dan status koneksi. Ia tidak membaca isi permintaan HTTP, tidak memindai lampiran, dan tidak mengenali pola serangan — sehingga bukan pengganti web application firewall, antivirus, maupun sistem deteksi penyusupan.
  4. Ia tidak bertindak sendiri berdasarkan log: iptables hanya menjalankan aturan yang sudah Anda tulis. Pemblokiran otomatis atas percobaan login yang gagal membutuhkan perangkat lain seperti fail2ban, LFD milik CSF, atau Imunify360.
  5. Statusnya di distribusi baru sudah bergeser: aturan yang Anda tulis hari ini kemungkinan besar mendarat di nftables, dan pada RHEL 10 jalur kernel lamanya sudah tidak tersedia. Untuk server yang dirancang berumur panjang, pelajari nft sejalan dengan iptables — iptables-translate membuat perpindahannya jauh lebih murah.

Kemampuan iptables meredam serangan berskala besar juga terbatas. Serangan DDoS yang membanjiri kapasitas jaringan sudah menghabiskan bandwidth sebelum paketnya sampai ke aturan Anda. Penanganannya harus dilakukan di lapisan jaringan penyedia atau lewat layanan mitigasi.

Pertanyaan yang Sering Diajukan

Iptables untuk apa?

Untuk menyusun aturan penyaringan paket, penerjemahan alamat, penandaan paket, serta pencatatan dan pembatasan laju koneksi di server Linux. Pemakaian tersering: menutup semua port kecuali yang dibutuhkan.

Apakah iptables masih perlu dipelajari pada 2026?

Masih, dengan catatan. Sebagian besar server yang berjalan hari ini memakai aturan bergaya iptables. Hampir semua alat firewall Linux pun menghasilkan aturan yang perlu dibaca dengan pemahaman tabel dan chain. Untuk server baru yang dibangun dari nol, pelajari nft sekaligus.

Bagaimana melihat aturan iptables yang sedang aktif?

Gunakan iptables -L -n -v --line-numbers untuk tabel filter, dan tambahkan -t nat untuk aturan NAT. Untuk keluaran yang bisa disimpan sebagai berkas, pakai iptables-save.

Apa bedanya iptables dengan firewall bawaan panel hosting?

Firewall di panel hosting umumnya antarmuka grafis yang di baliknya tetap menulis ke kerangka yang sama. Bedanya pada cakupan dan kemudahan, bukan pada mesin penyaringnya. Di layanan shared hosting, aturan tingkat server memang tidak bisa Anda sunting sendiri.

Kesimpulan

Iptables adalah alat baris perintah untuk menyunting tabel aturan milik Netfilter, kerangka penyaring paket yang tertanam di dalam kernel Linux. Kekuatannya pada kendali yang rinci sampai tingkat tabel, chain, dan urutan aturan. Batasnya juga jelas: ia bekerja pada alamat, port, protokol, dan status koneksi, bukan pada isi muatan aplikasi.

Pakailah iptables ketika Anda butuh aturan yang tidak bisa diungkapkan alat pembungkus, atau ketika perlu membaca aturan yang dihasilkan alat lain. Untuk kebutuhan sehari-hari membuka dan menutup port, pembungkus seperti UFW menyelesaikannya dengan risiko salah ketik yang jauh lebih kecil. Sebelum menyalin tutorial mana pun, jalankan iptables -V lebih dulu.

Semoga artikel ini membantu.