Tengo una aplicación ejecutándose en el puerto Y (UDP). ¿Es posible crear un espejo sin tocar la aplicación A para recibir el mensaje en la aplicación a y adicionalmente en la aplicación B (mismo host) en un puerto Y diferente?
lo intenté con
socat udp-listen:x,reuseaddr,fork udp:localhost:y
Desafortunadamente, socat
inicia un oyente en el puerto X y la aplicación a no recibe el mensaje.
También leí alguna solución con iptables
mangle, que parece que iptables
ya no es compatible con mi versión.
Debe ejecutarse en 2 plataformas diferentes:
- Ubuntu 20.04 con iptables v1.8.4 (heredado)
- SLES12SP5 con v1.4.21
No puedo usar una segunda dirección IP en la subred de mi eth0
interfaz.
Respuesta1
Ah, puedes hacer estocon IPtables...
De ese sitio:
iptables -t mangle -A PREROUTING -p UDP --dport 162 -j TEE --gateway 127.0.0.2
iptables -t nat -A PREROUTING -d 127.0.0.2 -p UDP --dport 162 -j DNAT --to 127.0.0.1:1162
Lea más sobre esto en el sitio que vinculé.