Je vais essayer d'être clair et précis, mais c'est pas évident :
Nous avons une machine qui fait office de proxy (squid) et de firewall (iptables / fwbuilder), sous linux.
La machine étant assez sensible, nous avons un spare qui est son jumeau exact. En cas de panne, on débranche celui qui marche plus, on rebranche l'autre et ça repart.
Sauf que ça repart pas tout à fait comme prévu. Tout fonctionne sauf les règles iptables de nat. Le nat mappe une dizaine d'adresses publiques vers des adresses privées de la DMZ (plusieurs serveurs web, smtp, ...).
Après des heures et des heures de recherches, on a fini par se rendre compte que les adresses MAC étaient en cause, et plus exactement l'adresse MAC de l'interface publique de la machine. Et pour résoudre le problème, il a "suffit" de modifier l'adresse MAC de cette interface pour lui donner l'adresse de l'ancienne machine.
Là où ça devient incompréhensible, c'est que nulle part nous n'opérons de filtrage par adresse MAC. Et par ailleurs, l'interface en question fonctionne parfaitement (avec sa vraie adresse MAC) en-dehors de ces règles de nat : elle répond au ping et voit le réseau. Un tcpdump nous montre que les requêtes arrivent bien sur la machine mais le nattage ne fonctionne tout simplement pas.
On a également essayé de virer toutes les règles et de retaper à la main une seule règle iptables de nat sans plus de succès.
En revanche, dès que l'adresse MAC est spoofée avec l'ancienne adresse (celle de la machine "originale" ), tout fonctionne à merveille.
Si vous avez des idées pour diagnostiquer la panne, je suis preneur.
---------------
Ceci n'est pas une démocratie