1.9.X – Les VRFs

Les VRFs
Dans cette leçon, vous apprendrez ce que sont les VRFs (Virtual Routing and Forwarding). Par défaut, un routeur utilise une seule table de routage globale qui contient tous les réseaux directement connectés et les préfixes appris via des protocoles de routage statiques ou dynamiques.
Les VRFs sont comme des VLANs pour les routeurs : au lieu d’utiliser une seule table de routage globale, nous pouvons utiliser plusieurs tables de routage virtuelles. Chaque interface du routeur est assignée à un VRF différent.
Les VRFs sont couramment utilisés dans les déploiements MPLS. Lorsque nous utilisons des VRFs sans MPLS, nous parlons de VRF lite. C’est ce sur quoi nous nous concentrons dans cette leçon. Jetons un œil à une topologie d’exemple.
Le problème : une seule table de routage par défaut
Par défaut, un routeur ne possède qu’une seule table de routage, dite globale. Elle regroupe tous les réseaux directement connectés et tous les préfixes appris (routes statiques ou dynamiques). Tant qu’on gère un seul réseau, cela suffit.
Mais imaginez un routeur partagé entre deux clients différents qui utilisent, par malchance, les mêmes plages d’adresses, et qui ne doivent surtout pas se voir. Avec une seule table, c’est impossible : les routes se mélangent et l’isolation n’existe pas.
- Une seule table globale = un seul espace de routage partagé par tout le monde.
- Deux clients avec des IP qui se chevauchent créent des conflits.
- Aucune étanchéité entre les réseaux qui transitent par le routeur.
Le VRF : des « VLANs pour la couche 3 »
Un VRF (Virtual Routing and Forwarding) permet de créer plusieurs tables de routage virtuelles et totalement isolées sur un même routeur physique. Chaque interface est rattachée à un VRF, et chaque VRF a sa propre table : c’est exactement l’idée d’un VLAN, mais appliquée au routage (couche 3) au lieu de la commutation (couche 2).
- Chaque VRF a sa propre table de routage, indépendante des autres.
- Deux VRF peuvent utiliser les mêmes adresses IP sans aucun conflit.
- Le trafic d’un VRF ne peut pas passer dans un autre sans configuration explicite.
Quand on utilise les VRF sans MPLS, on parle de VRF lite — c’est le cas que nous étudions ici. Les VRF sont aussi la brique de base des VPN MPLS chez les opérateurs.
Configurer un VRF lite : les 3 étapes
La mise en place tient en trois commandes, à comprendre plutôt qu’à réciter. Prenons deux clients, Blue et Red, sur un routeur partagé.
1. Créer les VRF — on déclare simplement chaque table virtuelle par son nom :
2. Rattacher les interfaces — chaque interface est affectée à un VRF. Attention : appliquer ip vrf forwarding efface l’adresse IP existante, il faut donc la remettre juste après :
3. Un routage par VRF — chaque VRF a besoin de ses propres routes. Avec OSPF, on lance un processus rattaché au VRF :
ip vrf <nom>— crée la table virtuelle.ip vrf forwarding <nom>— place l’interface dans ce VRF (et efface l’IP, à reconfigurer).router ospf <id> vrf <nom>— associe un processus de routage au VRF (idem pour EIGRP/BGP).
ip vrf forwarding, l’adresse IP de l’interface disparaît. Reconfigurez-la systématiquement.La topologie d’exemple
Deux clients, Blue et Red, sont raccordés à un routeur ISP commun. Chaque client possède deux sites (une paire de routeurs) qui doivent se joindre entre eux, mais rester invisibles pour l’autre client. Côté client, la configuration est classique et identique dans son principe :
Configuration type d’un routeur client (ici Blue1) — aucune notion de VRF, c’est un routeur ordinaire :
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
!
interface FastEthernet0/0
ip address 192.168.1.1 255.255.255.0
!
router ospf 1
network 1.1.1.1 0.0.0.0 area 0
network 192.168.1.0 0.0.0.255 area 0
Les trois autres routeurs clients (Blue2, Red1, Red2) suivent le même modèle, avec leurs propres adresses. Toute l’intelligence de l’isolation se trouve sur le routeur ISP :
Configuration du routeur ISP partagé — chaque interface est rattachée au bon VRF, et chaque client a son propre processus OSPF :
!
ip vrf Blue
ip vrf Red
!
interface FastEthernet0/0
ip vrf forwarding Blue
ip address 192.168.1.254 255.255.255.0
!
interface FastEthernet1/0
ip vrf forwarding Red
ip address 192.168.2.254 255.255.255.0
!
router ospf 1 vrf Blue
network 192.168.1.0 0.0.0.255 area 0
network 192.168.3.0 0.0.0.255 area 0
!
router ospf 2 vrf Red
network 192.168.2.0 0.0.0.255 area 0
network 192.168.4.0 0.0.0.255 area 0
ip vrf forwarding et à un processus de routage par VRF.Vérifier que l’isolation fonctionne
Une fois configuré, il faut prouver que Blue et Red sont bien étanches. Trois commandes suffisent.
Blue <not set> Fa0/0, Fa2/0
Red <not set> Fa1/0, Fa3/0
ip vrf forwarding a été oublié.C 192.168.1.0/24 is directly connected, FastEthernet0/0
ping normal utiliserait la table globale (qui est vide ici) et échouerait. Il faut préciser vrf Blue pour tester dans la bonne table.Ce qu’il faut retenir
Le VRF lite transforme un routeur unique en plusieurs routeurs logiques étanches. On crée les VRF, on y rattache les interfaces, on associe un routage à chacun, puis on vérifie l’isolation avec les commandes vrf. C’est simple, puissant, et incontournable dès qu’un même équipement doit servir plusieurs entités sans qu’elles se voient.
ip vrf, ip vrf forwarding, router ospf … vrf) ; toujours ajouter vrf <nom> aux commandes show et ping.