Red Hat Training

A Red Hat training course is available for RHEL 8

46.2. Soltar todos os pacotes de rede, exceto os que correspondem a uma regra do filtro xdp

Esta seção descreve como usar xdp-filter para permitir apenas os pakets de rede:

  • De e para um porto de destino específico
  • De e para um endereço IP específico
  • De e para o endereço MAC específico

Para isso, utilize a política deny de xdp-filter, que define que o filtro deixa cair todos os pacotes de rede, exceto aqueles que correspondem a uma determinada regra. Por exemplo, use este método se você não souber os endereços IP de origem dos pacotes que você deseja descartar.

Atenção

Se você definir a política padrão para deny ao carregar xdp-filter em uma interface, o kernel imediatamente deixa cair todos os pacotes desta interface até que você crie regras que permitam certo tráfego. Para evitar ser bloqueado fora do sistema, digite os comandos localmente ou conecte-se através de uma interface de rede diferente com o host.

Pré-requisitos

  • O pacote xdp-tools está instalado.
  • Você está logado no host localmente ou usando uma interface de rede para a qual você não planeja filtrar o tráfego.
  • Um driver de rede que suporta programas XDP.

Procedimento

  1. Carregue xdp-filter para processar pacotes em uma determinada interface, como enp1s0:

    # xdp-filter load enp1s0 -p deny

    Opcionalmente, use o -f feature opção para ativar apenas características particulares, tais como tcp, ipv4, ou ethernet. O carregamento apenas das características exigidas em vez de todas elas aumenta a velocidade de processamento da embalagem. Para habilitar múltiplas características, separá-las com uma vírgula.

    Se o comando falhar com um erro, o driver da rede não suporta programas XDP.

  2. Adicionar regras para permitir pacotes que correspondam a elas. Por exemplo:

    • Para permitir pacotes de e para a porta 22, entre:

      # xdp-filter port 22

      Este comando acrescenta uma regra que combina com o tráfego TCP e UDP. Para corresponder apenas a um determinado protocolo, passe o -p protocol opção para o comando.

    • Para permitir pacotes de e para 192.0.2.1, entre:

      # xdp-filter ip 192.0.2.1

      Note que xdp-filter não suporta faixas de IP.

    • Para permitir pacotes de e para o endereço MAC 00:53:00:AA:07:BE, entre:

      # xdp-filter ether 00:53:00:AA:07:BE
    Importante

    A utilidade xdp-filter não suporta a inspeção estadual de pacotes. Isto requer que você não defina um modo usando o -m mode ou você adiciona regras explícitas para permitir o tráfego de entrada que a máquina recebe em resposta ao tráfego de saída.

Etapas de verificação

  • Use o seguinte comando para exibir estatísticas sobre pacotes descartados e permitidos:

    # xdp-filter status

Recursos adicionais

  • Para mais detalhes sobre xdp-filter, consulte a página de manual xdp-filter(8).
  • Se você é um desenvolvedor e está interessado no código de xdp-filter, baixe e instale o RPM (SRPM) de origem correspondente no Portal do Cliente da Red Hat.