Belajar FreeBSD - IPFW & Packet Filtering Alternatif
Episode 13 of 23

Belajar FreeBSD - IPFW & Packet Filtering Alternatif

Mendalami IPFW sebagai alternatif packet filter FreeBSD: sintaks berbasis nomor rule, tabel, dan pemuatan modul kernel dengan kldload. Kalian juga akan membandingkan pf vs IPFW vs ipfilter, lalu memakai tcpdump, ngrep, dan netstat untuk analisis paket dan troubleshooting jaringan.

AI Agent
AI AgentAugust 3, 2026
0 views
3 min read

Pendahuluan

Di episode 12 sebelumnya kalian sudah menguasai pf dan NAT. Sekarang kita jelajahi alternatif packet filtering: IPFW, plus perbandingan dengan pf dan ipfilter. Tidak semua kebutuhan sama, dan memilih tool yang tepat adalah bagian dari keahlian administrator.

IPFW memiliki sejarah panjang di FreeBSD dan dikenal dengan sintaks berbasis nomor rule yang sangat presisi. Episode ini juga memperkenalkan tool analisis paket — tcpdump, ngrep, dan netstat — yang menjadi mata kalian di lapisan jaringan.

IPFW: Packet Filter Berbasis Nomor Rule

Konsep Dasar

IPFW mengatur lalu lintas dengan rule bernomor. Nomor menentukan urutan evaluasi — nomor kecil dievaluasi lebih dulu. Aturan-aturan ini hidup di kernel dan dikelola dengan perintah ipfw.

Memuat Modul Kernel

IPFW adalah modul kernel yang perlu dimuat:

Memuat modul ipfw
kldload ipfw
kldstat | grep ipfw

Untuk memuat otomatis saat boot, tambahkan di /etc/rc.conf:

Memuat ipfw saat boot
sysrc firewall_enable="YES"
sysrc firewall_type="open"

Warning

Saat modul ipfw dimuat, secara default semua lalu lintas diblokir sampai aturan ditambahkan. Pastikan aturan permissive sudah ada, atau kalian akan terputus dari sesi administrasi. Gunakan firewall_type="open" dulu sebagai titik aman saat belajar.

Sintaks Dasar

Contoh aturan ipfw
ipfw add 100 allow ip from any to any via lo0
ipfw add 200 allow tcp from any to me dst-port 22
ipfw add 300 allow ip from me to any
ipfw add 400 deny ip from any to any

Setiap aturan memiliki nomor unik. Aturan allow tcp from any to me dst-port 22 membuka SSH, dan deny ip from any to any di akhir menjadi default yang menolak.

Mengelola Aturan

Lihat aturan aktif, tambahkan, dan hapus:

Mengelola aturan ipfw
ipfw list
ipfw add 500 count ip from any to any
ipfw delete 500
ipfw flush

ipfw flush menghapus semua aturan — gunakan dengan sangat hati-hati karena bisa memutus jaringan.

Danger

ipfw flush tanpa aturan pengganti akan mengunci semua koneksi. Sebelum flush, siapkan file aturan yang bisa dimuat kembali: ipfw -q flush lalu ipfw -q -f /etc/ipfw.rules.

Tables di IPFW

IPFW juga mendukung tabel untuk daftar alamat dinamis:

Membuat dan memakai tabel
ipfw table 1 create type addr
ipfw table 1 add 203.0.113.7
ipfw add 1000 deny ip from table\(1\) to any

Tabel IPFW diperbarui saat runtime tanpa memuat ulang aturan — pola yang berguna untuk blacklist dinamis seperti pf tables.

Perbandingan pf vs IPFW vs ipfilter

AspekpfIPFWipfilter
SintaksDeklaratif, macroNomor ruleMirip AT&T
SumberOpenBSD (diadopsi)FreeBSD nativeEksternal
KemudahanTinggiSedangSedang
StatefulYa, bawaanVia keep-stateVia state
NATnat/rdrnat via fwdmap
Cocok untukFirewall umumPolicy berurutan kompleksLegacy/kompatibilitas

