Red Hat Training

A Red Hat training course is available for RHEL 8

44.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

44.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 como root:

    # 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 para IPv4. Para criar um conjunto de IP para uso com IPv6, adicione a opção --option=family=inet6. Para tornar o novo ajuste efetivo no ambiente de tempo de execução, recarregue firewalld.

  • 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 mostra firewalld 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.

Atenção

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.