IPset
ipset create <nome_do_conjunto> hash:ip [timeout N] > cria um novo conjunto do tipo IP (hash:ip, tem também hash:net), timeout é opcional
ipset -N <nome_do_conjunto> iphash > cria um novo conjunto do tipo IP (iphash, tem também nethash)
ipset help > exibe a ajuda
ipset list > lista as entradas de todos os conjuntos
ipset -L
ipset list <nome_do_conjunto> > lista entradas de um conjunto
ipset add <nome_do_conjunto> IP [timeout N] > adiciona IP no conjunto. Timeout so se conjunto foi criado com essa opção
ipset -A <nome_do_conjunto> IP > adiciona IP no conjunto.
ipset del <nome_do_conjunto> IP [timeout N] > exclui IP no conjunto. Timeout so se conjunto foi criado com essa opção
ipset -D <nome_do_conjunto> IP > exclui IP no conjunto.
ipset flush <nome_do_conjunto> > limpa o conteúdo do conjunto
ipset -F
ipset destroy <nome_do_conjunto> > exclui um conjunto que não esteja sendo utilizado
ipset -X
ipset create <nome_do_conjunto> hash:ip [timeout N] > cria um novo conjunto do tipo IP (hash:ip, tem também hash:net), timeout é opcional
ipset -N <nome_do_conjunto> iphash > cria um novo conjunto do tipo IP (iphash, tem também nethash)
ipset help > exibe a ajuda
ipset list > lista as entradas de todos os conjuntos
ipset -L
ipset list <nome_do_conjunto> > lista entradas de um conjunto
ipset add <nome_do_conjunto> IP [timeout N] > adiciona IP no conjunto. Timeout so se conjunto foi criado com essa opção
ipset -A <nome_do_conjunto> IP > adiciona IP no conjunto.
ipset del <nome_do_conjunto> IP [timeout N] > exclui IP no conjunto. Timeout so se conjunto foi criado com essa opção
ipset -D <nome_do_conjunto> IP > exclui IP no conjunto.
ipset flush <nome_do_conjunto> > limpa o conteúdo do conjunto
ipset -F
ipset destroy <nome_do_conjunto> > exclui um conjunto que não esteja sendo utilizado
ipset -X
exemplo:
# ipset create ip_bloqueado hash:ip
# ipset add ip_bloqueado 192.168.200.2
# ipset add ip_bloqueado 192.168.200.3
# ipset add ip_bloqueado 192.168.200.4
# iptables -A INPUT -t filter -m set --match-set ip_bloqueado src -j DROP
exemplo2:
# ipset -N myset iphash
# ipset -A myset 1.1.1.1
# ipset -A myset 2.2.2.2
# iptables -A INPUT -m set --set myset src -j DROP
ipset persistent
opção01:
# ipset save ip_bloqueado > ip_bloqueado > salvar um conjunto
# ipset restore < ip_bloqueado > restaurar na inicialização do sistema
opção02:
# ipset save > /etc/ipset.conf
systemctl enable ipset
systemctl start ipset
opção 03:
nano /etc/systemd/system/ipset.service
[Unit]
Description=ipset persistent rule service
Before=firewalld.service
ConditionFileNotEmpty=/etc/sysconfig/ipset
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/ipset -exist -file /etc/sysconfig/ipset restore
ExecStop=/usr/sbin/ipset -file /etc/sysconfig/ipset save
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable ipset
/usr/sbin/ipset -file /etc/sysconfig/ipset save
systemctl list-units --type=target –all
ls -la /etc/systemd/system
ls -la /usr/lib/systemd/system/
systemctl cat sshd.service
systemctl cat iptables.service
IMPORTANTE: Você precisa se certificar que os conjuntos serão restaurados primeiro do que as regras do firewall na inicialização do sistema ou todas as regras em que você referência dos conjuntos falharão
https://ipset.netfilter.org/