IPv4
La raison pour laquelle IPv4 se comporte comme vous l'avez observé est qu'il n'était pas prévu à l'origine pour supporter plus d'une adresse IP sur une interface. Par conséquent, le client DHCP attendra simplement que le premier serveur DHCP envoie une offre, et le client supposera qu'il s'agit du seul serveur DHCP.
IPv6
L'IPv6 est toutefois conçu pour prendre en charge de nombreuses adresses sur une interface, de sorte que la machine peut accepter des annonces de plusieurs routeurs et attribuer plusieurs adresses IP à l'interface.
Cependant, à moins d'utiliser des configurations sophistiquées telles que le routage par stratégie, vous aurez une table de routage qui ne prendra en compte que l'adresse de destination pour les décisions de routage et n'aura qu'une seule route par défaut pointant vers l'un des deux routeurs.
On peut donc s'attendre à ce que les paquets soient acheminés vers le même des deux routeurs, quelle que soit l'adresse source utilisée par le client. Le choix de l'adresse source tiendra compte d'un certain nombre de facteurs, notamment le fait que l'adresse source sera l'une de celles attribuées à l'interface par laquelle le paquet sera finalement acheminé. Cependant, cela n'est pas utile ici puisque le client utilisera la même interface pour atteindre les deux routeurs.
Il est donc possible que la machine cliente choisisse une adresse IP source dans la plage attribuée par un routeur, mais qu'elle envoie les paquets à l'autre routeur. Cela aurait fonctionné s'il n'y avait pas eu de filtres de paquets sur le chemin. Même si vous parvenez à trouver une solution pour ces filtres de paquets, il ne s'agit toujours pas d'une configuration idéale, car vous n'obtiendrez pas vraiment une configuration redondante lorsque le trafic sortant passe par un routeur et que le trafic entrant passe par l'autre.
Il n'y a pas assez d'informations dans votre question pour affirmer avec certitude que c'est la raison pour laquelle vous avez échoué. Cependant, compte tenu des informations que vous avez fournies, cela semble être l'explication la plus probable.
Une solution simple
À court terme, la solution la plus simple que je puisse vous suggérer pour que cette configuration fonctionne et vous donne une redondance est de configurer l'un des routeurs en IPv4 uniquement et l'autre en IPv6 uniquement.
Les clients qui implémentent la RFC 6555 basculeront automatiquement entre IPv4 et IPv6, de sorte que si IPv4 et IPv6 passent par des routeurs différents, il y aura basculement entre ces deux routeurs.
Cela fonctionnera pour atteindre les services qui sont à double pile. Vous pouvez obtenir le même basculement pour les services exclusivement IPv4 en utilisant DNS64+NAT64. Si votre FAI ne fournit pas de NAT64 pour vous, vous pouvez configurer NAT64 sur le routeur que vous choisissez d'utiliser pour la connectivité IPv6.
Solution à long terme
À long terme, il est probable que vous souhaitiez une redondance, même lorsque vous accédez à des services exclusivement IPv6. Le meilleur moyen d'y parvenir est que la machine cliente choisisse automatiquement entre les deux routeurs. Cela signifie qu'une logique similaire à la RFC 6555 doit choisir entre deux connexions IPv6.
Je n'ai pas vu de logiciel le permettant aujourd'hui. Certaines parties peuvent être réalisées avec le routage de politiques, mais cela signifie que vous devez remplacer les tables de routage produites par la configuration automatique sur chaque machine cliente. Une solution plus simple et légèrement moins bonne consiste à ne configurer le routage de politique que sur les routeurs, au prix d'un trafic sortant souvent envoyé du client vers le mauvais routeur et d'un saut supplémentaire entre les deux routeurs.
Mais pour en tirer le meilleur parti, il faut un logiciel qui fasse tout cela :
- Lors de la réception d'annonces de routeurs provenant de deux routeurs, configurez le routage de stratégie (ou équivalent) de manière à consulter l'adresse IP source pour décider lequel des deux routeurs doit être utilisé comme passerelle pour la route par défaut.
- Lorsque les applications effectuent des recherches DNS, elles envoient la requête à deux récursseurs DNS (un par annonce de routeur) et s'assurent que l'adresse IP source de chaque requête DNS provient de la même annonce de routeur que l'adresse IP de destination.
- Lors de la réception d'une réponse DNS, se lier à la même IP locale que celle à laquelle la réponse a été envoyée et tenter de se connecter à l'une des adresses figurant dans la réponse.
- Utilisez la logique équivalente à la RFC 6555 pour choisir entre deux connexions ouvertes avec des paires d'adresses IPv6 source et destination différentes.