Image

Base de conocimientos → Reenvío de puertos de IPv4 a IPv6 en Linux Debian 12

[Servidores virtuales]
Fecha de publicación: 06.06.2025

Si necesitas configurar el reenvío de puertos de un puerto IPv4 a otro puerto IPv6, utilizaremos socat.

Se asume que IPv6 ya está configurado y funcionando. Puedes verificarlo con los comandos ping6 <dominio> en Linux o ping -6 <dominio> en Windows.

En casos raros, el ping puede funcionar, pero el tráfico no circula. Puedes verificar aún más la conectividad usando el comando curl --ipv6 -k -I https://ipv6.google.com tanto para Linux como para Windows (si curl no está disponible en cmd, abre PowerShell).

Supongamos que tenemos la tarea de reenviar el puerto 443 de IPv4 al puerto 4445 en IPv6.

1. Instalación de socat

apt install socat

2. Reenvío de puertos

socat TCP6-LISTEN:4445,fork,reuseaddr TCP4:127.0.0.1:443

Asegúrate de que el puerto 443 sea accesible localmente, o cámbialo por una IP externa.

telnet 127.0.0.1 443

2.1 Verificación

telnet <ipv6> 4445

3. Creación de un servicio

Ahora, creemos un archivo de servicio para que el reenvío se reinicie automáticamente tras un reinicio sin necesidad de ejecutarlo manualmente. También aseguraremos que el servicio nginx se inicie antes de nuestro comando.

nano /etc/systemd/system/socat-portforward.service
[Unit]
Description=Reenvío de puertos de IPv6 a IPv4 con Socat
After=network.target
After=nginx.service
Requires=nginx.service

[Service]
ExecStart=/usr/bin/socat TCP6-LISTEN:4445,fork,reuseaddr TCP4:127.0.0.1:443
Restart=always
RestartSec=3
User=root
Group=root
KillMode=process

[Install]
WantedBy=multi-user.target

3.1 Detención del servicio

Presiona Ctrl + C o, si lo ejecutaste con &:

killall socat

3.2 Iniciar como servicio

systemctl daemon-reload
systemctl enable --now socat-portforward
systemctl status socat-portforward

3.3 Secuencia de inicio

Añadimos líneas a la sección [Unit] para garantizar la secuencia de inicio correcta:

After=nginx.service
Requires=nginx.service

¡Listo! Este comando puede usarse para configurar el reenvío de puertos en varias configuraciones.





Sin comentarios aún