Cara Menggunakan NFTables untuk Firewall Server & Router
Diagram untuk memahami konsep nftables:
![]() |
| https://wiki.nftables.org/wiki-nftables/index.php/Netfilter_hooks |
📌 Apa itu NFTables?
NFTables adalah firewall modern yang menjadi pengganti IPTables dalam framework Netfilter di Linux. Sistem ini menyediakan:
- Framework packet filtering yang lebih fleksibel
- Utility baru bernama
nft - Kompatibilitas dengan IPTables lama
- Integrasi dengan connection tracking, logging, dan queueing Netfilter
NFTables dirancang agar lebih sederhana, efisien, dan mudah dikelola dibanding IPTables.
📌 Konsep Dasar NFTables
Saat paket masuk ke server/router, paket akan melewati Netfilter Hooks, seperti:
- Prerouting → sebelum routing
- Input → paket menuju host
- Forward → paket diteruskan router
- Output → paket keluar dari host
- Postrouting → setelah routing
Beberapa poin penting:
✅ Filtering Layer 2 atau Layer 3 bisa dipilih sesuai kebutuhan
✅ DNAT biasanya di Prerouting Hook
✅ SNAT biasanya di Postrouting Hook
📌 Chain yang Umum Digunakan
Jika di Server:
- INPUT → filter trafik masuk
Jika di Router:
- INPUT → trafik ke router
- FORWARD → trafik yang diteruskan
Untuk semua:
- OUTPUT → filter trafik keluar
Berbeda dengan IPTables, NFTables tidak memiliki built-in chain tetap. Kita bisa membuat chain sendiri sesuai kebutuhan.
📌 Struktur NFTables
Hierarchy dasar:
Table → Chain → Rules
- Table → wadah konfigurasi
- Chain → berisi rules
- Rules → kondisi + aksi (accept/drop/dll)
🛠️ Contoh Konfigurasi Dasar
1️⃣ Install NFTables
apt-get install nftables
2️⃣ Buat Table & Default Policy Drop
Semua incoming packet akan ditolak secara default.
nft add table inet filter
nft add chain inet filter input '{ type filter hook input priority 0 ; policy drop ; }'
3️⃣ Membuat Trusted List
Berisi IP yang diperbolehkan.
nft add set inet filter trusted '{ type ipv4_addr ; }'
nft add element inet filter trusted '{ 10.0.0.1 }'
nft add element inet filter trusted '{ 10.0.0.2 }'
4️⃣ Allow SSH dari Trusted List
nft add rule inet filter input tcp dport 22 ip saddr @trusted accept
5️⃣ Allow ICMP dari Trusted List
nft add rule inet filter input icmp type echo-request ip saddr @trusted accept
📌 Kesimpulan
NFTables adalah firewall modern yang:
✔ Lebih sederhana dari IPTables
✔ Lebih fleksibel dalam membuat chain & rules
✔ Mendukung filtering yang lebih efisien
Konfigurasi bisa dilakukan via CLI atau disimpan di /etc/nftables.conf agar tetap aktif setelah reboot.
🎯 Penutup
Selanjutnya kamu bisa mengembangkan konfigurasi seperti:
- NAT (DNAT/SNAT)
- Port forwarding
- Logging firewall
- Stateful filtering

Komentar