5.15. Configuração e controle de conjuntos IP usando firewalld
Para ver a lista de tipos de conjunto IP suportados por firewalld
, digite o seguinte comando como root.
~]# firewall-cmd --get-ipset-types hash:ip hash:ip,mark hash:ip,port hash:ip,port,ip hash:ip,port,net hash:mac hash:net hash:net,iface hash:net,net hash:net,port hash:net,port,net
5.15.1. Configuração das opções do conjunto IP usando CLI
Os conjuntos IP podem ser usados nas zonas firewalld
como fontes e também como fontes em regras ricas. No Red Hat Enterprise Linux, o método preferido é usar os conjuntos de IPs criados com firewalld
em uma regra direta.
Para listar os conjuntos de IPs conhecidos por
firewalld
no ambiente permanente, use o seguinte comando comoroot
:# firewall-cmd --permanente --get-ipsets
Para adicionar um novo conjunto IP, use o seguinte comando usando o ambiente permanente como
root
:# firewall-cmd --permanent --new-ipset=test --type=hash:net success
O comando anterior cria um novo conjunto IP com o nome test e o tipo
hash:net
paraIPv4
. Para criar um conjunto de IP para uso comIPv6
, adicione a opção--option=family=inet6
. Para tornar o novo ajuste efetivo no ambiente de tempo de execução, recarreguefirewalld
.Liste o novo conjunto IP com o seguinte comando:
root
:# firewall-cmd --permanent --get-ipsets test
Para obter mais informações sobre o conjunto IP, use o seguinte comando como
root
:# firewall-cmd --permanent --info-ipset=test test type: hash:net options: entries:
Observe que o conjunto IP não tem nenhuma entrada no momento.
Para adicionar uma entrada ao conjunto IP test, use o seguinte comando como
root
:# firewall-cmd --permanent --ipset=test --add-entry=192.168.0.1 success
O comando anterior adiciona o endereço IP 192.168.0.1 ao conjunto IP.
Para obter a lista de entradas atuais no conjunto IP, use o seguinte comando como
root
:# firewall-cmd --permanent --ipset=test --get-entries 192.168.0.1
Gerar um arquivo contendo uma lista de endereços IP, por exemplo:
# cat > iplist.txt <<EOL 192.168.0.2 192.168.0.3 192.168.1.0/24 192.168.2.254 EOL
O arquivo com a lista de endereços IP para um conjunto IP deve conter uma entrada por linha. Linhas começando com um hash, um ponto e vírgula, ou linhas vazias são ignoradas.
Para adicionar os endereços do arquivo iplist.txt, use o seguinte comando como
root
:# firewall-cmd --permanent --ipset=test --add-entries-from-file=iplist.txt success
Para ver a lista ampliada de entradas do conjunto IP, use o seguinte comando como
root
:# firewall-cmd --permanent --ipset=test --get-entries 192.168.0.1 192.168.0.2 192.168.0.3 192.168.1.0/24 192.168.2.254
Para remover os endereços do conjunto IP e verificar a lista de entradas atualizada, use os seguintes comandos como
root
:# firewall-cmd --permanent --ipset=test --remove-entries-from-file=iplist.txt success # firewall-cmd --permanent --ipset=test --get-entries 192.168.0.1
Você pode adicionar o conjunto IP como fonte a uma zona para lidar com todo o tráfego vindo de qualquer um dos endereços listados no conjunto IP com uma zona. Por exemplo, para adicionar o conjunto de IP test como fonte à zona drop para descartar todos os pacotes vindos de todas as entradas listadas no conjunto de IP test, use o seguinte comando como
root
:# firewall-cmd --permanent --zone=drop --add-source=ipset:test success
O prefixo
ipset:
na fonte mostrafirewalld
que a fonte é um conjunto IP e não um endereço IP ou uma faixa de endereços.
Apenas a criação e remoção de conjuntos IP é limitada ao ambiente permanente, todas as outras opções de conjuntos IP podem ser usadas também no ambiente de tempo de execução sem a opção --permanent
.
A Red Hat não recomenda o uso de conjuntos IP que não são gerenciados através de firewalld
. Para utilizar tais conjuntos IP, é necessária uma regra direta permanente para referenciar o conjunto, e um serviço personalizado deve ser adicionado para criar estes conjuntos IP. Este serviço precisa ser iniciado antes do firewalld iniciar, caso contrário firewalld
não é capaz de adicionar as regras diretas usando estes conjuntos. Você pode adicionar as regras diretas permanentes com o arquivo /etc/firewalld/direct.xml
.