SlideShare a Scribd company logo
1 of 25
Contrôle des politiques
BGP
BOUZID Aymen
bouzidaymen@gmail.com
aymenbouzid.blogspot.com
1Last updated 24 April 2013
Appliquer des politiques avec BGP
 Politiques-basées sur l’AS path, les
communautés ou le préfixe
 Rejet/acceptation des routes sélectionnées
 Assigne des valeurs aux attributs pour
influencer la sélection de chemin
 Outils:
 Prefix-list (filtres les préfixes)
 Filter-list (filtres les ASs)
 Route-maps et communautés
2
Contrôle des politiques – Prefix List
 Filtre de préfixe par voisin
 Configuration incrémentale
 En entrée ou en sortie (Inbound or
Outbound)
 Basé sur l’identifiant des préfixes (notation
adresse IPv4/masque, idem pour IPv6)
 L’utilisation des access-lists en Cisco IOS
pour filtrer les préfixes est périmé depuis
longtemps
 Fortement decouragé!
3
Syntaxe pour les Prefix-list
 Syntaxe:
[no] ip prefix-list list-name [seq seq-value]
permit|deny network/len [ge ge-value] [le le-
value]
network/len: préfixe et longueur
ge ge-value: “plus grand ou égal à”
le le-value: “plus petit ou égal à”
 “ge” et “le” sont tous deux optionnels
 Pour spécifier l’intervalle des longueurs de préfixes à
faire correspondre pour les préfixes qui sont plus
spécifiques que network/longueur
 Le numéro de séquence est optionnel
no ip prefix-list sequence-number pour désactiver
l’affichage des numéros de séquence
4
Prefix Lists – Exemples
 Rejeter la route par défaut
ip prefix-list EG deny 0.0.0.0/0
 Permettre le préfixe 35.0.0.0/8
ip prefix-list EG permit 35.0.0.0/8
 Rejeter le préfixe 172.16.0.0/12
ip prefix-list EG deny 172.16.0.0/12
 Dans 192/8 permettre les prefixes jusqu’à /24
ip prefix-list EG permit 192.0.0.0/8 le 24
 Permet toutes les tailles de prefixes du bloc 192.0.0.0/8
sauf /25, /26, /27, /28, /29, /30, /31 et /32.
5
Prefix Lists – Exemples
 Dans 192/8 rejeter /25 et au dessus
ip prefix-list EG deny 192.0.0.0/8 ge 25
 Ceci rejete les tailles de prefixe /25, /26, /27, /28, /
29, /30, /31 et /32 dans le bloc d’adresses 192.0.0.0/8.
 Cela a le même effet que l’exemple précédent
 Dans 193/8 permettre les préfixes entre /12 et /
20
ip prefix-list EG permit 193.0.0.0/8 ge 12 le 20
 Ceci rejette les préfixes de tailles /8, /9, /10, /11, /21, /
22, … et plus dans le bloc d’adresses 193.0.0.0/8.
 Permet tous les préfixes
ip prefix-list EG permit 0.0.0.0/0 le 32
 0.0.0.0 correspond à toutes adresses possibles, “0 le
32” correspond à toutes les longueurs de préfixes
6
Contrôle des politiques – Prefix List
 Exemple de configuration
router bgp 100
network 105.7.0.0 mask 255.255.0.0
neighbor 102.10.1.1 remote-as 110
neighbor 102.10.1.1 prefix-list AS110-IN in
neighbor 102.10.1.1 prefix-list AS110-OUT out
!
ip prefix-list AS110-IN deny 218.10.0.0/16
ip prefix-list AS110-IN permit 0.0.0.0/0 le 32
ip prefix-list AS110-OUT permit 105.7.0.0/16
ip prefix-list AS110-OUT deny 0.0.0.0/0 le 32
7
Contrôle des politiques – Filter List
 Filtre les routes sur base de l’AS path
 Entrée ou sortie
 Exemple de configuration:
router bgp 100
network 105.7.0.0 mask 255.255.0.0
neighbor 102.10.1.1 filter-list 5 out
neighbor 102.10.1.1 filter-list 6 in
!
ip as-path access-list 5 permit ^200$
ip as-path access-list 6 permit ^150$
8
Contrôle des politiques –
Expressions Régulières
 Comme les expressions régulières Unix
. Correspond a un caractère
* N’importe quel nombre d’occurrences de l’expression
précédente
+ Au moins une occurrence de l’expression précédente
^ Début de ligne
$ Fin de ligne
 Echapper à une caractère d’expression régulière
