¿Cómo puedo redirigir una variedad de puertos desde el servidor a otro dispositivo LAN usando IPTABLES?

¿Cómo puedo redirigir una variedad de puertos desde el servidor a otro dispositivo LAN usando IPTABLES?

Tengo un servidor y algunos dispositivos LAN que alojan servicios personalizados en puertos personalizados. Todos los dispositivos usan Linux. Sólo el servidor está expuesto a Internet (los puertos se reenvían).

Estoy intentando redirigir todo el tráfico en el rango de puertos x al rango de puertos del dispositivo 1, por ejemplo:

IP_servidor: 192.168.5.5

IP del dispositivo 1: 10.0.0.1

Una solicitud en 192.168.5.5:4001 debe redirigirse al dispositivo 1 (10.0.0.1) en el puerto 2001.

Estoy intentando redirigir cualquier tráfico en el rango de puertos 4001:4050 al dispositivo1 en los puertos 2001:2050 y los puertos externos deben coincidir con los puertos internos (4001 -> 2001, 4002 -> 2002, etc.)

Utilicé las siguientes reglas de IPTable y funcionó bien para la redirección de puertos individuales, pero para el rango de puertos no coincide: (4001 a veces se conecta a 2005 donde debería conectarse a 2001)

Reglas IPTABLE:

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 4000:4050 -j DNAT --to-destination Device_1_IP:2000-2050

iptables -t nat -A POSTROUTING -d device1_ip -p tcp --dport 2000:2050 -j SNAT --to-source Server public ip

También intenté usar rinetd pero no pude descubrir cómo redirigir un rango completo de puertos.

atentamente

información relacionada