Akses tidak sah dan peretasan server adalah ancaman serius. Itulah mengapa Anda perlu menerapkan firewall sebagai bagian dari keamanan jaringan. Memahami cara kerja aturan Iptables adalah salah satu langkah utama untuk mengurangi risiko ini pada sistem Linux Anda. Tutorial ini akan memandu Anda mengenal konsep dasar firewall, seperti cara menampilkan aturan iptables dan menghapus aturan iptables di Ubuntu, sehingga Anda bisa menjalankan perintah sederhana untuk melakukannya. Sebelum membahas cara menampilkan atau menghapus aturan iptables, mari kita pahami dulu apa itu aturan iptables dan mengapa kita menggunakannya.
- Apa itu Iptables?
- Panduan lengkap Iptables di Ubuntu
- Cara menghapus aturan iptables?
- Cara menghapus semua aturan, menghapus semua chain, dan mengizinkan semua lalu lintas?
- Cara mengatur iptables di Ubuntu?
- Apa perbedaan iptables dan firewalld?
- Kesimpulan: menampilkan aturan iptables
- Pertanyaan yang Sering Diajukan
Apa itu Iptables?
iptables adalah utilitas firewall berbasis command-line yang mengizinkan atau memblokir lalu lintas melalui rantai kebijakan. Saat koneksi mencoba masuk ke sistem Anda, iptables mencari aturan dalam daftar yang sesuai, sehingga menjadi alat bantu yang tepat untuk keamanan jaringan. Jika tidak ditemukan aturan yang cocok, iptables akan menggunakan tindakan default.
iptables hampir selalu sudah terpasang di setiap Distribusi Linux. Anda dapat menggunakan perintah berikut untuk memperbarui atau menginstalnya:
sudo apt-get install iptables
Mengapa kita menggunakan Iptables?
Sebagai firewall berbasis command line Linux, iptables memungkinkan administrator sistem untuk mengelola lalu lintas masuk dan keluar melalui aturan tabel yang dapat dikonfigurasi. iptables menggunakan sekumpulan tabel dengan chain yang berisi aturan bawaan maupun aturan yang ditentukan pengguna.
Seperti yang disebutkan di bagian sebelumnya, iptables berperan penting dalam keamanan jaringan untuk sebagian besar sistem Linux. Bagian selanjutnya dari artikel ini berfokus pada penjelasan tentang cara menampilkan semua aturan iptables, termasuk konsep seperti cara melihat dan menghapus aturan iptables.
Lebih spesifiknya, artikel ini akan membahas beberapa tugas penting dalam iptables, yaitu cara menampilkan daftar aturan, mereset penghitung paket dan byte, menghapus aturan iptables, mengosongkan chain, serta menghapus semua chain dan mengizinkan semua lalu lintas.
Panduan lengkap Iptables di Ubuntu
Sebelum melihat aturan iptables, pastikan Anda menggunakan server Linux dengan perintah iptables yang sudah terpasang. Selain itu, Anda harus memiliki hak akses sudo. Saat bekerja dengan firewall, berhati-hatilah agar tidak memblokir akses Anda sendiri ke server dengan memblokir lalu lintas SSH (port 22, secara default). Jika Anda kehilangan akses akibat pengaturan firewall, Anda mungkin perlu terhubung melalui konsol out-of-band untuk memperbaikinya.
Baca Juga: Cara Mengganti Port SSH di Linux | Panduan Langkah demi Langkah untuk Port SSH Anda
Menampilkan Aturan Berdasarkan Spesifikasi
Anda dapat melihat aturan iptables yang aktif dalam tabel atau sebagai daftar spesifikasi aturan. Kedua metode ini memberikan informasi yang sama dalam format yang berbeda. Untuk menampilkan semua aturan iptables aktif berdasarkan spesifikasi, jalankan perintah iptables dengan opsi opsi -S:
sudo iptables -S
Setelah menjalankan perintah ini, Anda akan melihat output seperti berikut:

Menampilkan Chain Tertentu
Jika Anda ingin membatasi output iptables pada chain tertentu seperti INPUT, OUTPUT, atau TCP, Anda dapat menentukan nama chain langsung setelah opsi -S. Misalnya, perintah berikut menampilkan aturan pada chain TCP:
sudo iptables -S TCP

