J'ai une paire d'hôtes avec un très mauvais routage entre les deux, mais j'ai un troisième hôte qui a un très bon ping vers chacun. Pour contourner le mauvais routage, je configure le troisième hôte pour faire rebondir les paquets entre les deux.
Ce troisième hôte a une adresse IP qui n'est utilisée pour rien d'autre. Ma configuration idéale serait la suivante : lorsque l'hôte 1 envoie un paquet à l'hôte 3, l'hôte 3 NAT automatiquement les adresses de source et de destination, en remplaçant source=hôte 3 et destination=hôte 2, puis transmet le paquet.
L'inverse devrait être vrai : si l'hôte 2 essaie de répondre, le paquet devrait retourner à l'hôte 3, qui le NATera de nouveau en source=hôte 3, destination=hôte 1. Aucun suivi de connexion n'est nécessaire - ceci peut être fait entièrement sans état.
Là où je suis bloqué, c'est que je n'arrive pas à faire fonctionner DNAT et SNAT en même temps. Il semble que, si un paquet est traité par DNAT, il est automatiquement marqué pour ignorer les règles SNAT : le DNAT fonctionne bien, mais l'adresse source n'est pas traduite.
Quelle est la bonne configuration d'iptables pour y parvenir ?