Firewall berbasis iptables
sudah lama menjadi bagian penting dalam keamanan jaringan di sistem operasi Linux. Namun, banyak pengguna—terutama yang masih baru—merasa kesulitan karena sintaks iptables
bisa membingungkan dan rentan salah jika diketik manual.
Untuk menjawab kebutuhan tersebut, saya membuat sebuah skrip Bash interaktif bernama IPTables Wizard. Tool ini dirancang untuk mempermudah pengguna dalam membuat dan menerapkan aturan iptables melalui antarmuka berbasis terminal.
Apa Itu IPTables Wizard?
IPTables Wizard adalah skrip shell interaktif yang memungkinkan pengguna membuat aturan firewall secara mudah dengan memilih dari menu yang telah disediakan. Skrip ini sangat cocok digunakan oleh administrator jaringan, sysadmin, atau pengguna biasa yang ingin mengontrol trafik jaringan secara lebih aman dan fleksibel.
Fitur Utama
- Preset rule untuk layanan umum seperti SSH, HTTP/HTTPS, FTP, DNS, dan lainnya.
- Sub-menu untuk masing-masing preset: allow, drop, allow from source, dan drop from source.
- Support untuk membuat rule custom (INPUT, OUTPUT, FORWARD, PREROUTING/NAT).
- Opsi penghapusan semua rule (flush) dan reset default policy (DROP untuk INPUT dan FORWARD, ACCEPT untuk OUTPUT).
- Tampilan rule yang sedang aktif di sistem (
iptables -L -v -n
). - Rule preview sebelum benar-benar diterapkan.
- Penyimpanan rule ke file konfigurasi.
Syarat Penggunaan
- Sistem Linux dengan paket
iptables
terpasang. - Akses root (wajib).
- Bash shell.
Cara Install dan Menjalankan
- Clone repositori GitHub:
git clone https://github.com/ryanachmad12/IPTables-Wizard-Term.git && cd IPTables-Wizard-Term
- Ubah file agar bisa dieksekusi:
chmod +x main.sh
- Jalankan sebagai root:
sudo ./main.sh

Sebagai contoh saya menjalankan pilihan untuk ssh:

Kita mencoba untuk memilih allow dan ketika selesai akan diarah ke menu utama dan bisa dicheck untuk iptables di bagian “Finish and Continue”:

Dan mencoba apply untuk langsung menggunakan rule yang ditambahkan, kemudian untuk melakukan check rule yang kita pasang bisa menggunakan pilihan “Show Current Rules”:

Navigasi Menu
Setelah dijalankan, skrip akan menampilkan antarmuka interaktif berupa pilihan menu seperti:
- SSH (port 22)
- Web (port 80 dan 443)
- FTP
- DNS
- Ping (ICMP)
- SMTP, IMAP, NTP, VPN, dan lainnya
- Custom rule builder
- Flush rule
- Reset policy
- Show current rules
- Apply & Save
Setiap preset memiliki sub-menu:
- Allow
- Drop
- Allow from specific source
- Drop from specific source
Custom rule builder juga mendukung input protokol (TCP/UDP/both), port, dan sumber IP secara fleksibel.
Contoh Rule yang Dihasilkan
Jika misalnya kamu memilih preset SSH dengan allow from source 192.168.0.100
, maka rule yang dihasilkan seperti ini:
iptables -A INPUT -p tcp -s 192.168.0.100 --dport 22 -j ACCEPT
Atau jika kamu memilih DNS (UDP port 53) dan memilih Drop tanpa IP spesifik:
iptables -A INPUT -p udp --dport 53 -j DROP
Sebelum aturan diterapkan, kamu juga akan diberikan opsi untuk meninjau (preview) semua rule terlebih dahulu.
Opsi Penyimpanan dan Penerapan
Setelah selesai menyusun rule, kamu dapat memilih salah satu dari tiga opsi:
- Terapkan langsung ke iptables
- Simpan ke file
/etc/iptables.rules
- Terapkan dan simpan sekaligus
File konfigurasi ini dapat digunakan ulang saat boot menggunakan iptables-restore
jika diperlukan.
Mengapa Menggunakan Tool Ini?
Tool ini membantu menghindari kesalahan penulisan rule dan mempercepat proses setup firewall. Cocok digunakan pada server baru, server publik, maupun perangkat embedded yang butuh kontrol akses jaringan.
Akses Repositori
Kode sumber tersedia di GitHub:
Dokumentasi resmi iptables yang digunakan sebagai acuan dapat dilihat di:
Penutup
IPTables Wizard bukan pengganti firewall manager seperti ufw
atau firewalld
, melainkan alat bantu ringan bagi pengguna yang lebih nyaman menggunakan iptables langsung, namun dengan cara yang lebih intuitif dan cepat.
Jika kamu tertarik dengan keamanan sistem Linux dan administrasi jaringan, tool ini bisa menjadi bagian penting dalam toolkit harianmu.