_ Début, fin de ligne, espace, accolade
| Ou
() parenthèse pour contenir une expression
[] crochets pour contenir un intervalle (nombre
d’occurrences)
9
Contrôle des politiques –
Expressions Régulières
 Exemples simples
.* tout correspond
.+ toute expression avec au moins un
caractère
^$ routes locales à cet AS
_1800$ générée pas AS1800
^1800_ recue de AS1800
_1800_ via AS1800
_790_1800_ via AS1800 et AS790
_(1800_)+ plusieurs fois AS1800 en séquence
(pour la AS-PATH prepend)
_(65530)_ via AS65530 (confédérations)
10
Contrôle des politiques –
Expressions Régulières
 Exemples plus compliqués
^[0-9]+$ Correspond à AS_PATH de longueur 1
^[0-9]+_[0-9]+$ Correspond à AS_PATH de longueur 2
^[0-9]*_[0-9]+$ Correspond à AS_PATH de longueur 1 ou
2
^[0-9]*_[0-9]*$ Correspond à AS_PATH de longueur 0, 1
ou 2
^[0-9]+_[0-9]+_[0-9]+$ Correspond à AS_PATH de longueur 3
_(701|1800)_ Correspond à tout ce qui est passé par
AS701 ou AS1800
_1849(_.+_)12163$ Correspond à AS12163 comme origine
et qui passe par AS1849
11
Contrôle des politiques – Route
Maps
 Une route-map est comme un “programme” pour
IOS
 Avec des numéros de ligne, comme un
programme
 Chaque ligne est un couple condition/action
 Le concept de base est:
if match then do expression and exit
else
if match then do expression and exit
else etc
 Le mot clé “continue” permet à l’ISPs d’appliquer
plusieurs couples conditions/actions à la suite
dans un route-map
12
Route Maps – Avertissements
 Lignes peuvent avoir plusieurs déclarations “set”
 Lignes peuvent avoir plusieurs déclarations “match”
 Ligne avec une seule déclaration match
 Seuls les prefixes qui correspondent passent les autres sont
jetés
 Ligne avec une seule déclaration set
 Tous les préfixes correspondent et donc subissent le « set »
 Les lignes suivantes de la route-map sont ignorées
 Ligne avec une déclaration match/set et pas de lignes
suivantes
 Seules les préfixes qui correspondent subissent le “set”, les
autres préfixes sont jetés
13
Route Maps – Avertissements
 Exemple
 Omittre la 3eme ligne ci-dessous signifie que les
préfixes qui ne correspondent pas à list-one ou list-two
sont jetés
route-map sample permit 10
match ip address prefix-list list-one
set local-preference 120
!
route-map sample permit 20
match ip address prefix-list list-two
set local-preference 80
!
route-map sample permit 30 ! Don’t forget this
14
Route Maps – Matching prefixes
 Example Configuration
router bgp 100
neighbor 1.1.1.1 route-map infilter in
!
route-map infilter permit 10
match ip address prefix-list HIGH-PREF
set local-preference 120
!
route-map infilter permit 20
match ip address prefix-list LOW-PREF
set local-preference 80
!
ip prefix-list HIGH-PREF permit 10.0.0.0/8
ip prefix-list LOW-PREF permit 20.0.0.0/8
15
Route Maps – AS-PATH filtering
 Example Configuration
router bgp 100
neighbor 102.10.1.2 remote-as 200
neighbor 102.10.1.2 route-map filter-on-as-path in
!
route-map filter-on-as-path permit 10
match as-path 1
set local-preference 80
!
route-map filter-on-as-path permit 20
match as-path 2
set local-preference 200
!
ip as-path access-list 1 permit _150$
ip as-path access-list 2 permit _210_
16
Route Maps – AS-PATH prepends
 Example configuration of AS-PATH prepend
router bgp 300
network 105.7.0.0 mask 255.255.0.0
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 route-map SETPATH out
!
route-map SETPATH permit 10
set as-path prepend 300 300
 Use your own AS number when prepending
 Otherwise BGP loop detection may cause disconnects
17
Route Maps – Matching
Communities
 Example Configuration
router bgp 100
neighbor 102.10.1.2 remote-as 200
neighbor 102.10.1.2 route-map filter-on-community in
!
route-map filter-on-community permit 10
match community 1
set local-preference 50
!
route-map filter-on-community permit 20
match community 2 exact-match
set local-preference 200
!
ip community-list 1 permit 150:3 200:5
ip community-list 2 permit 88:6
18
Community-List Processing
 Note:
 When multiple values are configured in the
