Je n’ai jamais essayé ce truc, Mais j’avoue que quelque chose m’échappe dans ton problème
Tes 4 machines sont reliées entre elles 2 a deux, et chaque machine à 2 cartes réseaux
En ce cas par exemple la machine A a une carte réseau qui pointe vers B et une vers D donc A connait 2 réseaux disons AB et AD. Ces 2 réseaux sont mutuellement exclusif (masque de sous réseaux différents).
Donc A doit servir de passerelle entre AD et AB. Mais aussi entre AD et BC et entre AD et CB (bidirectionnel de plus). Il faut donc configurer A comme routeur (avec iptable / brtcl).
Puis sur D doit être déclaré 2 passerelles pour le réseau AB : une via A et une via C ceci devrait ce faire avec la commande “route”.
maintenant si tes machines parlent via leur Ip ca devrait marcher. Si tu les appelles par non d’hôte, il faut que tu implique un DNS je ne suis pas sur que ce soit super facile car il faut jouer avec le cache DNS local.
=========>
Ce que tu cherche a faire c’est du du routage de haut niveau, (ce qui se fait sur des très gros réseaux). Le routeurs cherchent en effet la route la plus courte entre eux même, et doivent dynamiquement créer de passerelles de réseaux a réseaux, donc il te faut un software qui sache faire ca.
regarde peut etre ici linux-france.org/~jcnoel/index.html
voila perso je ne peux pas t’en dire plus.