Seperti yang telah disebutkan sebelumnya, ada cara lain untuk melihat aturan iptables: menampilkannya dalam format tabel. Berikut penjelasan tentang teknik ini.
Menampilkan Aturan sebagai Tabel
Menampilkan aturan iptables dalam format tabel memudahkan perbandingan berbagai aturan. Jalankan perintah show iptables berikut dengan opsi opsi -L untuk menampilkan semua aturan aktif dalam bentuk tabel:
sudo iptables -L
Perintah ini akan menampilkan semua aturan yang berlaku, dikelompokkan berdasarkan chain. Anda dapat membatasi output pada chain tertentu seperti INPUT, OUTPUT, TCP, dan lain-lain dengan menentukan nama chain langsung setelah opsi -L. Berikut contoh membatasi tampilan aturan iptables pada chain INPUT:
sudo iptables -L INPUT

Baris pertama pada output di atas menampilkan nama chain (dalam hal ini INPUT) beserta kebijakan defaultnya (DROP). Baris berikutnya berisi header setiap kolom dalam tabel beserta aturan-aturan pada chain tersebut. Berikut penjelasan masing-masing kolom:
- Target: Jika sebuah paket sesuai dengan aturan, target menentukan apa yang harus dilakukan terhadap paket tersebut. Paket dapat diterima, dibuang, dicatat, atau dikirim ke chain lain untuk dicocokkan dengan aturan tambahan.
- prot: Protokol yang digunakan (seperti TCP, udp, ICMP, atau all)
- opt: Menunjukkan opsi IP (jarang digunakan)
- source: menampilkan alamat IP/subnet sumber dari traffic
- destination: menampilkan alamat IP/subnet tujuan dari traffic
Kolom tanpa label menunjukkan opsi dari sebuah rule, yaitu bagian rule yang tidak tercakup di kolom-kolom sebelumnya. Isinya bisa berupa apa saja, mulai dari port sumber dan tujuan hingga connection state paket.
Baca Juga: Cara Memasang OpenVPN di VPS – Pengaturan Klien OpenVPN 🔑
Cara menampilkan jumlah paket dan ukuran total?
Saat menampilkan daftar rule iptables, kita bisa melihat jumlah paket dan total ukuran paket dalam bytes yang cocok dengan setiap rule; ini berguna untuk memahami rule mana yang menangkap paket tertentu. Gunakan -L dan opsi -v secara bersamaan untuk melakukannya ini.
Berikut contoh penggunaan chain INPUT lagi, dengan opsi -v:
sudo iptables -L INPUT -v

Perhatikan bahwa daftar kita sekarang memiliki dua kolom tambahan bernama pkts dan bytes. Kita telah mempelajari berbagai cara menjalankan perintah iptables show all rules, dan sekarang saatnya mengetahui cara mereset jumlah paket dan total ukuran.
Cara mereset jumlah paket dan ukuran total?
Gunakan opsi -Z jika ingin mengosongkan atau mereset counter paket dan byte untuk rule Anda. Counter ini juga akan direset saat server di-reboot, yang berguna untuk melihat apakah server menerima traffic baru yang cocok dengan rule yang sudah ada.
Anda bisa mengosongkan counter untuk semua chain dan rule menggunakan Opsi -Z sendiri:
sudo iptables -Z
Untuk menghapus counter semua rule pada chain tertentu, gunakan opsi -Z dan tentukan nama chain-nya. Misalnya, perintah berikut digunakan untuk mengosongkan counter chain INPUT:
sudo iptables -Z INPUT
Jika ingin menghapus counter untuk rule tertentu, sebutkan nama chain dan nomor rule-nya secara tepat. Misalnya, jalankan perintah berikut untuk mereset counter rule pertama di chain INPUT:
sudo iptables -Z INPUT 1
Selain memahami perintah iptables show all rules dan cara mereset counter paket dan byte, penting juga untuk mengetahui cara menghapus rule iptables.
Baca Juga: Cara Menginstal Server PPTP VPN di VPS Anda
Cara menghapus aturan iptables?
Ada beberapa perintah yang bisa digunakan untuk menghapus rule iptables, bahkan untuk menghapus semua rule dalam sebuah chain. Berikut penjelasan metode-metodenya,
Hapus Aturan Berdasarkan Spesifikasi
Salah satu cara menghapus rule iptables adalah melalui spesifikasi rule. Metode ini memungkinkan Anda menjalankan perintah iptables dengan opsi -D beserta spesifikasi rule-nya. Untuk menghapus rule menggunakan teknik ini, Anda bisa memanfaatkan output dari daftar rule, iptables -S, sebagai referensi.
Misalnya, untuk menghapus rule yang memblokir paket masuk yang tidak valid (-A INPUT -m conntrack –ctstate INVALID -j DROP), jalankan perintah berikut:
sudo iptables -D INPUT -m conntrack --ctstate INVALID -j DROP
Perhatikan bahwa opsi -A digunakan untuk menentukan posisi rule saat pembuatan, sehingga harus dihilangkan di sini.
Hapus aturan berdasarkan chain dan nomor
Metode lain untuk menghapus rule iptables adalah melalui chain dan nomor baris. Ketik perintah berikut untuk melihat nomor baris setiap rule, tampilkan rule dalam format tabel, dan tambahkan opsi –line-numbers:
sudo iptables -L --line-numbers