same community list statement, a logical AND
condition is created. All community values
must match to satisfy an AND condition
ip community-list 1 permit 150:3 200:5
 When multiple values are configured in
separate community list statements, a logical
OR condition is created. The first list that
matches a condition is processed
ip community-list 1 permit 150:3
ip community-list 1 permit 200:5 19
Route Maps – Setting Communities
 Example Configuration
router bgp 100
network 105.7.0.0 mask 255.255.0.0
neighbor 102.10.1.1 remote-as 200
neighbor 102.10.1.1 send-community
neighbor 102.10.1.1 route-map set-community out
!
route-map set-community permit 10
match ip address prefix-list NO-ANNOUNCE
set community no-export
!
route-map set-community permit 20
match ip address prefix-list AGGREGATE
!
ip prefix-list NO-ANNOUNCE permit 105.7.0.0/16 ge 17
ip prefix-list AGGREGATE permit 105.7.0.0/16
20
Route Map Continue
 Handling multiple conditions and actions in one
route-map (for BGP neighbour relationships only)
route-map peer-filter permit 10
match ip address prefix-list group-one
continue 30
set metric 2000
!
route-map peer-filter permit 20
match ip address prefix-list group-two
set community no-export
!
route-map peer-filter permit 30
match ip address prefix-list group-three
set as-path prepend 100 100
!
21
Order of processing BGP policy
 For policies applied to a specific BGP
neighbour, the following sequence is
applied:
 For inbound updates, the order is:
 Route-map
 Filter-list
 Prefix-list
 For outbound updates, the order is:
 Prefix-list
 Filter-list
 Route-map
22
Managing Policy Changes
 New policies only apply to the updates going
through the router AFTER the policy has been
introduced or changed
 To facilitate policy changes on the entire BGP
table the router handles the BGP peerings need
to be “refreshed”
 This is done by clearing the BGP session either in or out,
for example:
clear ip bgp <neighbour-addr> in|out
 Do NOT forget in or out — doing so results in a
hard reset of the BGP session
23
Managing Policy Changes
 Ability to clear the BGP sessions of groups of
neighbours configured according to several
criteria
 clear ip bgp <addr> [in|out]
<addr> may be any of the following
x.x.x.x IP address of a peer
* all peers
ASN all peers in an AS
external all external peers
peer-group <name> all peers in a peer-group
24
BGP Policy Control
ISP WorkshopsISP Workshops
25

More Related Content

What's hot

EIGRP - Configuration
EIGRP - ConfigurationEIGRP - Configuration
EIGRP - Configurationmdyabi
 
Comment paramétrer une connexion adsl sur un modem
Comment paramétrer une connexion adsl sur un modemComment paramétrer une connexion adsl sur un modem
Comment paramétrer une connexion adsl sur un modemCONNECT Tunisia
 
EIGRP - Fonctionnement de l'EIGRP
EIGRP - Fonctionnement de l'EIGRPEIGRP - Fonctionnement de l'EIGRP
EIGRP - Fonctionnement de l'EIGRPmdyabi
 
EIGRP - EIGRP sur frame relay
EIGRP - EIGRP sur frame relayEIGRP - EIGRP sur frame relay
EIGRP - EIGRP sur frame relaymdyabi
 
1254851542chap1 interconnexion routage
1254851542chap1 interconnexion routage1254851542chap1 interconnexion routage
1254851542chap1 interconnexion routageSimo Qb
 
Fr E Routing Slm V40
Fr E Routing Slm V40Fr E Routing Slm V40
Fr E Routing Slm V40boukna abdou
 
EIGRP - Mesures de l’EIGRP
EIGRP - Mesures de l’EIGRPEIGRP - Mesures de l’EIGRP
EIGRP - Mesures de l’EIGRPmdyabi
 
Configuration et mise en œuvre d'un réseau WAN (World Area Network)
Configuration et mise en œuvre  d'un réseau  WAN (World Area Network)Configuration et mise en œuvre  d'un réseau  WAN (World Area Network)
Configuration et mise en œuvre d'un réseau WAN (World Area Network)Abderrahmane Benyoub
 
vpn-site-a-site-avec-des-routeurs-cisco
 vpn-site-a-site-avec-des-routeurs-cisco vpn-site-a-site-avec-des-routeurs-cisco
vpn-site-a-site-avec-des-routeurs-ciscoCamara Assane
 
