informatique:cisco:bgp
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
informatique:cisco:bgp [2008/12/15 08:29] – Machine d'état BGP pteu | informatique:cisco:bgp [2012/06/21 08:27] – [Liens utiles] pteu | ||
---|---|---|---|
Line 3: | Line 3: | ||
======BGP====== | ======BGP====== | ||
- | BGP est un protocole de routage | + | BGP (Border Gateway Protocol) |
+ | |||
+ | Le BGP permet un routage administratif basé sur la méfiance de ses voisins, ce qui signifie qu'à la différence des protocoles de routage **IGP** (Interior Gateway Protocol) comme l' | ||
* 2 déclinaisons du BGP | * 2 déclinaisons du BGP | ||
* iBGP pour le routage intra-domaine | * iBGP pour le routage intra-domaine | ||
- | * EBGP pour le routage inter-domaine | + | * eBGP pour le routage inter-domaine |
* 3 tables | * 3 tables | ||
* table des voisins | * table des voisins | ||
Line 17: | Line 19: | ||
* Update | * Update | ||
* Notification | * Notification | ||
- | * la **synchronisation**, | + | * la **synchronisation**, |
- | * une **communauté** est un groupe de destinations qui partagent certaine propriétés ; elles utilisent un tag ; celà permet un filtrage cohérent | + | * une **communauté** est un groupe de destinations qui partagent certaine propriétés ; elles utilisent un tag ; cela permet un filtrage cohérent |
* les numéros d'AS vont de 1 à 65535, les numéros de 64512 à 65535 son réservé pour un usage privé | * les numéros d'AS vont de 1 à 65535, les numéros de 64512 à 65535 son réservé pour un usage privé | ||
=====Les attributs===== | =====Les attributs===== | ||
- | Les attributs BGP ont différentes | + | Les attributs BGP ont différentes |
* **well-known** qui doivent être reconnus par toutes les implémentations de BGP car ils sont transmis aux peers BGP. | * **well-known** qui doivent être reconnus par toutes les implémentations de BGP car ils sont transmis aux peers BGP. | ||
* **mandatory** (AS-path, next-hop, origin) : ils sont présents dans chaque //update message// | * **mandatory** (AS-path, next-hop, origin) : ils sont présents dans chaque //update message// | ||
Line 32: | Line 34: | ||
Ils peuvent être annoncés dans les //routing update// sauf le //weight//. | Ils peuvent être annoncés dans les //routing update// sauf le //weight//. | ||
- | * **AS-path** : c'est un " | + | * **AS-path** |
* **next-hop** | * **next-hop** | ||
- | | + | * en EBGP, le next-hop est le routeur qui annonce la route |
- | * **local preference** | + | * en IBGP c'est le voisin qui annonce la route sauf qui la route est apprise par EBGP, auquel cas le next-hop sera le même que celui d'EBGP (donc le routeur qui a annoncé la route) |
- | * **MED** (Multi-Exit Discriminator) : ~ métrique | + | |
- | * **weight** : celui-là est propriétaire Cisco et est local (pas annoncé aux voisins) | + | * **local preference** |
+ | * **MED** (Multi-Exit Discriminator) (type code 4) : ~ métrique | ||
+ | * **weight** : celui-là est propriétaire Cisco ; il est local au routeur | ||
+ | |||
+ | La priorité pour choisir un chemin est : weight > local pref > originate route > AS-Path > MED | ||
=====Machine d' | =====Machine d' | ||
+ | 6 états différents : | ||
* **Idle** : le routeur est prêt à établir une session BGP. | * **Idle** : le routeur est prêt à établir une session BGP. | ||
* **Connect** : la connexion est établie. Il envoie un message //Open// et passe à l' | * **Connect** : la connexion est établie. Il envoie un message //Open// et passe à l' | ||
Line 62: | Line 69: | ||
Déclarer la Loopback0 comme IP source : | Déclarer la Loopback0 comme IP source : | ||
- | (config-router)# | + | |
- | Déclarer | + | Déclarer |
- | network 10.10.10.0 mask 255.255.255.0 | + | |
Line 73: | Line 80: | ||
====Peer group==== | ====Peer group==== | ||
+ | Local à chaque routeur, permet de factoriser la configuration de peers. | ||
+ | ====Annoncer un préfixe==== | ||
+ | |||
+ | Annoncer les réseaux de 207.0.0.0/ | ||
+ | ip prefix-list 207.0.0.0/8 ge 10 le 18 | ||
+ | (**ge** = Greater or Equal != **le** pour Less or Equal) | ||
+ | |||
+ | ====Agréger des routes==== | ||
+ | |||
+ | On utilise la commande '' | ||
+ | |||
+ | router bgp 300 | ||
+ | | ||
+ | | ||
+ | |||
+ | Dans le cas ci-dessus le routeur annoncera les 2 réseaux 200.52.1.192/ | ||
+ | aggregate-address 200.52.1.0 255.255.255.0 summary-only | ||
+ | |||
+ | ====route-reflector==== | ||
+ | |||
+ | Sur le router " | ||
+ | router bgp 64000 | ||
+ | | ||
+ | | ||
+ | |||
+ | ====Communauté==== | ||
+ | |||
+ | Pour partager une communauté avec le voisin 10.0.0.1 | ||
+ | neighbor 10.0.0.1 send-community | ||
+ | |||
+ | ====Load Sharing==== | ||
+ | |||
+ | Le load sharing permet d' | ||
+ | |||
+ | ===Double raccordement au même ISP=== | ||
+ | |||
+ | On considère un router WAN relié en eBGP à 2 routeurs d'un même ISP. Il faut monter les adjacences eBGP et ajouter la commande '' | ||
+ | |||
+ | Exemple : notre AS=100 et l'AS de notre ISP=200. Configuration de notre routeur : | ||
+ | < | ||
+ | R1 | ||
+ | / | ||
+ | AS=100 | ||
+ | \ | ||
+ | R2 | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | interface Loopback0 | ||
+ | ip address 10.0.0.1 255.255.255.0 | ||
+ | ! | ||
+ | interface FastEthernet0/ | ||
+ | | ||
+ | ip address 100.0.1.1 255.255.255.0 | ||
+ | ! | ||
+ | interface FastEthernet0/ | ||
+ | | ||
+ | ip address 100.0.2.1 255.255.255.0 | ||
+ | ! | ||
+ | router bgp 100 | ||
+ | | ||
+ | | ||
+ | | ||
+ | ! détermine le nombre de path différents à installer dans la table de routage | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ===as-path prepend=== | ||
+ | |||
+ | L' | ||
+ | |||
+ | |||
+ | Dans ce cas on a cette architecture : 2 routeurs WAN locaux vers 2 routeurs d'un même ISP ; avec des adjacences BGP "en carré" | ||
+ | < | ||
+ | | ||
+ | AS10 (local) | ||
+ | | ||
+ | </ | ||
+ | |||
+ | J'ai 2 réseaux locaux 10.0.1.0/24 et 10.0.2.0/24 ; mon n° d'AS est 10. Je veux que le premier réseau soit routé par mon ISP (AS=11) vers R1, et le second vers R2. | ||
+ | |||
+ | Sur R1 : | ||
+ | <code bash> | ||
+ | router bgp 1 | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ! | ||
+ | access-list 1 permit 10.0.1.0 | ||
+ | access-list 2 permit 10.0.2.0 | ||
+ | ! | ||
+ | route-map rm_R1 permit 10 | ||
+ | match ip address 1 | ||
+ | ! | ||
+ | route-map R101-103-MAP permit 20 | ||
+ | match ip address 2 | ||
+ | ! on " | ||
+ | set as-path prepend 11 11 | ||
+ | </ | ||
+ | |||
+ | On " | ||
=====Vérifications===== | =====Vérifications===== | ||
Lister les annonces BGP sur un routeur | Lister les annonces BGP sur un routeur | ||
- | | + | <code bash> |
+ | show bgp ipv4 unicast | ||
+ | </ | ||
Lister les voisins | Lister les voisins | ||
- | | + | <code bash> |
+ | show ip bgp neighbors | ||
+ | </ | ||
Pour redémarrer toutes les sessions BGP | Pour redémarrer toutes les sessions BGP | ||
- | | + | <code bash> |
+ | clear bgp all | ||
+ | clear ip bgp * | ||
+ | </ | ||
+ | ou | ||
+ | <code bash> | ||
+ | clear ip bgp 192.168.0.0 | ||
+ | </ | ||
+ | |||
+ | Voir la liste de préfixes : | ||
+ | <code bash> | ||
+ | show ip prefix-list | ||
+ | </ | ||
+ | |||
+ | |||
+ | =====Liens utiles===== | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// |
informatique/cisco/bgp.txt · Last modified: 2013/10/14 20:44 by 127.0.0.1