Red Hat Training

A Red Hat training course is available for RHEL 8

46.2. Descartar todos los paquetes de red excepto los que coincidan con una regla de xdp-filter

Esta sección describe cómo utilizar xdp-filter para permitir sólo los paquetes de red:

  • Desde y hacia un puerto de destino específico
  • Desde y hacia una dirección IP específica
  • Desde y hacia una dirección MAC específica

Para ello, utilice la política deny de xdp-filter, que define que el filtro descarte todos los paquetes de red excepto los que coincidan con una regla concreta. Por ejemplo, utilice este método si no conoce las direcciones IP de origen de los paquetes que desea descartar.

Aviso

Si se establece la política por defecto en deny cuando se carga xdp-filter en una interfaz, el kernel inmediatamente deja caer todos los paquetes de esta interfaz hasta que se creen reglas que permitan cierto tráfico. Para evitar ser bloqueado del sistema, introduzca los comandos localmente o conéctese a través de una interfaz de red diferente al host.

Requisitos previos

  • El paquete xdp-tools está instalado.
  • Está conectado al host de forma local o utilizando una interfaz de red para la que no tiene previsto filtrar el tráfico.
  • Un controlador de red que soporta programas XDP.

Procedimiento

  1. Carga xdp-filter para procesar paquetes en una determinada interfaz, como enp1s0:

    # xdp-filter load enp1s0 -p deny

    Opcionalmente, utilice la opción -f feature para activar sólo determinadas funciones, como tcp, ipv4, o ethernet. Cargar sólo las funciones necesarias en lugar de todas ellas aumenta la velocidad de procesamiento del paquete. Para activar varias funciones, sepárelas con una coma.

    Si el comando falla con un error, el controlador de red no soporta los programas XDP.

  2. Añade reglas para permitir los paquetes que coincidan con ellas. Por ejemplo:

    • Para permitir paquetes desde y hacia el puerto 22, introduzca:

      # xdp-filter port 22

      Este comando añade una regla que coincide con el tráfico TCP y UDP. Para que coincida sólo con un protocolo en particular, pase la opción -p protocol al comando.

    • Para permitir paquetes desde y hacia 192.0.2.1, introduzca:

      # xdp-filter ip 192.0.2.1

      Tenga en cuenta que xdp-filter no admite rangos de IP.

    • Para permitir paquetes desde y hacia la dirección MAC 00:53:00:AA:07:BE, introduzca:

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

    La utilidad xdp-filter no soporta la inspección de paquetes con estado. Esto requiere que no se establezca un modo utilizando la opción -m mode o que añada reglas explícitas para permitir el tráfico entrante que la máquina recibe en respuesta al tráfico saliente.

Pasos de verificación

  • Utilice el siguiente comando para mostrar las estadísticas sobre los paquetes descartados y permitidos:

    # xdp-filter status

Recursos adicionales

  • Para más detalles sobre xdp-filter, consulte la página de manual xdp-filter(8).
  • Si usted es un desarrollador y está interesado en el código de xdp-filter, descargue e instale el correspondiente RPM de origen (SRPM) desde el Portal del Cliente de Red Hat.