Memahami kerangka kerja IPv6 yang terpisah lewat ip6tables dan kenapa aturan IPv6 wajib dibuat sendiri, mengenal arptables dan ebtables untuk lapisan ARP dan bridge, serta alasan nftables menyatukan seluruh keluarga tool ini dalam satu framework

Sejauh ini semua aturan kita menyentuh IPv4. Tapi IPv6 bukan lagi "masa depan" — ia sudah berjalan di jaringan modern, cloud, dan bahkan alamat loopback kalian (::1). Dan ada fakta yang sering diabaikan: iptables tidak menyentuh IPv6 sama sekali. Kalian butuh tool terpisah bernama ip6tables.
Lebih jauh lagi, keluarga tool firewall Linux tidak berhenti di situ: ada arptables untuk lapisan ARP dan ebtables untuk bridge. Episode 14 merangkai semuanya — dan menjelaskan mengapa nftables akhirnya menyatukan tiga tool ini menjadi satu.
ip6tables adalah saudara kembar iptables untuk protokol IPv6 — tabel, chain, target, dan syntax-nya sama persis:
sudo ip6tables -L -n -vSintaksnya identik dengan iptables, hanya menangani alamat IPv6:
sudo ip6tables -A INPUT -s 2001:db8::/32 -p tcp --dport 22 -j ACCEPT
sudo ip6tables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPTYang wajib kalian tanam: iptables dan ip6tables adalah dua ruleset terpisah. Memasang aturan di iptables tidak berpengaruh sedikit pun pada IPv6.
Inilah alasan keamanannya. Pertimbangkan skenario klasik:
# Kalian pikir sudah mengunci semua akses masuk:
sudo iptables -P INPUT DROP
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPTKalau mesin punya alamat IPv6 (dan kemungkinan besar iya), chain ip6tables masih kosong dengan policy default ACCEPT — artinya port 22 (atau layanan lain) bisa diakses lewat IPv6 tanpa hambatan. Firewall IPv4 yang "terkunci" membuat kalian merasa aman padahal pintu belakang terbuka.
sudo ip6tables -P INPUT DROP
sudo ip6tables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo ip6tables -A INPUT -p tcp --dport 22 -j ACCEPTDanger
Mesin dengan IPv6 tanpa ruleset ip6tables adalah celah keamanan yang umum dan mahal. Salah satu kasus audit paling sering ditemukan: IPv4 terkunci rapat, IPv6 terbuka lebar. Setiap kali kalian menyusun aturan IPv4 di produksi, tulis aturan IPv6 yang setara — jadikan keduanya satu checklist.
Perbedaan konseptual yang penting: dalam desain IPv6, setiap host bisa punya alamat global secara langsung — NAT bukan kebutuhan. Praktik yang disarankan adalah firewalling langsung, bukan menyembunyikan host di balik NAT. Namun iptables tetap mendukung NAT IPv6 (ip6tables -t nat) untuk kasus transisi dan korporasi yang menuntutnya.
ARP (Address Resolution Protocol) menerjemahkan IP ke MAC di segmen LAN — dan ia adalah titik rawan: serangan ARP spoofing (menyamar sebagai gateway) beroperasi di lapisan ini. arptables memfilter paket ARP:
sudo arptables -A INPUT --source-mac aa:bb:cc:dd:ee:ff -j DROPsudo arptables -L -nDi sebagian besar setup modern, tool ini jarang dipakai langsung — tetapi memahami keberadaannya membantu saat membaca dokumentasi lama atau audit jaringan yang menuntut kontrol lapisan-2.
ebtables memfilter frame di bridge — jembatan jaringan layer-2 (misalnya mesin yang menggabungkan dua switch). Karena frame yang melewati bridge tidak "naik" ke lapisan IP, iptables tidak melihatnya; ebtables yang menangani:
sudo ebtables -A FORWARD -s aa:bb:cc:dd:ee:ff -j DROPsudo ebtables -L -nKonteks nyata: firewall bridge sering dipakai untuk appliance keamanan yang dicolok inline di jaringan — mesin tanpa alamat IP sendiri, hanya memfilter frame yang lewat.
Merangkum posisi masing-masing tool:
| Tool | Lapisan | Menangani |
|---|---|---|
iptables | 3/4 (IPv4) | Paket IPv4 (filter, NAT, mangle) |
ip6tables | 3/4 (IPv6) | Paket IPv6 |
arptables | 2 | Paket ARP |
ebtables | 2 | Frame di bridge (802.3/Ethernet) |
Empat tool, empat binary, empat ruleset terpisah. Inilah fragmentasi yang akhirnya dipecahkan nftables.
Masalahnya terasa jelas: mengelola empat tool dengan sintaks berbeda untuk satu kebijakan adalah pekerjaan yang rawan lupa (ingat kasus IPv6 di atas?). nftables — penerus netfilter — merancang ulang dari nol:
nft) untuk IPv4, IPv6, ARP, dan bridge — tanpa perlu empat binary.ip, ip6, inet, arp, bridge) di dalam satu file.nft add table inet firewall
nft add chain inet firewall input { type filter hook input priority 0; policy drop; }Satu aturan inet menangani IPv4 dan IPv6 sekaligus — konsep yang mustahil di iptables. Detail lengkap perbandingan ini kita bedah di episode 19-20 dan 22.
ip6tables-save berbeda dari iptables-save — keduanya punya file persistensi sendiri (ingat episode 8).Inti yang harus dibawa pulang:
Di episode 15 selanjutnya kita akan membahas skenario server: web, SSH & mail — merancang aturan untuk server yang benar-benar melayani trafik publik: mengizinkan 80/443 dengan rate limit port 22, menjatuhkan scan, logging, dan mengamankan mail server di port 25/587/993/465 dengan pola stateful dan relay hardening. Sampai jumpa di episode 15!