Trafic à l'intérieur d'un réseau MPLS

Bonjour à tous.

J’essaie de m’attaquer à une configuration siège social ↔ succursale avec un MPLS entre les deux.

La configuration ressemble à ceci :

             LAN
              |
         pfsense central
              |             _
www------routeur central     |
              |              |
       routeur externe 1     |
              |              |
       routeur externe 2     |
              |              | MPLS
       routeur externe 3.....|
              |              |
       routeur secondaire    |
              |              |
       pfsense secondaire   _|
              |
             LAN

Le routeur central peut acheminer le trafic à l’intérieur du réseau MPLS ou de l’internet (le routeur dispose de deux câbles de sortie différents). Tandis que le secondaire ne peut passer que par le MPLS.

Cependant, le FAI a déclaré que le trafic du routeur secondaire peut entrer dans le MPLS, atteindre le routeur central et, de là, atteindre l’internet.

Cela ne fonctionne pas vraiment.

Et je ne suis même pas sûr que ce soit la faute des deux pare-feu. Ce FAI a déjà failli à sa mission sur d’autres points.

Les interfaces pfsense des deux côtés qui pointent vers les routeurs MPLS n’ont pas de next HOP défini, ni de blocage d’adresse locale. Le trafic passe d’un réseau local à l’autre sans problème.
J’ai même forcé le routage via des règles de pare-feu, mais le routeur secondaire ne peut pas accéder à l’internet via le MPLS et le routeur central.

J’ai quelques traceroutes (désolé, j’espère que c’est compréhensible) à partir d’un PC dans le réseau local du routeur secondaire :

$ traceroute ordi.intern.lan
traceroute to ordi.intern.lan (x.x.x.88), 30 hops max, 70 byte packets
1 router.mpls.secondaire (x.x.x.2) 0.570 ms 0.236 ms 0.632 ms
2 mpls.router.5 (y.y.y.7) 6.789 ms 8.200 ms 8.102 ms
3 mpls.router.4 (y.y.y.229) 6.418 ms 8.136 ms 8.803 ms
4 mpls.router.3 (y.y.y.38) 9.305 ms 7.896 ms 9.113 ms
5 mpls.router.2 (y.y.y.97) 8.826 ms 8.232 ms 6.789 ms
6 mpls.router.1 (y.y.y.98) 8.981 ms 7.458 ms 8.230 ms
7 router.mpls.central (x.x.x.5) 9.038 ms 8.862 ms 7.103 ms
8 ordi.intern.lan (x.x.x.88) 9.221 ms 7.321 ms 5.482 ms

$ traceroute www.google.com
traceroute to www.google.com (216.58.198.4), 30 hops max, 70 byte packets
1 router.mpls.secondaire (x.x.x.2) 1.468 ms 1.379 ms 0.103 ms
2 mpls.router.5 (y.y.y.7) 7.334 ms 7.290 ms 7.458 ms
3 mpls.router.4 (y.y.y.229) 9.344 ms 3.896 ms 9.368 ms
4 mpls.router.3 (y.y.y.38) 9.305 ms 8.230 ms 8.896 ms
5 mpls.router.2 (y.y.y.97) 8.126 ms 8.140 ms 7.821 ms
6 mpls.router.1 (y.y.y.98) 9.032 ms 9.458 ms 9.230 ms
7 mpls.router.1 (y.y.y.98) 10.111 ms !H

Les captures de paquets montrent que le trafic provenant de l’intérieur du réseau local sort du pare-feu à partir de l’interface correcte. Le trafic de réseau local à réseau local est correctement reçu par le pare-feu central.

Pour le trafic essayant d’atteindre l’internet, le routeur y.y.y.98 répond toujours par un paquet ICMP destination unreachable.

Donc, avant de me taper la tête contre ces routeurs : est-il possible / probable que ce ne soit pas la faute des deux firewalls pfsense, mais plutôt celle du routeur y.y.y.98 qui joue le rôle de l’idiot ?

À moins que le réseau mpls n’ait acheminé un trafic inconnu vers votre site, non, vous ne pourrez pas sortir de l’internet via le réseau mpls. À moins qu’il ne le permette lui-même.

Si vous voulez que le site des succursales passe par le réseau mpls pour aller sur l’internet, vous avez besoin d’une route par défaut dans le réseau mpls pour que lorsque vous essayez d’aller sur google, il sache qu’il faut lui envoyer votre site pour sortir.

Ou ! vous utilisez un proxy sur votre site, et l’autre site pointe vers le proxy dans son navigateur pour accéder à l’internet - puisque le mpls sait comment accéder à votre réseau.

Je pense que c’est quelque chose que le FAI doit ajouter dans la table de routage MPLS, n’est-ce pas ?

C’est quelque chose que je n’avais même pas considéré, et c’est une très bonne idée. Je vous remercie.

Oui, vous n’avez normalement pas accès à la manipulation du routage à l’intérieur du réseau mpls. Mais vous pouvez demander.

Le proxy chez vous, que vous exécutez simplement sur pfsense, serait la solution la plus simple à adopter, c’est sûr :wink:

L’autre solution serait de créer un tunnel entre leur extrémité et la vôtre où vous pourriez acheminer l’internet à travers le tunnel. Cela supprime tout problème de routage à l’intérieur du chemin mpls… Vous pourriez faire de l’openvpn depuis la succursale pfsense (pfsense secondaire) jusqu’à la vôtre.