Travaux pratiques configuration du routage entre réseaux locaux virtuels
Travaux pratiques   configuration du routage entre réseaux locaux virtuelsTravaux pratiques   configuration du routage entre réseaux locaux virtuels
Travaux pratiques configuration du routage entre réseaux locaux virtuelsMohamed Keita
 
CCNP Route - OSPF
CCNP Route - OSPFCCNP Route - OSPF
CCNP Route - OSPFmdyabi
 

What's hot (20)

EIGRP - Configuration
EIGRP - ConfigurationEIGRP - Configuration
EIGRP - Configuration
 
Comment paramétrer une connexion adsl sur un modem
Comment paramétrer une connexion adsl sur un modemComment paramétrer une connexion adsl sur un modem
Comment paramétrer une connexion adsl sur un modem
 
Résumé vlsm et cidr
Résumé vlsm et cidrRésumé vlsm et cidr
Résumé vlsm et cidr
 
Ccna4
Ccna4Ccna4
Ccna4
 
EIGRP - Fonctionnement de l'EIGRP
EIGRP - Fonctionnement de l'EIGRPEIGRP - Fonctionnement de l'EIGRP
EIGRP - Fonctionnement de l'EIGRP
 
Cours3 ospf-eigrp
Cours3 ospf-eigrpCours3 ospf-eigrp
Cours3 ospf-eigrp
 
EIGRP - EIGRP sur frame relay
EIGRP - EIGRP sur frame relayEIGRP - EIGRP sur frame relay
EIGRP - EIGRP sur frame relay
 
1254851542chap1 interconnexion routage
1254851542chap1 interconnexion routage1254851542chap1 interconnexion routage
1254851542chap1 interconnexion routage
 
MPLS VPN
MPLS VPNMPLS VPN
MPLS VPN
 
Fr E Routing Slm V40
Fr E Routing Slm V40Fr E Routing Slm V40
Fr E Routing Slm V40
 
Ccna 2-module-2-v4
Ccna 2-module-2-v4Ccna 2-module-2-v4
Ccna 2-module-2-v4
 
EIGRP - Mesures de l’EIGRP
EIGRP - Mesures de l’EIGRPEIGRP - Mesures de l’EIGRP
EIGRP - Mesures de l’EIGRP
 
Cisco ASA
Cisco ASACisco ASA
Cisco ASA
 
Routage
RoutageRoutage
Routage
 
Configuration et mise en œuvre d'un réseau WAN (World Area Network)
Configuration et mise en œuvre  d'un réseau  WAN (World Area Network)Configuration et mise en œuvre  d'un réseau  WAN (World Area Network)
Configuration et mise en œuvre d'un réseau WAN (World Area Network)
 
cours ospf
cours ospf cours ospf
cours ospf
 
vpn-site-a-site-avec-des-routeurs-cisco
 vpn-site-a-site-avec-des-routeurs-cisco vpn-site-a-site-avec-des-routeurs-cisco
vpn-site-a-site-avec-des-routeurs-cisco
 
Eigrp ccna v5
Eigrp ccna v5 Eigrp ccna v5
Eigrp ccna v5
 
Travaux pratiques configuration du routage entre réseaux locaux virtuels
Travaux pratiques   configuration du routage entre réseaux locaux virtuelsTravaux pratiques   configuration du routage entre réseaux locaux virtuels
Travaux pratiques configuration du routage entre réseaux locaux virtuels
 
CCNP Route - OSPF
CCNP Route - OSPFCCNP Route - OSPF
CCNP Route - OSPF
 

Viewers also liked

Routage Ipv6 _fr_2015
Routage Ipv6 _fr_2015Routage Ipv6 _fr_2015
Routage Ipv6 _fr_2015Aymen Bouzid
 
Mécanismes de transition ipv6
Mécanismes de transition ipv6Mécanismes de transition ipv6
Mécanismes de transition ipv6Aymen Bouzid
 
Tendances et évolution des réseaux Wireless LAN
Tendances et évolution des réseaux Wireless LANTendances et évolution des réseaux Wireless LAN
Tendances et évolution des réseaux Wireless LANAymen Bouzid
 
Voix et téléphonie sur IP- Convergence voix et données
Voix et téléphonie sur IP- Convergence voix et données Voix et téléphonie sur IP- Convergence voix et données
Voix et téléphonie sur IP- Convergence voix et données Aymen Bouzid
 
La technologie xDSL
La technologie xDSLLa technologie xDSL
La technologie xDSLAymen Bouzid
 
Aφιέρωμα στο περιβάλλον της Βέροιας
Aφιέρωμα στο περιβάλλον της Βέροιας  Aφιέρωμα στο περιβάλλον της Βέροιας
Aφιέρωμα στο περιβάλλον της Βέροιας paraskevi64
 