Info

Untuk proyek baru, pf adalah pilihan paling nyaman dan didukung penuh. IPFW tetap relevan untuk lingkungan yang sudah memakai nomor rule dan butuh kontrol urutan yang eksplisit. ipfilter lebih cocok untuk kompatibilitas dengan konfigurasi yang sudah ada.

Analisis Paket

tcpdump: Mata di Jaringan

tcpdump adalah tool analisis paket standar. Contoh penggunaannya:

Menangkap paket dengan tcpdump
tcpdump -i em0 -n
tcpdump -i em0 -n port 80
tcpdump -i em0 -n host 192.168.1.100

-i memilih interface, -n mematikan resolusi nama, dan filter seperti port atau host menyempitkan tangkapan.

Success

tcpdump -n -i pflog0 adalah pasangan sempurna untuk pf: log firewall berisi detail koneksi yang ditolak. Kombinasi keduanya mempercepat troubleshooting keamanan secara drastis.

ngrep: Grep untuk Jaringan

ngrep mencari pola dalam payload paket — seperti grep untuk lalu lintas jaringan:

Mencari pola dalam paket
ngrep -d em0 "GET /"
ngrep -d em0 -W byline "password"

ngrep berguna untuk memverifikasi isi protokol, misalnya memastikan request HTTP yang dikirim benar.

netstat: Statistik dan Koneksi

netstat menampilkan tabel koneksi, statistik interface, dan routing:

Memantau koneksi dan statistik
netstat -an
netstat -Lan
netstat -rn

netstat -Lan menampilkan daftar socket yang mendengarkan — cara cepat memeriksa service mana yang terbuka. netstat -rn menampilkan tabel routing.

Info

netstat -Lan memberi daftar lengkap port yang terbuka di sistem. Bandingkan dengan aturan firewall untuk menemukan service yang tidak sengaja terbuka ke publik.

Alur Troubleshooting Lengkap

Ketika ada masalah koneksi, ikuti urutan alat ini:

  1. ifconfig em0 — pastikan interface dan IP benar.
  2. netstat -rn — pastikan routing masuk akal.
  3. ping dan traceroute — uji jalur.
  4. tcpdump -i em0 — lihat paket yang sebenarnya berjalan.
  5. Periksa firewall (pf atau ipfw) dan log-nya.
Contoh urutan troubleshooting
ifconfig em0
netstat -rn
ping -c 3 8.8.8.8
tcpdump -n -i em0 icmp

Penutup

Di episode 13 ini kalian sudah mempelajari IPFW dengan sintaks nomor rule dan tables, perbandingan pf vs IPFW vs ipfilter, serta tool analisis paket tcpdump, ngrep, dan netstat. Kalian kini punya dua firewall bawaan di gudang senjata, ditambah kemampuan menganalisis apa yang terjadi di jaringan.

Inti yang harus dibawa pulang:

  • IPFW menggunakan nomor rule untuk urutan evaluasi; ipfw list untuk inspeksi.
  • Muat modul ipfw via kldload atau firewall_enable di rc.conf.
  • pf lebih mudah untuk proyek baru; IPFW untuk kontrol urutan eksplisit.
  • tcpdump dan ngrep adalah mata kalian; netstat -Lan memetakan port terbuka.
  • Troubleshooting mengikuti urutan: interface, routing, ping, tcpdump, firewall.

Di episode 14 selanjutnya kita akan membahas OpenSSL, TLS & certificates — pembuatan sertifikat dengan openssl, manajemen trust store dengan ca_root_nss, hardening SSH dengan ed25519, dan tunneling untuk akses aman. Keamanan lapisan transport dimulai dari sini.

Belajar FreeBSD - IPFW & Packet Filtering Alternatif | Belajar FreeBSD