Setelah menjalankan perintah ini, setiap rule iptables akan memiliki nomor baris yang ditampilkan di header num.
Setelah mengetahui rule yang ingin dihapus, catat nama chain dan nomor baris-nya. Gunakan perintah iptables -D dengan menyertakan chain dan nomor rule. Misalnya, jika ingin menghapus rule input yang memblokir paket tidak valid, rule tersebut adalah rule nomor 3 di chain INPUT. Jalankan perintah ini:
sudo iptables -D INPUT 3
Cara mengosongkan chain?
Ada cara untuk menghapus semua aturan Iptables dalam sebuah chain, yang disebut membersihkan rantai. Di sini kita akan membahas berbagai metode untuk melakukannya. Sebelum melanjutkan, perhatikan agar tidak terkunci dari server melalui SSH saat melakukan flush pada chain dengan kebijakan default drop atau deny. Jika hal itu terjadi, Anda mungkin perlu terhubung melalui konsol untuk memulihkan akses.
Flush Satu Chain
Untuk melakukan flush pada chain tertentu, atau dengan kata lain menghapus semua aturan dalam chain tersebut, Anda dapat menggunakan -F atau setara –opsi flush dan nama chain yang dipilih. Misalnya Anda ingin menghapus semua aturan dalam chain INPUT; apa yang harus dilakukan? Mudah saja, jalankan perintah berikut:
sudo iptables -F INPUT
Flush Semua Chain
Untuk menghapus semua chain atau melakukan flush, Anda dapat menggunakan opsi -F atau padanannya –flush secara langsung:
sudo iptables -F
Cara menghapus semua aturan, menghapus semua chain, dan mengizinkan semua lalu lintas?
Pada bagian ini, kita akan menjelaskan cara melakukan flush pada semua aturan, tabel, dan chain firewall serta mengizinkan semua lalu lintas jaringan. Perhatikan bahwa proses ini akan menonaktifkan firewall sepenuhnya. Jadi, ikuti bagian ini hanya jika Anda ingin memulai ulang konfigurasi firewall dari awal.
Pertama, Anda perlu mengatur kebijakan default untuk setiap chain bawaan menjadi ACCEPT. Alasan utamanya adalah untuk memastikan Anda tidak terkunci dari server melalui SSH:
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
Kemudian Anda perlu melakukan flush pada tabel nat dan mangle, flush semua chain (-F), dan menghapus semua chain non-default (-X) seperti ini:
sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -F
sudo iptables -X
Setelah menjalankan perintah-perintah sebelumnya, firewall akan mengizinkan semua lalu lintas jaringan. Jika Anda melihat daftar aturan sekarang, tidak akan ada satu pun yang tersisa; hanya tiga chain default yang tetap ada, yaitu chain INPUT, FORWARD, dan OUTPUT.
Cara mengatur iptables di Ubuntu?
Seperti perilaku dasar firewall pada umumnya, aturan iptables dibaca sesuai urutan yang tercantum pada setiap chain, artinya Anda harus menetapkan aturan dalam urutan yang tepat. Saat Anda menambahkan aturan baru, aturan tersebut akan ditambahkan di akhir daftar aturan. Anda dapat menambahkan aturan baru pada posisi tertentu dalam daftar dengan menyisipkannya menggunakan iptables -I <index> -command. Yang <index> adalah nomor urut tempat Anda ingin menyisipkan aturan dalam perintah ini. Gunakan perintah berikut untuk mengetahui nomor indeks yang harus dimasukkan:
sudo iptables -L --line-numbers
Angka di awal setiap baris aturan menunjukkan posisinya dalam chain. Untuk menambahkan aturan baru di atas aturan yang sudah ada, Anda harus menggunakan nomor indeks aturan tersebut. Misalnya, jika Anda ingin menambahkan aturan baru di bagian paling atas chain, gunakan perintah berikut dengan nomor indeks 1:
sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
Apa perbedaan iptables dan firewalld?
Baik iptables maupun firewalld adalah alat yang andal untuk mengelola firewall pada berbagai sistem Linux yang dirancang khusus untuk penyaringan paket (static filtering). Penyaringan paket adalah strategi firewall yang memungkinkan pengguna mengontrol akses ke jaringan tertentu dengan mengelola paket informasi yang masuk dan keluar. Paket tersebut diizinkan lewat atau ditolak berdasarkan aturan firewall yang telah ditetapkan mengenai protokol, port, serta alamat IP sumber dan tujuan. Aturan-aturan ini memberikan mekanisme keamanan yang efektif, menjadikan penyaringan paket sebagai pertahanan yang baik terhadap perangkat yang dirutekan dari luar LAN (Local Area Network) sistem.
Perlu dicatat bahwa firewalld awalnya diperkenalkan sebagai perangkat lunak untuk menangani iptables guna memudahkan pengguna dalam mengelolanya. Dengan adanya firewalld dan iptables, mari kita bandingkan keduanya secara lebih rinci.
iptables vs firewalld: Konfigurasi sistem
Firewalld dan iptables menggunakan konfigurasi dan pengaturan penyimpanan default yang berbeda. Pada iptables, setiap perubahan mengharuskan penghapusan semua aturan lama dan pembacaan aturan baru, sehingga sistem harus di-reboot. Sebaliknya, pada firewalld, aturan tidak dibuat ulang; melainkan hanya perbedaan dan modifikasi yang diterapkan untuk mengubah aturan yang ada, sehingga perubahannya langsung terlihat pada runtime.
iptables vs firewalld: Antarmuka pengguna
Firewalld menggunakan antarmuka grafis (GUI), sedangkan iptables menggunakan antarmuka baris perintah (CLI) yang mungkin lebih sulit digunakan oleh sebagian orang untuk mengakses aturan firewall kernel Linux, sehingga firewalld menjadi pilihan yang lebih mudah. Perlu diperhatikan bahwa iptables memiliki waktu respons yang lebih singkat karena hanya menggunakan perintah-perintah pendek. Terlepas dari itu semua, keduanya memiliki kasus penggunaan masing-masing, jadi pilih yang paling nyaman untuk Anda gunakan.
Kesimpulan: menampilkan aturan iptables
Iptables adalah utilitas firewall yang sangat fleksibel dan dibuat khusus untuk sistem operasi Linux. Tidak peduli apakah Anda pengguna baru yang baru mengenal Linux atau seorang administrator sistem berpengalaman, aturan iptables pasti akan berguna bagi Anda. Artikel ini terutama membahas perintah-perintah dasar untuk utilitas firewall ini, termasuk cara menampilkan dan menghapus aturan iptables, dengan tujuan memberikan gambaran singkat tentang kemampuan Linux. Selain itu, Anda dapat menggunakan solusi hosting Linux VPS kami untuk memaksimalkan potensi sistem operasi yang luar biasa ini. Di Cloudzy, kami menawarkan berbagai paket Linux VPS berbasis KVM yang cocok untuk berbagai kebutuhan, seperti web hosting, deploy aplikasi web, atau bahkan menyiapkan lingkungan untuk mengembangkan, menguji, dan mengotomatiskan kode.
Pertanyaan yang Sering Diajukan
Cara menampilkan semua aturan iptables Linux berdasarkan spesifikasi?
Jika Anda ingin menampilkan semua aturan iptables yang sedang aktif berdasarkan spesifikasi atau fungsinya, Anda dapat melakukannya dengan perintah iptables diikuti oleh -S flag. Perhatikan penggunaan sudo kata kunci dalam kasus ini:
sudo iptables -S
Cara menghapus aturan iptables?
Untuk menghapus chain tertentu beserta semua aturan di dalamnya, gunakan opsi -F atau –flush diikuti dengan nama chain. Misalnya, jika ingin menghapus semua aturan di chain OUTPUT, jalankan perintah berikut:
sudo iptables -F OUTPUT
Bagaimana cara kerja iptables di Ubuntu?
Firewall iptables mencocokkan lalu lintas jaringan dengan sekumpulan aturan. Setiap aturan mendefinisikan karakteristik paket yang harus dicocokkan dan tindakan yang diambil jika paket cocok. Ada banyak opsi untuk menentukan paket mana yang sesuai dengan aturan tertentu.
Apakah aturan iptables langsung berlaku setelah diterapkan? Mengapa?
Ya, aturan iptables langsung berlaku begitu ditambahkan. Karena skrip Anda menambahkan aturan ke chain INPUT dan OUTPUT, aturan tersebut akan ditempatkan di bagian akhir chain.