Skip to main content
  1. Posts/

Manajemen IPSet melalui Firewalld

·2 mins·
firewalld linux firewalld
Table of Contents

IP sets pada firewalld berfungsi sebagai source untuk memblokir atau mengizinkan sekumpulan baik itu IP, Port, Network, Iface, MAC, dan Mark. Metode yang paling disukai adalah menggunakan IP sets yang dibuat untuk firewall direct rule.

Untuk melihat list IP sets yang didukung firewalld

firewall-cmd --get-ipset-types

Configuring IPset Options
#

Membuat IPset

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

Membuat ipset dari file XML

Buat dan edit file seperti berikut

<?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>

Selanjutnya buat IPset dengan perintah

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

List IPset

firewall-cmd --permanent --get-ipsets

Print informasi IPset

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

Menambahkan entri IPset

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

Anda dapat menambahkan banyak entri sekaligus menggunakan file

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

List entri IPset

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

Hapus entri IPset

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

Hapus IPset

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

Add IPset to Zone
#

Anda dapat menambahkan IPset sebagai sumber ke zona untuk menangani semua lalu lintas yang masuk ke server.

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

Reload firewalld

firewall-cmd --reload

Use IPset with direct rule
#

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
#

hash:ip

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

hash:ip,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

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

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

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

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

hash:net

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

hash:net,iface

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

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

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

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