Clase1 matebasica2
Clase1 matebasica2Clase1 matebasica2
Clase1 matebasica2benjapiedra
 
Feliz Navidad_Frohe Weihnacht
Feliz Navidad_Frohe WeihnachtFeliz Navidad_Frohe Weihnacht
Feliz Navidad_Frohe WeihnachtMarisa Gamonal
 
Chroniques santé-protection-oreille BIORL
Chroniques santé-protection-oreille BIORLChroniques santé-protection-oreille BIORL
Chroniques santé-protection-oreille BIORLEthan Biorl
 
Composicion 2
Composicion 2Composicion 2
Composicion 2mluque3
 
French, marketing a niche practice
French, marketing a niche practiceFrench, marketing a niche practice
French, marketing a niche practiceDavid Gauthier
 
Brand review arte
Brand review arteBrand review arte
Brand review artejulosmont
 
OPH - Carte Statutaire Laissez-passer Après la Mort?
OPH - Carte Statutaire Laissez-passer Après la Mort?OPH - Carte Statutaire Laissez-passer Après la Mort?
OPH - Carte Statutaire Laissez-passer Après la Mort?CetyNelly
 

Viewers also liked (20)

Routage Ipv6 _fr_2015
Routage Ipv6 _fr_2015Routage Ipv6 _fr_2015
Routage Ipv6 _fr_2015
 
Mécanismes de transition ipv6
Mécanismes de transition ipv6Mécanismes de transition ipv6
Mécanismes de transition ipv6
 
Tendances et évolution des réseaux Wireless LAN
Tendances et évolution des réseaux Wireless LANTendances et évolution des réseaux Wireless LAN
Tendances et évolution des réseaux Wireless LAN
 
Voix et téléphonie sur IP- Convergence voix et données
Voix et téléphonie sur IP- Convergence voix et données Voix et téléphonie sur IP- Convergence voix et données
Voix et téléphonie sur IP- Convergence voix et données
 
La technologie xDSL
La technologie xDSLLa technologie xDSL
La technologie xDSL
 
IPv6 Les Bases
IPv6 Les BasesIPv6 Les Bases
IPv6 Les Bases
 
MPLS-TE
MPLS-TEMPLS-TE
MPLS-TE
 
MPLS
MPLSMPLS
MPLS
 
Is is
Is isIs is
Is is
 
Aφιέρωμα στο περιβάλλον της Βέροιας
Aφιέρωμα στο περιβάλλον της Βέροιας  Aφιέρωμα στο περιβάλλον της Βέροιας
Aφιέρωμα στο περιβάλλον της Βέροιας
 
Clase1 matebasica2
Clase1 matebasica2Clase1 matebasica2
Clase1 matebasica2
 
Libertya, el ERP libre
Libertya, el ERP libreLibertya, el ERP libre
Libertya, el ERP libre
 
Feliz Navidad_Frohe Weihnacht
Feliz Navidad_Frohe WeihnachtFeliz Navidad_Frohe Weihnacht
Feliz Navidad_Frohe Weihnacht
 
Saraswati Chandra
Saraswati ChandraSaraswati Chandra
Saraswati Chandra
 
Document management solutions
Document management solutionsDocument management solutions
Document management solutions
 
Chroniques santé-protection-oreille BIORL
Chroniques santé-protection-oreille BIORLChroniques santé-protection-oreille BIORL
Chroniques santé-protection-oreille BIORL
 
Composicion 2
Composicion 2Composicion 2
Composicion 2
 
French, marketing a niche practice
French, marketing a niche practiceFrench, marketing a niche practice
French, marketing a niche practice
 
Brand review arte
Brand review arteBrand review arte
Brand review arte
 
OPH - Carte Statutaire Laissez-passer Après la Mort?
OPH - Carte Statutaire Laissez-passer Après la Mort?OPH - Carte Statutaire Laissez-passer Après la Mort?
OPH - Carte Statutaire Laissez-passer Après la Mort?
 

Similar to Bgp policy control fr-first-half

Alphorm.com Formation CCNP ENCOR 350-401 (2of8) : Routing
Alphorm.com Formation CCNP ENCOR 350-401 (2of8) : RoutingAlphorm.com Formation CCNP ENCOR 350-401 (2of8) : Routing
Alphorm.com Formation CCNP ENCOR 350-401 (2of8) : RoutingAlphorm
 
Firewalls
FirewallsFirewalls
Firewallsc0r3war
 
