Hola chicos.
Estos días me he estado mirando cosas sobre iptables y probando casos sencillos. Ahora quería probar una caso más complejo: colocar un host filtro entre mi host personal y el gateway.
Para ello la teoría es bien sencilla. Creamos dos reglas iptables en el host filtro:
1-Todo lo que venga desde el router lo pasamos al host personal
2-Todo lo que venga del host personal, lo pasamos al router.
Ambas reglas se refieren a la cadena PREROUTING, ya que supongo que es la primera que actúa cuando entra un paquete.
Sí, algunos direis que es similar a un MITM. De hecho he sacado la base de ahí y por más que lo miro a efectos teóricos, no veo que haya nada mal.
El caso es que, después de añadir esas dos reglas lo que pasa es lo siguiente:
-Los paquetes que vienen de vuelta al host filtro(por ejemplo replies de hacer un ping, por probar) no se reenvían a host personal como yo quiero. Es como si no pasara por PREROUTING.
-Probé a añadir una regla que para todos los paquetes procedentes de host personal, los reenviara al mismo. Si envío un paquete desde host personal a host filtro, en este caso SI que se reenvia cambiando correctamente la dirección destino.
¿Podéis ayudarme?

NOTA: Activé el reenvío con echo 1 > /proc.... por si alguno pregunta.

Os pongo las reglas exactas por si me equivoqué sintácticamente en algo.

iptables -t nat -A PREROUTING -i wlan0 -m mac --mac-source <mac-router> -j DNAT --to <ip host personal>

iptables -t nat -A PREROUTING -i wlan0 -s <ip host personal> -j DNAT --to <ip-router>

Gracias, saludos.