Además de la respuesta de Caleb , si está trabajando con una iptables
versión más reciente (v1.4.14) que ya no tiene el ROUTE
objetivo, necesitará algo como lo siguiente, probado en Debian Wheezy *:
iptables -A PREROUTING -t mangle -p tcp ! -s 127.0.0.1 --dport 8001 -j TEE --gateway 127.0.0.1
iptables -A OUTPUT -t nat -p tcp -s 127.0.0.1/32 --dport 8001 -j DNAT --to 127.0.0.1:8002
Prueba con "netcat" ( man nc
). En una ventana de terminal, escriba lo siguiente y presione la Enter
tecla:
nc -l 8002
El comando esperará la entrada que escribirá en una segunda ventana de terminal.
En la segunda ventana de terminal, escriba lo siguiente y presione la Enter
tecla:
nc 127.0.0.1 8001
El comando esperará más información. Escriba cualquier cosa y presione la Enter
tecla. Después de presionar la Enter
tecla en la segunda ventana de terminal, el texto que escribió en la segunda ventana de terminal debe aparecer en la primera ventana de terminal. Presione Ctrl
-c en la segunda ventana para finalizar la sesión.
* Esta sintaxis no es compatible con RHEL / Centos (6.5 o anterior) :-(, por lo que debe utilizarla socat
para enviar y enviar paquetes entrantes en el puerto original a dos puertos nuevos. Si tuvo procesos de escucha en el puerto de recepción original, entonces necesita reconfigurarlos para que escuchen en uno de los puertos en T, ya socat
que ahora es el oyente en el puerto original. Vea esta publicación SE, por ejemplo, la socat
sintaxis para la clonación de puertos.
iptables
puede ser demasiado viejo; consulte Enviar paquetes duplicados a través de dos conexiones a Internet.