Problèmes de routage avec un seul Azure vNet avec une VPN Virtual Network Gateway et une Express Route Virtual Network Gateway

Nous avons initialement configuré une passerelle VPN dans Azure sur un seul vNet qui reliait deux centres de données distincts à Azure. La plage d’adresses IP du vNet d’Azure est 10.10.0.0/16. DC-A a une plage d’adresses IP de 10.1.0.0/16 et DC-B une plage de 10.2.0.0/16. Récemment, une ligne Express a été commandée. Nous avons configuré une autre passerelle de réseau virtuel pour la ligne Express, avec BGP configuré dessus dans le même vNet dans Azure. Localement, dans nos pare-feux de centre de données, nous avons mis en place une route utilisant la connexion ExpressRoute avec une métrique de 20. Nous avons configuré une autre route utilisant le tunnel VPN avec une métrique de 25 comme sauvegarde au cas où l’ExpressRoute échouerait, le VPN prendrait alors le relais.

Lorsque le trafic local d’un des centres de données est envoyé à Azure, il passe via la connexion ExpressRoute vers Azure. Lorsque l’endpoint dans Azure répond…

  1. Où le trafic de retour est-il envoyé ? Est-ce vers le VPNGW ou l’EXPRSSGW ? Existe-t-il une façon de pondérer les passerelles pour que tout le trafic passe par l’EXPRSSGW si elle est opérationnelle et, si ce n’est pas le cas, il soit alors dirigé vers le VPNGW ?

  2. Si je créais une table de routes personnalisée pour mon vNet dans Azure afin de remplacer les routes par défaut, je pourrais y mettre les adresses IP locales pour chaque centre de données, mais comment puis-je choisir quelle passerelle de réseau virtuel utiliser ? Je peux créer une route dans une table personnalisée mais pour le prochain saut, je choisis la passerelle de réseau virtuel… mais cela ne me permet pas de spécifier laquelle utiliser. Comment puis-je faire cela ? Je pourrais aussi choisir une appliance virtuelle et spécifier une adresse IP… mais d’une part, je ne sais pas comment trouver l’adresse IP interne de chaque passerelle, et d’autre part, il n’y a pas de poids ou de métrique sur les routes que je crée dans la table de routage personnalisée d’Azure.

  3. Même problème de base, cette seule VPNGW qui connecte aux deux centres de données… Si ce trafic de retour depuis Azure veut aller vers 10.1.0.0/16 ou 10.2.0.0/16, les routes par défaut l’orienteront vers la même VPNGW, mais comment sait-il quel tunnel VPN utiliser ? Y a-t-il un endroit dans la configuration de la VPNGW où vous spécifiez à quel sous-réseau appartient quel tunnel ou apprend-elle cela du point de terminaison VPN du centre de données local ?

J’ai réussi à trouver la réponse à la question #3. Le sous-réseau IP pour chaque centre de données local est défini dans la “connexion” avec le point de terminaison VPN local. Mais toujours aucune réponse pour 1 et 2.

  1. Le trafic de retour va au GatewaySubnet, mais la passerelle utilisée dépend de l’endroit où sont connectés l’ExpressRoute et le VPN, ainsi que des routes configurées.

Puisque l’ExpressRoute et le VPN sont connectés à chacun de vos centres de données, et que le VPN sert de sauvegarde, c’est l’ExpressRoute qui est utilisé en priorité. Une fois mis en place, l’ExpressRoute est toujours préféré, sauf si une connexion VPN est configurée avec une route plus directe. Mon hypothèse est que les routes propagées à votre ExpressRoute sont les mêmes que celles configurées sur votre VPN.

Cependant, si les routes pour votre ExpressRoute et votre VPN ne sont pas identiques, par exemple si votre ExpressRoute a 10.1.0.0/16 mais que vous avez une route 10.1.1.0/24 sur votre VPN, et que l’adresse de destination est 10.1.1.10, le VPN sera utilisé.

  1. Étant donné que vous avez un seul vNet avec les deux passerelles déployées, vous êtes limité dans ce que vous pouvez configurer comme routes personnalisées. La GatewaySubnet, une fois que vous avez configuré des connexions VPN et ExpressRoute, ajoutera des routes à la table de routage du vNet pour les routes propagées via BGP par l’ExpressRoute, et qui sont configurées pour la passerelle du réseau local VPN.

Vous ne pouvez pas configurer de poids sur des routes ou des passerelles spécifiques dans Azure. L’ExpressRoute est toujours préféré une fois qu’il est mis en place, et seule une route plus directe vers une destination sur l’ExpressRoute sera privilégiée.

Comme dans mon exemple plus tôt, si vous souhaitez privilégier une connexion VPN sur l’ExpressRoute, vous pouvez configurer la passerelle du réseau local VPN avec une route plus directe. Toute destination correspondant à cette route plus directe passera par le VPN, tout le reste via l’ExpressRoute. Mais avec les poids que vous avez dans chaque centre de données, cela créerait un routage asymétrique, car le trafic d’un centre de données utiliserait l’ExpressRoute, et si l’adresse correspondait à la route plus directe, il utiliserait le VPN en retour.

merci ! grandement apprécié