Skip to main content
  1. Posts/

Manajemen IPSet melalui Firewalld

·3 mins·
firewalld linux firewalld
Table of Contents

IP sets pada firewalld berfungsi sebagai source (sumber) untuk memblokir atau mengizinkan sekumpulan alamat IP atau identifier tertentu, seperti:

  • IP Address
  • Port
  • Network
  • Interface (Iface)
  • MAC Address
  • Mark

Metode yang paling direkomendasikan adalah menggunakan IP sets yang dibuat untuk firewall direct rule.

Untuk melihat jenis IP sets yang didukung.

firewall-cmd --get-ipset-types

Konfigurasi IP Set
#

Membuat IP Set Baru
#

firewall-cmd --permanent --new-ipset=bad_ip --type=hash:ip

Membuat IP Set dari File XML
#

Buat file XML, misalnya bad_ip.xml:

<?xml version="1.0" encoding="utf-8"?>
<ipset type="hash:ip">
  <entry>192.168.0.2</entry>
  <entry>192.168.0.3</entry>
  <entry>192.168.0.4</entry>
</ipset>

Kemudian jalankan:

firewall-cmd --permanent --new-ipset-from-file=bad_ip.xml --name=bad_ip

Menampilkan Daftar IP Set
#

firewall-cmd --permanent --get-ipsets

Melihat Informasi IP Set
#

firewall-cmd --permanent --info-ipset=bad_ip

Menambahkan Entri ke IP Set
#

firewall-cmd --permanent --ipset=bad_ip --add-entry=192.168.0.2

Menambahkan banyak entri sekaligus dari file:

firewall-cmd --permanent --ipset=bad_ip --add-entries-from-file=iplist.txt

Menampilkan Entri dalam IP Set
#

firewall-cmd --permanent --ipset=bad_ip --get-entries

Menghapus Entri dari IP Set
#

firewall-cmd --permanent --ipset=bad_ip --remove-entry=192.168.0.2

Menghapus IP Set
#

firewall-cmd --permanent --delete-ipset=bad_ip

Menambahkan IPset ke Zone
#

Anda dapat menambahkan IPset sebagai source ke dalam sebuah zone. Semua lalu lintas dari IP yang tercantum di dalam IPset akan diperlakukan sesuai aturan zona tersebut.

Contoh: menambahkan bad_ip ke zone drop

firewall-cmd --permanent --zone=drop --add-source=ipset:bad_ip

Reload firewalld agar perubahan diterapkan:

firewall-cmd --reload

Menggunakan IPset dengan Direct Rule
#

Selain zona, IPset juga dapat digunakan dengan direct rule untuk kontrol yang lebih spesifik.

Contoh: memblokir semua koneksi masuk dari bad_ip:

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -m set --match-set bad_ip src -j DROP

Reload firewalld:

firewall-cmd --reload

Example IPset types
#

Firewalld mendukung berbagai jenis IPset dengan kombinasi berbeda (IP, Network, Port, MAC, Iface, Mark). Berikut beberapa contoh penggunaannya:

hash:ip
#

Menyimpan daftar alamat IP individu.

firewall-cmd --permanent --new-ipset=myipset --type=hash:ip
firewall-cmd --permanent --ipset=myipset --add-entry=192.168.1.10

hash:ip,mark
#

Menyimpan pasangan IP dengan mark.

firewall-cmd --permanent --new-ipset=myipset --type=hash:ip,mark
firewall-cmd --permanent --ipset=myipset --add-entry=192.168.1.10,RED

hash:ip,port
#

Menyimpan pasangan IP dengan port tertentu.

firewall-cmd --permanent --new-ipset=myipset --type=hash:ip,port
firewall-cmd --permanent --ipset=myipset --add-entry=192.168.1.10,80

hash:ip,port,ip
#

Menyimpan kombinasi IP sumber, port, dan IP tujuan.

firewall-cmd --permanent --new-ipset=myipset --type=hash:ip,port,ip
firewall-cmd --permanent --ipset=myipset --add-entry=192.168.1.10,80,192.168.2.20

hash:ip,port,net
#

Menyimpan kombinasi IP sumber, port, dan network tujuan.

firewall-cmd --permanent --new-ipset=myipset --type=hash:ip,port,net
firewall-cmd --permanent --ipset=myipset --add-entry=192.168.1.10,80,192.168.2.0/24

hash:mac
#

Menyimpan daftar alamat MAC.

firewall-cmd --permanent --new-ipset=myipset --type=hash:mac
firewall-cmd --permanent --ipset=myipset --add-entry=00:11:22:33:44:55

hash:net
#

Menyimpan daftar network (subnet).

firewall-cmd --permanent --new-ipset=myipset --type=hash:net
firewall-cmd --permanent --ipset=myipset --add-entry=192.168.0.0/24

hash:net,iface
#

Menyimpan pasangan network dan interface.

firewall-cmd --permanent --new-ipset=myipset --type=hash:net,iface
firewall-cmd --permanent --ipset=myipset --add-entry=192.168.0.0/24,eth0

hash:net,net
#

Menyimpan pasangan antar network.

firewall-cmd --permanent --new-ipset=myipset --type=hash:net,net
firewall-cmd --permanent --ipset=myipset --add-entry=192.168.0.0/24,10.0.0.0/8

hash:net,port
#

Menyimpan kombinasi network dengan port tertentu.

firewall-cmd --permanent --new-ipset=myipset --type=hash:net,port
firewall-cmd --permanent --ipset=myipset --add-entry=192.168.0.0/24,80

hash:net,port,net
#

Menyimpan kombinasi network sumber, port, dan network tujuan.

firewall-cmd --permanent --new-ipset=myipset --type=hash:net,port,net
firewall-cmd --permanent --ipset=myipset --add-entry=192.168.0.0/24,80,10.0.0.0/8

Related

Cara Menambah Service di Firewalld
·1 min
firewalld linux firewalld
Cara Menambahkan Direct Rule di Firewalld
·1 min
firewalld linux firewalld
Konfigurasi IP Masquerading Menggunakan Firewalld
·1 min
firewalld linux firewalld
Konfigurasi LogDenied di Firewalld
·1 min
firewalld linux firewalld
Script Bash untuk Backup MySQL
·2 mins
bash linux mysql bash
Bash Script Handbook
·11 mins
bash bash linux