No edit summary
Line 54: Line 54:
* protokol
* protokol
* action (ACCEPT, DROP, REJECT)
* action (ACCEPT, DROP, REJECT)
=== <u>Konsep penting: Connection Tracking</u> ===
iptables bersifat '''stateful''', artinya firewall tahu keadaan koneksi.
State umum:
* <code>NEW</code> — koneksi baru
* <code>ESTABLISHED</code> — koneksi yang sudah berjalan
* <code>RELATED</code> — koneksi tambahan (FTP, ICMP error)
* <code>INVALID</code> — paket rusak/tidak sesuai
Contoh rule penting:<syntaxhighlight lang="shell">
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
</syntaxhighlight>→ Supaya koneksi yang sudah terbentuk tidak diblokir.

Revision as of 19:56, 31 October 2025

Apa itu IPTables?

iptables adalah firewall berbasis packet filtering yang bekerja menggunakan Netfilter di kernel Linux.

Ia mengatur lalu-lintas IPv4 (ada juga ip6tables untuk IPv6).

Walaupun Debian 12 memakai nftables secara default, iptables masih sangat penting untuk dipahami, karena:

  • Banyak server lama masih memakai iptables.
  • Banyak software firewall (fail2ban, docker versi lama, kube-proxy lama) masih berinteraksi dengan iptables.
  • Banyak job IT meminta kemampuan iptables.

Arsitektur Dasar (Tables, Chains, Rules)

Tabel (Tables)

Tabel adalah kategori besar untuk aturan firewall.

Tabel utama:

  • filter → untuk filtering / menyaring paket Chain: INPUT, OUTPUT, FORWARD
  • nat → untuk NAT (SNAT/MASQUERADE & DNAT/PORT FORWARD) Chain: PREROUTING, POSTROUTING, OUTPUT
  • mangle → modifikasi header paket (QoS, TTL, dsb)
  • raw → pengecualian dari connection tracking
  • security → SELinux (jarang dipakai di Debian

Untuk awal-awal kita fokus pada filter dan nat dulu.

Chain (rantai proses firewall)

Chain Fungsi
INPUT Paket menuju server lokal
OUTPUT Paket yang keluar dari server
FORWARD Paket yang lewat server (jika server jadi router)
PREROUTING DNAT, port-forwarding sebelum routing
POSTROUTING SNAT/MASQUERADE setelah routing

Rules

Rule adalah aturan seperti:

  • sumber/dst address
  • source/dst port
  • protokol
  • action (ACCEPT, DROP, REJECT)

Konsep penting: Connection Tracking

iptables bersifat stateful, artinya firewall tahu keadaan koneksi.

State umum:

  • NEW — koneksi baru
  • ESTABLISHED — koneksi yang sudah berjalan
  • RELATED — koneksi tambahan (FTP, ICMP error)
  • INVALID — paket rusak/tidak sesuai

Contoh rule penting:

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

→ Supaya koneksi yang sudah terbentuk tidak diblokir.