6.7.2. Reenvío de paquetes entrantes en un puerto local específico a un host diferente
Puede utilizar una regla de traducción de direcciones de red de destino (DNAT) para reenviar los paquetes entrantes en un puerto local a un host remoto. Esto permite a los usuarios de Internet acceder a un servicio que se ejecuta en un host con una dirección IP privada.
El procedimiento describe cómo reenviar los paquetes IPv4 entrantes en el puerto local 443 al mismo número de puerto en el sistema remoto con la dirección IP 192.0.2.1.
Requisito previo
-
Usted está conectado como el usuario
rooten el sistema que debe reenviar los paquetes.
Procedimiento
Cree una tabla llamada
natcon la familia de direccionesip:# nft add table ip natAñade las cadenas
preroutingypostroutinga la tabla:# nft -- add chain ip nat prerouting { type nat hook prerouting priority -100 \; } # nft add chain ip nat postrouting { type nat hook postrouting priority 100 \; }NotaPase la opción
--al comandonftpara evitar que el shell interprete el valor de prioridad negativo como una opción del comandonft.Añade una regla a la cadena
preroutingque redirige los paquetes entrantes en el puerto443al mismo puerto en192.0.2.1:# nft add rule ip nat prerouting tcp dport 443 dnat to 192.0.2.1Añade una regla a la cadena
postroutingpara enmascarar el tráfico saliente:# nft add rule ip daddr 192.0.2.1 masqueradeActivar el reenvío de paquetes:
# echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf # sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf