MDstable
NoteSnippetChecklistPlaybook

PBR & VRF — Routage avancé Cisco

Policy-Based Routing (PBR) et VRF-Lite pour segmentation et routage conditionnel

snippetadvanced 2025-05-14 4 min read
pbrvrfpolicy-routingciscoroute-mapvrf-litesegmentationios

PBR — Policy-Based Routing

Use cases

Forcer le trafic HTTP/HTTPS vers un proxy transparent
Acheminer le trafic selon lIP source clients VIP vs standard
WAN diffrenci voix sur lien MPLS web sur Internet
Contourner la table de routage pour un service spcifique

Configuration PBR

text
Variables
{{PROXY_IP}}
{{INGRESS_INTERFACE}}
! 1. Définir le trafic à intercepter
ip access-list extended MATCH_HTTP
permit tcp any any eq 80
permit tcp any any eq 443
! 2. Créer la route-map
route-map PBR_MAP permit 10
match ip address MATCH_HTTP
set ip next-hop {{PROXY_IP}}
! 3. Clause par défaut : laisser passer le reste normalement
route-map PBR_MAP permit 20
! (pas de match = correspond à tout le reste)
! (pas de set = utilise la table de routage normale)
! 4. Appliquer sur l'interface d'ENTRÉE du trafic
interface {{INGRESS_INTERFACE}}
ip policy route-map PBR_MAP

PBR avec vérification de disponibilité (IP SLA)

text
Variables
{{PROXY_IP}}
{{BACKUP_PROXY}}
! Vérifier la disponibilité du next-hop avant de l'utiliser
route-map PBR_FAILOVER permit 10
match ip address MATCH_HTTP
set ip next-hop verify-availability {{PROXY_IP}} 1 track 1
set ip next-hop verify-availability {{BACKUP_PROXY}} 2 track 2
! Si aucun next-hop disponible → table de routage normale

Local PBR (trafic généré par le routeur lui-même)

text
Variables
{{MAP_NAME}}
! Pour le trafic initié par le routeur (pings, SSH sortants, syslog)
ip local policy route-map {{MAP_NAME}}

Vérification et debug PBR

text
Variables
{{MAP_NAME}}
show route-map
show route-map {{MAP_NAME}}
show ip policy
! Debug : ATTENTION très verbeux, désactiver rapidement
debug ip policy
undebug all

VRF-Lite — Segmentation sans MPLS

Use cases

Multi-tenant isoler les clients sur un mme quipement physique
Sparation mgmt/data plan de management dans un VRF ddi
Dual-ISP deux tables de routage une par oprateur
Test/staging environnement isol sur le mme routeur

Création d'un VRF

text
Variables
{{VRF_NAME}}
{{AS}}
{{ID}}
! Définir le VRF avec Route Distinguisher
ip vrf {{VRF_NAME}}
rd {{AS}}:{{ID}}
! Route Targets pour le route leaking (optionnel sans MPLS)
route-target export {{AS}}:{{ID}}
route-target import {{AS}}:{{ID}}

Assigner une interface à un VRF

text
Variables
{{INTERFACE}}
{{VRF_NAME}}
{{IP}}
{{MASK}}
interface {{INTERFACE}}
! ATTENTION : cette commande supprime l'adresse IP existante
ip vrf forwarding {{VRF_NAME}}
! Reconfigurer l'adresse IP immédiatement après
ip address {{IP}} {{MASK}}
no shutdown

Routage dans un VRF

text
Variables
{{VRF_NAME}}
{{NET}}
{{MASK}}
{{NEXT_HOP}}
{{GW}}
{{PROCESS_ID}}
{{WILDCARD}}
{{AREA}}
{{AS}}
{{PEER_IP}}
{{PEER_AS}}
! Route statique dans un VRF
ip route vrf {{VRF_NAME}} {{NET}} {{MASK}} {{NEXT_HOP}}
! Route statique avec next-hop global (route leaking VRF → global)
ip route vrf {{VRF_NAME}} 0.0.0.0 0.0.0.0 {{GW}} global
! OSPF dans un VRF
router ospf {{PROCESS_ID}} vrf {{VRF_NAME}}
network {{NET}} {{WILDCARD}} area {{AREA}}
! BGP dans un VRF
router bgp {{AS}}
address-family ipv4 vrf {{VRF_NAME}}
neighbor {{PEER_IP}} remote-as {{PEER_AS}}
network {{NET}} mask {{MASK}}
exit-address-family

Route leaking entre VRF

text
Variables
{{VRF_SRC}}
{{NET}}
{{MASK}}
{{NEXT_HOP}}
{{AS}}
{{VRF_A}}
{{VRF_B}}
! Option 1 : route statique avec mot-clé global ou vrf cible
ip route vrf {{VRF_SRC}} {{NET}} {{MASK}} {{NEXT_HOP}} global
ip route {{NET}} {{MASK}} vrf {{VRF_SRC}} {{NEXT_HOP}}
! Option 2 : via BGP avec Route Targets (plus propre, scalable)
router bgp {{AS}}
address-family ipv4 vrf {{VRF_A}}
route-target import {{AS}}:200 ! importer les routes du VRF_B
address-family ipv4 vrf {{VRF_B}}
route-target export {{AS}}:200 ! exporter les routes du VRF_B

Vérification VRF

text
Variables
{{VRF_NAME}}
{{DEST_IP}}
{{DEVICE_IP}}
show ip vrf
show ip vrf interfaces
show ip vrf detail {{VRF_NAME}}
! Table de routage d'un VRF spécifique
show ip route vrf {{VRF_NAME}}
! Ping dans le contexte d'un VRF
ping vrf {{VRF_NAME}} {{DEST_IP}}
! Traceroute dans un VRF
traceroute vrf {{VRF_NAME}} {{DEST_IP}}
! SSH ou telnet dans un VRF
ssh -vrf {{VRF_NAME}} -l admin {{DEVICE_IP}}

Tableau use cases VRF

Use case VRFs Routage inter-VRF Notes
Multi-tenant 1 par client Non isolation RD unique par client
Mgmt Data plane MGMT default Route leaking SSH Scuriser laccs mgmt
Dual-ISP ISP_A ISP_B Non PBR pour slection ISP
Test Staging PROD TEST Optionnel Partage matriel
💡 Tip —

Lors d'un ip vrf forwarding NAME sur une interface, Cisco IOS supprime automatiquement l'adresse IP configurée. Toujours enchaîner la commande ip address immédiatement après dans la même session de configuration, sans quitter le mode interface — sinon la connectivité est perdue et une console physique (ou accès OOB) sera nécessaire pour récupérer.

OPS·BRAIN v1.027 notes · Networklocal