Cisco les acl_cours
Cisco les acl_coursCisco les acl_cours
Cisco les acl_coursTutu Mike
 
commande 2.pdf
commande 2.pdfcommande 2.pdf
commande 2.pdfalirayss
 
Bgp formation-configurer-bgp-sur-des-routeurs-cisco
Bgp formation-configurer-bgp-sur-des-routeurs-ciscoBgp formation-configurer-bgp-sur-des-routeurs-cisco
Bgp formation-configurer-bgp-sur-des-routeurs-ciscoCERTyou Formation
 

Similar to Bgp policy control fr-first-half (12)

Alphorm.com Formation CCNP ENCOR 350-401 (2of8) : Routing
Alphorm.com Formation CCNP ENCOR 350-401 (2of8) : RoutingAlphorm.com Formation CCNP ENCOR 350-401 (2of8) : Routing
Alphorm.com Formation CCNP ENCOR 350-401 (2of8) : Routing
 
Firewalls
FirewallsFirewalls
Firewalls
 
Carte mentale bgp
Carte mentale bgpCarte mentale bgp
Carte mentale bgp
 
Cisco les acl_cours
Cisco les acl_coursCisco les acl_cours
Cisco les acl_cours
 
Configuration de-base-d
Configuration de-base-dConfiguration de-base-d
Configuration de-base-d
 
3200612.ppt
3200612.ppt3200612.ppt
3200612.ppt
 
commande 2.pdf
commande 2.pdfcommande 2.pdf
commande 2.pdf
 
Bgp formation-configurer-bgp-sur-des-routeurs-cisco
Bgp formation-configurer-bgp-sur-des-routeurs-ciscoBgp formation-configurer-bgp-sur-des-routeurs-cisco
Bgp formation-configurer-bgp-sur-des-routeurs-cisco
 
Projet IPTable
Projet  IPTableProjet  IPTable
Projet IPTable
 
1301000.ppt
1301000.ppt1301000.ppt
1301000.ppt
 
1485606887355.pdf
1485606887355.pdf1485606887355.pdf
1485606887355.pdf
 
Protocole OSPF
Protocole OSPFProtocole OSPF
Protocole OSPF
 

