Reenvío de puertos con Rinetd

Redirección sencilla de tráfico TCP en VPS y servidores dedicados.

Rinetd es un proxy TCP ligero de proceso único que redirige conexiones de una dirección IP y puerto a otra. Es ideal para VPS y servidores dedicados cuando necesitas:

  • redirigir un puerto público hacia un servidor o servicio interno
  • ejecutar varios servicios en el mismo puerto público
  • proporcionar acceso a servicios detrás de NAT o en una red privada
  • configurar rápidamente el reenvío de puertos sin reglas iptables complejas

Rinetd utiliza I/O no bloqueante y funciona como proceso único, por lo que puede gestionar un gran número de conexiones simultáneas con un impacto mínimo en el servidor.

Instalar Rinetd

Ubuntu / Debian:

sudo apt update
sudo apt install rinetd -y

CentOS / RHEL / AlmaLinux / Rocky:

sudo yum install rinetd -y
# o bien
sudo dnf install rinetd -y

Configurar el reenvío de puertos

  1. Abre el archivo de configuración:
sudo nano /etc/rinetd.conf
  1. Añade las reglas de reenvío al final del archivo con este formato:
public_IP external_port internal_IP internal_port

Ejemplo (reenvío desde una IP pública a varios servidores internos):

85.85.85.85 12341 192.168.1.5  1234
85.85.85.85 12342 192.168.1.6  1234
85.85.85.85 12343 192.168.1.7  1234
85.85.85.85 12344 192.168.1.8  1234
85.85.85.85 12345 192.168.1.9  1234
  • Columna 1: IP pública en la que escucha el servidor (o 0.0.0.0 para todas las interfaces)
  • Columna 2: puerto externo en el que escucha rinetd
  • Columna 3: IP interna a la que se reenvía el tráfico
  • Columna 4: puerto interno en la máquina de destino

Usa espacios (no tabulaciones) entre columnas. Añade una línea por cada regla de reenvío. Guarda el archivo (Ctrl+O → Enter → Ctrl+X).

Nuestros servicios y productos

HostingFunciona en discos NVMe ultrarrápidos. Apto para sitios web de cualquier complejidad.
Pedir
VPSParámetros ajustables y configuración flexible del SO. Administración gratuita incluida.
Pedir
Servidores dedicadosDisponibles diversas configuraciones Supermicro con procesadores Intel y AMD.
Pedir
  1. Reinicia rinetd para aplicar los cambios:
sudo systemctl restart rinetd
# o bien
sudo service rinetd restart

Verificar el funcionamiento

  1. Comprueba que el servicio esté en ejecución:
sudo systemctl status rinetd
  1. Consulta los puertos en los que rinetd está escuchando:
sudo ss -tuln | grep rinetd

o bien

sudo netstat -tuln | grep rinetd
  1. Prueba el reenvío:
  • Conéctate desde el exterior a tu IP pública en el puerto 12341 → el tráfico debe llegar a 192.168.1.5:1234
  • Usa telnet, nc (netcat) o cualquier cliente para verificarlo.

Notas útiles

  • Por defecto, rinetd no registra nada. Para habilitar el logging, añade lo siguiente en /etc/rinetd.conf:
log /var/log/rinetd.log
  • Para restringir el acceso a IPs de origen concretas, aplica reglas iptables o firewall-cmd antes de rinetd.
  • Bajo carga muy elevada (miles de conexiones), rinetd puede consumir una cantidad significativa de memoria — monitoriza con top o htop.
  • Alternativas: socat, iptables DNAT, HAProxy, módulo stream de NGINX — aunque rinetd sigue siendo la opción más sencilla y ligera para el reenvío de puertos básico.

Ayuda

¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!

¿Necesitas ayuda?Nuestros ingenieros te ayudarán gratuitamente con cualquier pregunta en minutosContáctanos