Principes et Configuration du Routage Basé sur des Politiques (PBR) et IPv6

Le routage basé sur des politiques (PBR - Policy-Based Routing) constitue une méthode avancée de forwarding des paquets IP. Contrairement au routage traditionnel qui se fie uniquement à l'adresse de destination, le PBR permet de déterminer le prochain saut en fonction de critères variés tels que l'adresse source, la destination, la priorité IP, le champ TOS, le protocole, ou encore les ports source et destination.

Cette approche offre aux administrateurs réseau un niveau de contrôle supérieur sur la circulation des données par rapport aux protocoles de routage classiques. Alors qu'un routeur standard utilise une table de routage dérivée des protocoles pour aiguiller les paquets vers leur destination, le PBR introduit une flexibilité accrue. Il permet de sélectionner le chemin de transmission non seulement selon la destination, mais aussi en fonction de la taille du paquet, de l'application utilisatrice ou de l'origine du flux. Ces politiques peuvent être exploitées pour réaliser de l'équilibrage de charge entre plusieurs routeurs ou pour assurer une qualité de service (QoS) en répartissant le trafic sur différentes liaisons.

  1. Configuration du PBR en IPv4

Scénario : Sur l'interface GigabitEthernet 0/1, nous souhaitons appliquer une stratégie de routage pour le trafic provenant du sous-réseau 10.10.10.0/24. Le prochain saut pour ce trafic sera 203.0.113.5. Cependant, le réseau local utilise la plage 10.0.0.0/8. Afin de préserver la connectivité interne, le trafic issu de 10.10.10.0/24 destined au réseau local 10.0.0.0/8 ne doit pas subir de redirection PBR et suivre le routage normal. L'adresse de l'interface locale pour ce segment est 10.10.10.1.

Router# configure terminal
Router(config)# ip access-list extended ACL_LOCAL
Router(config-ext-nacl)# permit ip 10.10.10.0 0.0.0.255 10.0.0.0 0.255.255.255
Router(config-ext-nacl)# exit
Router(config)# ip access-list extended ACL_EXTERNAL
Router(config-ext-nacl)# permit ip 10.10.10.0 0.0.0.255 any
Router(config-ext-nacl)# exit
Router(config)# mls qos
Router(config)# class-map match-any CLASS_LOCAL
Router(config-cmap)# match access-group name ACL_LOCAL
Router(config-cmap)# exit
Router(config)# class-map match-any CLASS_EXTERNAL
Router(config-cmap)# match access-group name ACL_EXTERNAL
Router(config-cmap)# exit
Router(config)# policy-map MAP_ROUTAGE
Router(config-pmap)# class CLASS_LOCAL
Router(config-pmap-c)# set ip nexthop 10.10.10.1
Router(config-pmap-c)# exit
Router(config-pmap)# class CLASS_EXTERNAL
Router(config-pmap-c)# set ip nexthop 203.0.113.5
Router(config-pmap-c)# exit
Router(config)# interface GigabitEthernet 0/1
Router(config-if)# service-policy input MAP_ROUTAGE

Analyse de la configuration :

Deux listes de contrôle d'accès (ACL) étendues sont définies. La première, ACL_LOCAL, iedntifie le trafic dont la source est 10.10.10.0/24 et la destination est le réseau interne 10.0.0.0/8. La seconde, ACL_EXTERNAL, capture tout le trafic provenant de 10.10.10.0/24.

La fonctionnalité QoS est activée globalement. Deux maps de classe sont créés : CLASS_LOCAL associe l'ACL locale, et CLASS_EXTERNAL associe l'ACL externe. Une politique de routage, MAP_ROUTAGE, est ensuite élaborée. Pour la classe locale, le prochain saut est défini sur l'interface locale elle-même (routage normal), tandis que pour la classe externe, le prochain saut est forcé vers 203.0.113.5.

Enfin, cette politique est appliquée en entrée sur l'interface GigabitEthernet 0/1. Résultat : le trafic du sous-réseau 10.10.10.0/24 est routé normalement s'il reste en interne, et est redirigé vers 203.0.113.5 s'il sort du réseau local.

  1. Configuration du PBR en IPv6

Scénario : Sur l'interface GigabitEthernet 0/1, la passerelle par défaut est 3000::1. Nous configurons une stratégie pour le trafic source provenant du préfixe 2001:db8:1::/64. Le prochain saut spécifique pour ce flux sera 2001:db8:2::2.

Router# configure terminal
Router(config)# interface vlan 10
Router(config-if)# ipv6 address 2001:db8:1::1/64
Router(config-if)# ipv6 neighbor 2001:db8:1::2 0000.0000.0001 interface GigabitEthernet 0/1
Router(config)# interface vlan 20
Router(config-if)# ipv6 address 3000::1/64
Router(config-if)# ipv6 neighbor 3000::2 0000.0000.0002 interface GigabitEthernet 0/2
Router(config)# interface vlan 30
Router(config-if)# ipv6 address 2001:db8:2::1/64
Router(config-if)# ipv6 neighbor 2001:db8:2::2 0000.0000.0003 interface GigabitEthernet 0/5
Router(config)# ipv6 access-list extended ACL_IPV6_SRC
Router(config-ipv6-acl)# permit 2001:db8:1::/64 any
Router(config-ipv6-acl)# exit
Router(config)# class-map match-any CLASS_IPV6
Router(config-cmap)# match ipv6 access-group ACL_IPV6_SRC
Router(config-cmap)# exit
Router(config)# policy-map MAP_IPV6_ROUTING
Router(config-pmap)# class CLASS_IPV6
Router(config-pmap-c)# set ipv6 nexthop 2001:db8:2::2
Router(config-pmap-c)# exit
Router(config)# interface GigabitEthernet 0/1
Router(config-if)# service-policy input MAP_IPV6_ROUTING

Analyse de la configuration :

Une ACL IPv6 nommée ACL_IPV6_SRC est créée pour autoriser le trafic provenant du segment 2001:db8:1::/64. La fonction QoS est activée implicitement par la création des maps. Un class-map nommé CLASS_IPV6 est associé à cette ACL. Ensuite, une policy-map appelée MAP_IPV6_ROUTING référence cette classe et définit le prochain saut IPv6 vers 2001:db8:2::2.

L'application de cette politique en entrée sur l'interface GigabitEthernet 0/1 assure que tout paquet provenant de 2001:db8:1::/64 sera forwarding vers l'adresse de prochain saut spécifiée, outrepassant la table de routage standard.

Contraintes et Limitations

Il est important de noter que les tables de stratégies actuelles ne supportent généralement que la liaison sur les interfaces d'entrée (ingress) ; l'application en sortie (egress) n'est pas prise en charge. De plus, en raison des limitations des ressources matérielles (TCAM), si la complexité des stratégies dépasse les capacités du switch, le système rejettera la configuration et notifiera l'utilisateur de l'erreur.

Étiquettes: pbr ipv6 routage-reseau configuration-switch ACL

Publié le 8 août à 12h35