Problèmes de routage avec un seul vNet Azure, une passerelle VPN virtuelle et une autre passerelle Virtual Network ExpressRoute

Nous avons initialement configuré une passerelle VPN dans Azure sur un seul vNet qui connectait 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, nous avons commandé une ExpressRoute. Nous avons configuré une autre passerelle virtuelle pour l’ExpressRoute avec BGP configuré dessus, dans le même vNet dans Azure. Sur nos pare-feux de centre de données locaux, nous avons configuré une route pour utiliser la connexion ExpressRoute avec une métrique de 20. Nous avons également configuré une autre route pour utiliser le tunnel VPN avec une métrique de 25 en tant que sauvegarde, au cas où l’ExpressRoute échouerait, afin que le VPN prenne le relais.

Lorsqu’un trafic local d’un des centres de données est envoyé vers Azure, il passera par la connexion ExpressRoute vers Azure. Lorsque l’extrémité dans Azure répond…

  1. Où le trafic de retour est-il envoyé ? Est-ce qu’il est dirigé vers la passerelle VPN ou la passerelle Express ? Y a-t-il un moyen de pondérer les passerelles afin que tout le trafic aille vers la passerelle Express si elle est opérationnelle, et sinon, qu’il soit dirigé vers la VPN ?

  2. Si je créais une table de routage 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 virtuelle utiliser ? Je peux créer une route dans une table personnalisée, mais pour le prochain saut, je choisis « passerelle de réseau virtuel »… mais il 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’abord, je ne sais pas comment trouver l’adresse IP interne de chaque passerelle, et deuxièmement, 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. Encore plus basique : cette passerelle VPN unique se connecte aux deux centres de données… Si le trafic de retour d’Azure veut aller vers 10.1.0.0/16 ou 10.2.0.0/16, les routes par défaut le dirigeront vers la même VPN, mais comment sait-il quelle tunnel VPN utiliser ? Y a-t-il quelque part dans la configuration de la VPN où vous spécifiez quel sous-réseau appartient à quel tunnel, ou apprend-il cela du point final VPN connectant le centre de données local ?

J’ai pu trouver la réponse à la question #3. Le sous-réseau IP de chaque centre de données local est défini dans la “connexion” au point final VPN local. Mais je n’ai toujours pas de réponse pour les questions 1 et 2.