Bgp policy control fr-first-half

  • 1. Contrôle des politiques BGP BOUZID Aymen bouzidaymen@gmail.com aymenbouzid.blogspot.com 1Last updated 24 April 2013
  • 2. Appliquer des politiques avec BGP  Politiques-basées sur l’AS path, les communautés ou le préfixe  Rejet/acceptation des routes sélectionnées  Assigne des valeurs aux attributs pour influencer la sélection de chemin  Outils:  Prefix-list (filtres les préfixes)  Filter-list (filtres les ASs)  Route-maps et communautés 2
  • 3. Contrôle des politiques – Prefix List  Filtre de préfixe par voisin  Configuration incrémentale  En entrée ou en sortie (Inbound or Outbound)  Basé sur l’identifiant des préfixes (notation adresse IPv4/masque, idem pour IPv6)  L’utilisation des access-lists en Cisco IOS pour filtrer les préfixes est périmé depuis longtemps  Fortement decouragé! 3
  • 4. Syntaxe pour les Prefix-list  Syntaxe: [no] ip prefix-list list-name [seq seq-value] permit|deny network/len [ge ge-value] [le le- value] network/len: préfixe et longueur ge ge-value: “plus grand ou égal à” le le-value: “plus petit ou égal à”  “ge” et “le” sont tous deux optionnels  Pour spécifier l’intervalle des longueurs de préfixes à faire correspondre pour les préfixes qui sont plus spécifiques que network/longueur  Le numéro de séquence est optionnel no ip prefix-list sequence-number pour désactiver l’affichage des numéros de séquence 4
  • 5. Prefix Lists – Exemples  Rejeter la route par défaut ip prefix-list EG deny 0.0.0.0/0  Permettre le préfixe 35.0.0.0/8 ip prefix-list EG permit 35.0.0.0/8  Rejeter le préfixe 172.16.0.0/12 ip prefix-list EG deny 172.16.0.0/12  Dans 192/8 permettre les prefixes jusqu’à /24 ip prefix-list EG permit 192.0.0.0/8 le 24  Permet toutes les tailles de prefixes du bloc 192.0.0.0/8 sauf /25, /26, /27, /28, /29, /30, /31 et /32. 5
  • 6. Prefix Lists – Exemples  Dans 192/8 rejeter /25 et au dessus ip prefix-list EG deny 192.0.0.0/8 ge 25  Ceci rejete les tailles de prefixe /25, /26, /27, /28, / 29, /30, /31 et /32 dans le bloc d’adresses 192.0.0.0/8.  Cela a le même effet que l’exemple précédent  Dans 193/8 permettre les préfixes entre /12 et / 20 ip prefix-list EG permit 193.0.0.0/8 ge 12 le 20  Ceci rejette les préfixes de tailles /8, /9, /10, /11, /21, / 22, … et plus dans le bloc d’adresses 193.0.0.0/8.  Permet tous les préfixes ip prefix-list EG permit 0.0.0.0/0 le 32  0.0.0.0 correspond à toutes adresses possibles, “0 le 32” correspond à toutes les longueurs de préfixes 6
  • 7. Contrôle des politiques – Prefix List  Exemple de configuration router bgp 100 network 105.7.0.0 mask 255.255.0.0 neighbor 102.10.1.1 remote-as 110 neighbor 102.10.1.1 prefix-list AS110-IN in neighbor 102.10.1.1 prefix-list AS110-OUT out ! ip prefix-list AS110-IN deny 218.10.0.0/16 ip prefix-list AS110-IN permit 0.0.0.0/0 le 32 ip prefix-list AS110-OUT permit 105.7.0.0/16 ip prefix-list AS110-OUT deny 0.0.0.0/0 le 32 7
  • 8. Contrôle des politiques – Filter List  Filtre les routes sur base de l’AS path  Entrée ou sortie  Exemple de configuration: router bgp 100 network 105.7.0.0 mask 255.255.0.0 neighbor 102.10.1.1 filter-list 5 out neighbor 102.10.1.1 filter-list 6 in ! ip as-path access-list 5 permit ^200$ ip as-path access-list 6 permit ^150$ 8
  • 9. Contrôle des politiques – Expressions Régulières  Comme les expressions régulières Unix . Correspond a un caractère * N’importe quel nombre d’occurrences de l’expression précédente + Au moins une occurrence de l’expression précédente ^ Début de ligne $ Fin de ligne Echapper à une caractère d’expression régulière _ Début, fin de ligne, espace, accolade | Ou () parenthèse pour contenir une expression [] crochets pour contenir un intervalle (nombre d’occurrences) 9
  • 10. Contrôle des politiques – Expressions Régulières  Exemples simples .* tout correspond .+ toute expression avec au moins un caractère ^$ routes locales à cet AS _1800$ générée pas AS1800 ^1800_ recue de AS1800 _1800_ via AS1800 _790_1800_ via AS1800 et AS790 _(1800_)+ plusieurs fois AS1800 en séquence (pour la AS-PATH prepend) _(65530)_ via AS65530 (confédérations) 10
  • 11. Contrôle des politiques – Expressions Régulières  Exemples plus compliqués ^[0-9]+$ Correspond à AS_PATH de longueur 1 ^[0-9]+_[0-9]+$ Correspond à AS_PATH de longueur 2 ^[0-9]*_[0-9]+$ Correspond à AS_PATH de longueur 1 ou 2 ^[0-9]*_[0-9]*$ Correspond à AS_PATH de longueur 0, 1 ou 2 ^[0-9]+_[0-9]+_[0-9]+$ Correspond à AS_PATH de longueur 3 _(701|1800)_ Correspond à tout ce qui est passé par AS701 ou AS1800 _1849(_.+_)12163$ Correspond à AS12163 comme origine et qui passe par AS1849 11
  • 12. Contrôle des politiques – Route Maps  Une route-map est comme un “programme” pour IOS  Avec des numéros de ligne, comme un programme  Chaque ligne est un couple condition/action  Le concept de base est: if match then do expression and exit else if match then do expression and exit else etc  Le mot clé “continue” permet à l’ISPs d’appliquer plusieurs couples conditions/actions à la suite dans un route-map 12
  • 13. Route Maps – Avertissements  Lignes peuvent avoir plusieurs déclarations “set”  Lignes peuvent avoir plusieurs déclarations “match”  Ligne avec une seule déclaration match  Seuls les prefixes qui correspondent passent les autres sont jetés  Ligne avec une seule déclaration set  Tous les préfixes correspondent et donc subissent le « set »  Les lignes suivantes de la route-map sont ignorées  Ligne avec une déclaration match/set et pas de lignes suivantes  Seules les préfixes qui correspondent subissent le “set”, les autres préfixes sont jetés 13
  • 14. Route Maps – Avertissements  Exemple  Omittre la 3eme ligne ci-dessous signifie que les préfixes qui ne correspondent pas à list-one ou list-two sont jetés route-map sample permit 10 match ip address prefix-list list-one set local-preference 120 ! route-map sample permit 20 match ip address prefix-list list-two set local-preference 80 ! route-map sample permit 30 ! Don’t forget this 14
  • 15. Route Maps – Matching prefixes  Example Configuration router bgp 100 neighbor 1.1.1.1 route-map infilter in ! route-map infilter permit 10 match ip address prefix-list HIGH-PREF set local-preference 120 ! route-map infilter permit 20 match ip address prefix-list LOW-PREF set local-preference 80 ! ip prefix-list HIGH-PREF permit 10.0.0.0/8 ip prefix-list LOW-PREF permit 20.0.0.0/8 15
  • 16. Route Maps – AS-PATH filtering  Example Configuration router bgp 100 neighbor 102.10.1.2 remote-as 200 neighbor 102.10.1.2 route-map filter-on-as-path in ! route-map filter-on-as-path permit 10 match as-path 1 set local-preference 80 ! route-map filter-on-as-path permit 20 match as-path 2 set local-preference 200 ! ip as-path access-list 1 permit _150$ ip as-path access-list 2 permit _210_ 16
  • 17. Route Maps – AS-PATH prepends  Example configuration of AS-PATH prepend router bgp 300 network 105.7.0.0 mask 255.255.0.0 neighbor 2.2.2.2 remote-as 100 neighbor 2.2.2.2 route-map SETPATH out ! route-map SETPATH permit 10 set as-path prepend 300 300  Use your own AS number when prepending  Otherwise BGP loop detection may cause disconnects 17
  • 18. Route Maps – Matching Communities  Example Configuration router bgp 100 neighbor 102.10.1.2 remote-as 200 neighbor 102.10.1.2 route-map filter-on-community in ! route-map filter-on-community permit 10 match community 1 set local-preference 50 ! route-map filter-on-community permit 20 match community 2 exact-match set local-preference 200 ! ip community-list 1 permit 150:3 200:5 ip community-list 2 permit 88:6 18
  • 19. Community-List Processing  Note:  When multiple values are configured in the same community list statement, a logical AND condition is created. All community values must match to satisfy an AND condition ip community-list 1 permit 150:3 200:5  When multiple values are configured in separate community list statements, a logical OR condition is created. The first list that matches a condition is processed ip community-list 1 permit 150:3 ip community-list 1 permit 200:5 19
  • 20. Route Maps – Setting Communities  Example Configuration router bgp 100 network 105.7.0.0 mask 255.255.0.0 neighbor 102.10.1.1 remote-as 200 neighbor 102.10.1.1 send-community neighbor 102.10.1.1 route-map set-community out ! route-map set-community permit 10 match ip address prefix-list NO-ANNOUNCE set community no-export ! route-map set-community permit 20 match ip address prefix-list AGGREGATE ! ip prefix-list NO-ANNOUNCE permit 105.7.0.0/16 ge 17 ip prefix-list AGGREGATE permit 105.7.0.0/16 20
  • 21. Route Map Continue  Handling multiple conditions and actions in one route-map (for BGP neighbour relationships only) route-map peer-filter permit 10 match ip address prefix-list group-one continue 30 set metric 2000 ! route-map peer-filter permit 20 match ip address prefix-list group-two set community no-export ! route-map peer-filter permit 30 match ip address prefix-list group-three set as-path prepend 100 100 ! 21
  • 22. Order of processing BGP policy  For policies applied to a specific BGP neighbour, the following sequence is applied:  For inbound updates, the order is:  Route-map  Filter-list  Prefix-list  For outbound updates, the order is:  Prefix-list  Filter-list  Route-map 22
  • 23. Managing Policy Changes  New policies only apply to the updates going through the router AFTER the policy has been introduced or changed  To facilitate policy changes on the entire BGP table the router handles the BGP peerings need to be “refreshed”  This is done by clearing the BGP session either in or out, for example: clear ip bgp <neighbour-addr> in|out  Do NOT forget in or out — doing so results in a hard reset of the BGP session 23
  • 24. Managing Policy Changes  Ability to clear the BGP sessions of groups of neighbours configured according to several criteria  clear ip bgp <addr> [in|out] <addr> may be any of the following x.x.x.x IP address of a peer * all peers ASN all peers in an AS external all external peers peer-group <name> all peers in a peer-group 24
  • 25. BGP Policy Control ISP WorkshopsISP Workshops 25