Red Hat Training

A Red Hat training course is available for RHEL 8

45.4.4. Configuración del NAT de destino mediante nftables

La NAT de destino permite redirigir el tráfico en un router a un host al que no se puede acceder directamente desde Internet.

El siguiente procedimiento describe cómo redirigir el tráfico entrante enviado al puerto 80 y 443 del router al host con la dirección IP 192.0.2.1.

Procedimiento

  1. Crea una tabla:

    # nft add table nat
  2. Añade las cadenas prerouting y postrouting a la tabla:

    # nft -- add chain nat prerouting { type nat hook prerouting priority -100 \; }
    # nft add chain nat postrouting { type nat hook postrouting priority 100 \; }
    Importante

    Incluso si no se añade una regla a la cadena postrouting, el marco nftables requiere esta cadena para que coincida con las respuestas de los paquetes salientes.

    Tenga en cuenta que debe pasar la opción -- al comando nft para evitar que el shell interprete el valor de prioridad negativo como una opción del comando nft.

  3. Añada una regla a la cadena prerouting que redirija el tráfico entrante en la interfaz ens3 enviado al puerto 80 y 443 al host con la IP 192.0.2.1:

    # nft add rule nat prerouting iifname ens3 tcp dport { 80, 443 } dnat to 192.0.2.1
  4. Dependiendo de su entorno, añada una regla SNAT o de enmascaramiento para cambiar la dirección de origen:

    1. Si la interfaz ens3 utiliza direcciones IP dinámicas, añada una regla de enmascaramiento:

      # nft add rule nat postrouting oifname \ "ens3" masquerade
    2. Si la interfaz ens3 utiliza una dirección IP estática, añada una regla SNAT. Por ejemplo, si el ens3 utiliza la dirección IP 198.51.100.1:

      nft add rule nat postrouting oifname \ "ens3" snat to 198.51.100.1