RE: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-18 Par sujet Antoine DURANT
Une petite question concernant l'adressage ip entre 2 BGP et un routeur de 
distribution avec une ip failover...

Actuellement j'ai ça : 

A.A.A.0/24 bloc annoncé BGP
80.X.X.X ip d'interco routeurs

R1 => 80.0.0.1/29 :: ip route A.A.A.1/32 80.0.0.5
R2 => 80.0.0.2/29 :: ip route A.A.A.1/32 80.0.0.5
IP fail Gateway : 80.0.0.6/29
R3 => 80.0.0.5/29
R4 => A.A.A.1/32

R1--OSPF/BGP---R2
|-80.0.0.6/29--|
   |
   |
   R3
    80.0.0.5/29
dans R3 : ip route A.A.A.1/32 192.168.1.1
 ip route 0.0.0.0 0.0.0.0 80.0.0.6
  |
R4
 192.168.1.1 / A.A.A.1
dans R4 : ip route 0.0.0.0 0.0.0.0 192.168.1.2

  

Pour joindre A.A.A.1 depuis R1 il faut passer par 80.0.0.1  > 80.0.0.5 > 
192.168.1.1
Pour joindre A.A.A.1 depuis R2 il faut passer par 80.0.0.2  > 80.0.0.5 > 
192.168.1.1
Pour joindre 8.8.8.8 depuis R4 il faut passer par 192.168.1.2 > 80.0.0.6 > R1 
>Transit1 (car je préfère R1/Transit1 pour cette route)

J'ai voulu utiliser un /29 entre R1,R2 et R3 pour que depuis les transits de 
R1/R2 ils puissent joindre R3 (80.0.0.6).

Mon pb est que si j'utilise une ip fail Gateway avec un /30 si l'ip fail est 
montée sur R1 et que j'ai un trafic résiduel qui arrive sur R2, celui-si ne 
pourra pas joindre R3.

Est-ce qu'il y a une autre solution ?


---
Liste de diffusion du FRnOG
http://www.frnog.org/


Re: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-17 Par sujet Radu-Adrian Feurdean
On Mon, Jul 17, 2017, at 20:17, Michel Py wrote:
> +1, attention quand on bidouille avec ceci dit.
> Antoine, vu que tu n'as qu'un /24 à annoncer, insiste pour que tes
> transits configurent "maximum préfixes" à 2 ou 3. Ca limite la facture de
> Stroh quand tu apprends à la dure ce qu'il ne faut pas faire ;-)

Ca depend de transitaires.
Par ici, il y a qui filtrent sur des prefixes "declares" et il y a qui
filtrent sur AS-Macro (RIPE ou eventuellement RADB). Le Max-prefix on
l'utilise plutot pour du peering. Et de ce cote, personellement je mets
un minimum de 10, et je reccomande le meme chose a tout le monde
(fournisseur ou client).


---
Liste de diffusion du FRnOG
http://www.frnog.org/


RE: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-17 Par sujet Michel Py
> Vincent Bernat a écrit :
> Tu devrais utiliser les communautés envoyées par chaque transitaire pour 
> faire un choix plus éclairé.

+1, attention quand on bidouille avec ceci dit.
Antoine, vu que tu n'as qu'un /24 à annoncer, insiste pour que tes transits 
configurent "maximum préfixes" à 2 ou 3. Ca limite la facture de Stroh quand tu 
apprends à la dure ce qu'il ne faut pas faire ;-)

Michel.


---
Liste de diffusion du FRnOG
http://www.frnog.org/


Re: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-16 Par sujet David Ponzone
> Le 15 juil. 2017 à 23:17, Steeve BEAUVAIS - Société Serinya Telecom 
>  a écrit :
> 
> 
> Par contre pour le traffic entrant, c'est un peu plus délicat car tes 2
> transitaires n'ont pas les même "affinités" avec certains opérateurs. Tu
> vas prépender sur ton transit T2 pour que T1 soit prioritaire. Mais T1 il a
> lui même mis une local-pref très basse avec SFR (par exemple) alors que ton
> transit T2 a une meilleure local-pref avec SFR.
> Résultat des courses SFR réçoit une annonce préféré de T2 par rapport à T1
> et le traffic venant d'SFR va rentrer par ton transit secondaire.
> Du coup tu ne maîtrises pas vraiment ton traffic entrant qui peut
> sensiblement changer si des accords inter opérateurs changent ces affinités
> d'annonces.

Oui mais je pense que tu voulais dire que c’était SFR qui pouvait positionner 
une local-pref sur T2 plus haute que sur T1, parce que par exemple, T2 est 
client de SFR alors que T1 est un peer/transit.
Il est possible que T1/T2 ait une communauté pour modifier la local-pref de 
leurs routes côté SFR, mais ça reste moins probable.


---
Liste de diffusion du FRnOG
http://www.frnog.org/


Re: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-16 Par sujet Vincent Bernat
 ❦ 16 juillet 2017 08:09 GMT, Antoine DURANT  :

> OK, donc local-pref de 50 sur transit2 et local-pref de 100 sur
> transit dans une route-map IN, permet de laisser prioritaire transit1.

C'est dommage de faire ainsi car tu vas envoyer tout sur transit1, même
les clients de transit2. Tu devrais utiliser les communautés envoyées
par chaque transitaire pour faire un choix plus éclairé. Tes
transitaires vont envoyer des communautés spéciales pour les routes
qu'ils ont directement avec leur client. Tu peux alors adapter la
local-pref sur ce critère.

ip community-list 1 permit 174:21101
ip community-list 110 deny
route-map COGENT-IN permit 10
  match community 1
  set local-preference 110
route-map COGENT-IN permit 20

ip community-list 2 permit 8218:100
ip community-list 2 permit 8218:101
ip community-list 2 permit 8218:10
ip community-list 2 deny
route-map NEO-IN permit 10
  match community 1
  set local-preference 110
route-map NEO-IN permit 20

Si tu as un jour une présence sur un IX, tu pourras faire:

route-map FRANCEIX-IN permit 10
  set local-preference 200

Note que tu as aussi possibilité de casser une égalité avec le MED. Cela
permet de laisser jouer l'AS path et de casser les égalités en faveur
d'un des transitaires.

router bgp 
  bgp always-compare-med

route-map COGENT-IN permit 10
  set metric 100
route-map NEO-IN permit 10
  set metric 50

Ainsi, en cas d'égalité sur la taille de l'AS path, le trafic ira vers
Neo. Note que tes transits peuvent envoyer des valeurs pour MED, tu dois
donc toujours avoir une route-map qui "set metric X" car tu ne maitrises
pas la valeur que peut avoir cet attribut.

> Sur le transit2 faire un prepend dans une route-map OUT afin que le
> trafic passe plutôt par transit1.

En out, par contre, le prepend est sans doute tout à fait suffisant
étant donné que tes transitaires feront sans doute ce qu'il faut pour
être efficace. Si besoin, sache qu'il y aussi des communautés que tu
peux placer pour les influencer.
-- 
Make sure special cases are truly special.
- The Elements of Programming Style (Kernighan & Plauger)


---
Liste de diffusion du FRnOG
http://www.frnog.org/


RE: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-16 Par sujet Antoine DURANT
OK, donc local-pref de 50 sur transit2 et local-pref de 100 sur transit dans 
une route-map IN, permet de laisser prioritaire transit1.

Sur le transit2 faire un prepend dans une route-map OUT afin que le trafic 
passe plutôt par transit1.


J'avais appliqué cela dans ma conf envoyée précédemment, je n'ai pas encore eu 
la validation des experts :D


Michel : J'utilise 2 serveurs linux avec Quagga pour faire bgp/ospf.



---
Liste de diffusion du FRnOG
http://www.frnog.org/


RE: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-16 Par sujet Richard DEMONGEOT

Hello,

Un élément (con) mais qui rentre en jeux, avant même de parler 
d'optimisation.

Vu que tu n'a qu'un /24, est-ce un seul subnet? ou plusieurs?

Si tu n'a qu'un seul subnet, tu peut mettre la gateway sur ton routeur 
R1.


Le simple fonctionnement BGP va favoriser T1 brnaché sur R1 pour des 
AS-PATH de même longueur.


=> SFR est raccordé à T1 et T2.
Le paquet sortant arrive sur R1.

Soit il fait T1 / SFR;
Soit il faut (R2) / T2 / SFR. Il préfèrera donc passer par T1.

En revanche, si SFR n'es pas connecté à T1, tu aura le choix :
T1 / Tx / SFR;
(R2) / T2 / SFR

Le plus court sera T2.

Comme bien d'autre l'ont dis, l'optimisation sortante est assez 
"simple", mais entrante, c'est une autre paire de manche.


Et je rejoins Michel, un cold spare n'est pas une option saine. Vu que 
tu n'a pas de traff dessus, tu ne valide pas son fonctionnement. Autant 
ne rien avoir.


Cordialement,

Le 2017-07-15 20:42, Michel Py a écrit :

Antoine DURANT a écrit :
[..]


Je regarderai ta config plus tard, mais en bref :

- Pour optimiser le traffic sortant, local-pref.

- Pour optimiser le traffic entrant, prépender ton propre AS sur le
transit que du veux défavoriser. Combien de fois il faut prépender est
la question éternelle propre à chaque situation, si le transit que tu
veux défavoriser est plus proche d'un tier-1 que celui que tu veux
favoriser, faut prépendre en plus.
Regarder l'AS-PATH de ton /24 dans plusieurs looking-glass, oui.

MAIS çà marche pas toujours comme prévu (tout le monde a sa propre
version de Traffic Engineering), donc pour faire "mieux" il est
prudent de demander à tes transits qu'est-ce qu'ils envoient comme
communautés et qu'est-ce qu'ils acceptent, et finasser en fonction de
ce que tu observes.
Annoncer l'Internet entier à tes transitaires, çà fait désordre :-)
donc attention aussi à ne pas enlever par erreur le no-export qu'ils
devraient te fournir, c'est arrivé à plein de gens !

Tu bloques RFC1918 c'est bien, mais çà ne remplace pas une bonne liste
de bogons. J'utilise les full bogons de Team Cymru :
http://www.team-cymru.org/bogon-reference-bgp.html

Aussi, ne pas bidouiller la manière dont tu annonces ton préfixe en
permanence, sinon tu risques de te faire dampener.

Bon et au final, rien ne remplace le lab. Achètes quelques vieux 2600
pour une bouchée de pain, installes ExaBGP sur une paire de Raspberry
PI ou de vieux PC recyclé pour simuler le feed, et re-crée un mini
Internet ou tu peux observer les conséquences de tes réglages des deux
cotés.

C'est quoi le modèle de tes routeurs ?

Michel.


---
Liste de diffusion du FRnOG
http://www.frnog.org/



---
Liste de diffusion du FRnOG
http://www.frnog.org/


RE: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet Michel Py
> Steeve BEAUVAIS a écrit :
> Tu as 2 possibilités:
> Discuter avec tes transit pour trouver la meilleure config pour être sûre que 
> tes annonces soient
> préférés par via T1 pour tous les autres opérateurs, mais ça ne garantit rien 
> sur le long terme.

Hélas. Ici on appelle ce phénomène "job security" :-D


> Ou alors ne pas annoncer sur le transitaire secondaire. Annoncer soit 
> manuellement quand T1 tombe ou via automatisation de tâche.

Je ne conseille pas; j'ai essayé, avec un transit secondaire super cher qui 
n'était là que si le primaire tombait, et je me suis brulé. Le temps que tout 
le bordel se mette en marche plus les ennuis qui n'avaient pas été testés 
c'était presque aussi pire que de pas avoir de transitaire secondaire. 
Politiquement, c'est encore pire.

Michel.


---
Liste de diffusion du FRnOG
http://www.frnog.org/


Re: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet Steeve BEAUVAIS - Société Serinya Telecom
Salut,

Pour favoriser le traffic en sortant tu ne devrais pas avoir de problème
avec du local-pref comme il a été spécifié plus tôt dans la conversation.
Tu es maître de ton infra donc pas de soucis la dessus.

Par contre pour le traffic entrant, c'est un peu plus délicat car tes 2
transitaires n'ont pas les même "affinités" avec certains opérateurs. Tu
vas prépender sur ton transit T2 pour que T1 soit prioritaire. Mais T1 il a
lui même mis une local-pref très basse avec SFR (par exemple) alors que ton
transit T2 a une meilleure local-pref avec SFR.
Résultat des courses SFR réçoit une annonce préféré de T2 par rapport à T1
et le traffic venant d'SFR va rentrer par ton transit secondaire.
Du coup tu ne maîtrises pas vraiment ton traffic entrant qui peut
sensiblement changer si des accords inter opérateurs changent ces affinités
d'annonces.

Tu as 2 possibilités:

   - Discuter avec tes transit pour trouver la meilleure config pour être
   sûre que tes annonces soient préférés par via T1 pour tous les autres
   opérateurs, mais ça ne garantit rien sur le long terme.
   - Ou alors ne pas annoncer sur le transitaire secondaire. Annoncer soit
   manuellement quand T1 tombe ou via automatisation de tâche.


Cordialement,

[image:
http://www.serinyatelecom.fr/signatures/signature-steeve-beauvais-serinya-telecom.jpg]




Le 15 juillet 2017 à 22:49, Michel Py 
a écrit :

> > Denis Fondras a écrit :
> > C'est le plus court chemin en terme de nombre d'ASN, pas de hop (au sens
> routeur).
>
> Correct, c'est l'AS-PATH, et c'est pour çà qu'on prépend. Chaque AS
> rajoute son propre AS dans l'AS-PATH. En prépendant, on augmente le nombre
> d'AS donc la longueur de l'AS-PATH et donc on "décourage" le traffic de
> venir par le transit à qui on annonce un AS prépendé. Comme mentionné
> précedemment, il y a des opérateurs qui enlèvent les prepend ou les
> ignorent.
>
> Michel.
>
>
> ---
> Liste de diffusion du FRnOG
> http://www.frnog.org/
>

---
Liste de diffusion du FRnOG
http://www.frnog.org/


RE: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet Michel Py
> Denis Fondras a écrit :
> C'est le plus court chemin en terme de nombre d'ASN, pas de hop (au sens 
> routeur).

Correct, c'est l'AS-PATH, et c'est pour çà qu'on prépend. Chaque AS rajoute son 
propre AS dans l'AS-PATH. En prépendant, on augmente le nombre d'AS donc la 
longueur de l'AS-PATH et donc on "décourage" le traffic de venir par le transit 
à qui on annonce un AS prépendé. Comme mentionné précedemment, il y a des 
opérateurs qui enlèvent les prepend ou les ignorent.

Michel.


---
Liste de diffusion du FRnOG
http://www.frnog.org/


Re: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet Denis Fondras
> BGP sélectionne automatique le chemin le plus court pour joindre un réseau,
> donc si AS100 et AS200 connaisses tout deux la destination mon routeur
> sélectionnera celui ou il y a moins de hop, je me trompe pas ?
> 

C'est le plus court chemin en terme de nombre d'ASN, pas de hop (au sens 
routeur).


---
Liste de diffusion du FRnOG
http://www.frnog.org/


RE: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet Michel Py
> Antoine DURANT a écrit :
> [..]

Je regarderai ta config plus tard, mais en bref :

- Pour optimiser le traffic sortant, local-pref.

- Pour optimiser le traffic entrant, prépender ton propre AS sur le transit que 
du veux défavoriser. Combien de fois il faut prépender est la question 
éternelle propre à chaque situation, si le transit que tu veux défavoriser est 
plus proche d'un tier-1 que celui que tu veux favoriser, faut prépendre en plus.
Regarder l'AS-PATH de ton /24 dans plusieurs looking-glass, oui.

MAIS çà marche pas toujours comme prévu (tout le monde a sa propre version de 
Traffic Engineering), donc pour faire "mieux" il est prudent de demander à tes 
transits qu'est-ce qu'ils envoient comme communautés et qu'est-ce qu'ils 
acceptent, et finasser en fonction de ce que tu observes.
Annoncer l'Internet entier à tes transitaires, çà fait désordre :-) donc 
attention aussi à ne pas enlever par erreur le no-export qu'ils devraient te 
fournir, c'est arrivé à plein de gens !

Tu bloques RFC1918 c'est bien, mais çà ne remplace pas une bonne liste de 
bogons. J'utilise les full bogons de Team Cymru :
http://www.team-cymru.org/bogon-reference-bgp.html

Aussi, ne pas bidouiller la manière dont tu annonces ton préfixe en permanence, 
sinon tu risques de te faire dampener.

Bon et au final, rien ne remplace le lab. Achètes quelques vieux 2600 pour une 
bouchée de pain, installes ExaBGP sur une paire de Raspberry PI ou de vieux PC 
recyclé pour simuler le feed, et re-crée un mini Internet ou tu peux observer 
les conséquences de tes réglages des deux cotés.

C'est quoi le modèle de tes routeurs ?

Michel.


---
Liste de diffusion du FRnOG
http://www.frnog.org/


RE: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet Antoine DURANT
Voici la configuration des 2 routeurs avec un ibgp. R1 est connecté à AS100 
transit primaire et R2 est connecté à AS200 transit de backup.


Sur la route-map IN du router2 j'ai ajouté un set local-preference (pref 50) 
inférieur au routeur1 (pref 100). Egalement sur le routeur2 j'ai ajouté un 
prepend sur la route-map out.


Est-ce que cela ressemble à quelque chose de valable pour le mode transit  
Primaire/BACKUP ou je dois encore relire les docs Cisco ?


#Router1 => AS100 (Transit Primaire)

router bgp 10
 bgp router-id A.A.A.1
 network A.A.A.0 mask 255.255.255.0
 neighbor 1.1.1.100 remote-as 100
 neighbor 1.1.1.100 soft-reconfiguration inbound
 neighbor 1.1.1.100 route-map map-in in
 neighbor 1.1.1.100 route-map map-out out
 neighbor 1.1.1.100 filter-list 1 out
 neighbor A.A.A.2 remote-as 100
 neighbor A.A.A.2 update-source Loopback0
 neighbor A.A.A.2 next-hop-self
!
 ip as-path access-list 1 permit ^$
 ip as-path access-list 100 permit ^100_
!
ip prefix-list filterv4_in seq 5 deny A.A.A.0/24
ip prefix-list filterv4_in seq 10 deny 0.0.0.0/0
ip prefix-list filterv4_in seq 15 deny 0.0.0.0/8 le 32
ip prefix-list filterv4_in seq 20 deny 10.0.0.0/8 le 32
ip prefix-list filterv4_in seq 25 deny 127.0.0.0/8 le 32
ip prefix-list filterv4_in seq 30 deny 169.254.0.0/16 le 32
ip prefix-list filterv4_in seq 35 deny 172.16.0.0/12 le 32
ip prefix-list filterv4_in seq 40 deny 192.0.2.0/24 le 32
ip prefix-list filterv4_in seq 45 deny 192.168.0.0/16 le 32
ip prefix-list filterv4_in seq 50 deny 224.0.0.0/3 le 32
ip prefix-list filterv4_in seq 55 permit 0.0.0.0/0 le 32
!
ip prefix-list filterv4_out seq 5 permit A.A.A.0/24
ip prefix-list filterv4_out seq 10 deny any
!
route-map map-in deny 10
 match ip address prefix-list filterv4_in
!
route-map map-in permit 20
 match as-path 100
 set local-preference 100
!
route-map map-out permit 10
 match ip address prefix-list filterv4_out
!

#Router2 => AS200 (Transit Backup)

router bgp 10
 bgp router-id A.A.A.2
 network A.A.A.0 mask 255.255.255.0
 neighbor 2.2.2.200 remote-as 200
 neighbor 2.2.2.200 soft-reconfiguration inbound
 neighbor 2.2.2.200 route-map map-in in
 neighbor 2.2.2.200 route-map map-out out
 neighbor 2.2.2.200 filter-list 1 out
 neighbor A.A.A.1 remote-as 100
 neighbor A.A.A.1 update-source Loopback0
 neighbor A.A.A.1 next-hop-self
!
 ip as-path access-list 1 permit ^$
 ip as-path access-list 200 permit ^200_
!
ip prefix-list filterv4_in seq 5 deny A.A.A.0/24
ip prefix-list filterv4_in seq 10 deny 0.0.0.0/0
ip prefix-list filterv4_in seq 15 deny 0.0.0.0/8 le 32
ip prefix-list filterv4_in seq 20 deny 10.0.0.0/8 le 32
ip prefix-list filterv4_in seq 25 deny 127.0.0.0/8 le 32
ip prefix-list filterv4_in seq 30 deny 169.254.0.0/16 le 32
ip prefix-list filterv4_in seq 35 deny 172.16.0.0/12 le 32
ip prefix-list filterv4_in seq 40 deny 192.0.2.0/24 le 32
ip prefix-list filterv4_in seq 45 deny 192.168.0.0/16 le 32
ip prefix-list filterv4_in seq 50 deny 224.0.0.0/3 le 32
ip prefix-list filterv4_in seq 55 permit 0.0.0.0/0 le 32
!
ip prefix-list filterv4_out seq 5 permit A.A.A.0/24
ip prefix-list filterv4_out seq 10 deny any
!
route-map map-in deny 10
 match ip address prefix-list filterv4_in
!
route-map map-in permit 20
 match as-path 200
 set local-preference 50
!
route-map map-out permit 10
 match ip address prefix-list filterv4_out
!
route-map map-out permit 20
 set as-path prepend 10 10 10
!

---
Liste de diffusion du FRnOG
http://www.frnog.org/


Re: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet Radu-Adrian Feurdean
On Sat, Jul 15, 2017, at 13:31, David Ponzone wrote:
> Comme suggéré, il faut lire et maîtriser les principes de la sélection de 
> route BGP.
> Et admettre que pour l’entrant, tu as un contrôle limité.
> Si l’AS en face veut ne pas respecter ton prepending, il peut, et il n’y
> a rien que tu puisses y faire.

Il y a une autre regle qui s'applique pas mal: Customer-Peering-Transit.
Une route client ("customer") est en regle generale forcee comme
prioritaire par rapport a une route venent du "peering" qui a sont tour
est generalement prioritaire a une route venant du transit. Pas mal de
reseaux l'appliquent, ce qui fait qu'il faut en regle generale prendre
des transitaires avec une couverture peering assez similaires : du style
pas un Tier-1 et un operateur local qui peer (gratos ou contre $$$) avec
toutes les destinations qui t'interessent. Soit deux Tier-2 qui peerent
bien, soit deux Tier-1.

Autre chose qui va de soi, et qui pour toi risque de ne pas s'appliquer
(si tu as un seul /24 a annoncer), c'est le prefixe le plus specifique
qui l'emporte a tous les coups s'il existe.


---
Liste de diffusion du FRnOG
http://www.frnog.org/


RE: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet Antoine DURANT
J'ai 2 transitaires différents AS100 et AS200 pour reprendre ma conf du début.


Comme vous avez pu le voir dans mon post de la semaine dernière, je suis en 
train de mettre un ibgp entre les deux routeurs afin de voir la table de 
routage de AS100/AS200 sur les deux routeurs...


Si j'ai bien compris :

- le trafic entrant qui vient du transitaire vers mon AS est à configurer en 
OUT sur mon routeur

- le trafic sortant de mon AS vers le transitaire est à configurer en IN sur 
mon routeur


BGP sélectionne automatique le chemin le plus court pour joindre un réseau, 
donc si AS100 et AS200 connaisses tout deux la destination mon routeur 
sélectionnera celui ou il y a moins de hop, je me trompe pas ?




---
Liste de diffusion du FRnOG
http://www.frnog.org/


Re: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet Michael Hallgren
Le 15/07/2017 à 14:06, Vincent Bernat a écrit :
>  ❦ 15 juillet 2017 11:43 GMT, Antoine DURANT  :
>
>> Je nage dans le flou lol !
>>
>>
>> une route map OUT peut-elle utiliser des local-preference ?
> Peut-être, mais cela sera ignoré.
>
> Pour influencer le trafic entrant, tu dois modifier les annonces de tes
> routes (le out) en :
>
>  - ajoutant une ou plusieurs fois ton propre AS en tête (set as-path
>prepend TONAS)
>
>  - en ajoutant une communauté spécifiquement reconnue par ton
>transitaire (qui va soit modifier local-preference pour ton
>transitaire, ce qui n'est utile que si les deux connexions sont chez
>le même transitaire ou alors qui va prepender ton AS selon certains
>critères, notamment pour ne le faire que pour ceux qui ne sont pas
>clients directs de ton transitaire)
>
> Pour influencer le trafic sortant, tu dois modifier les annonces que tu
> reçois (le in) en :
>
>  - ajoutant une ou plusieurs fois ton propre AS en tête
>
>  - en modifiant la valeur de local preference
>
> Pour le trafic entrant, prepender une fois est le plus simple, mais
> regarde les communautés que proposent tes transitaires. Pour le trafic
> sortant, il est plus simple de n'avoir qu'une seule stratégie, à savoir
> modifier local preference. Si tu veux favoriser les routes qui sont en
> direct, fait une règle qui passe local-preference à 500 quand l'AS path
> ne contient qu'un seul AS.
>

Cependant, il faut intégrer que l'influence (AS sequence prepend) sur le
chemin (de retour) reste fragile, car chaque AS choisit son préférence
locale (LOCAL_PREF) (souvent je préfère, du fait économique,  client par
rapport au peer, par rapport au fournisseur).

Cheers,
mh


---
Liste de diffusion du FRnOG
http://www.frnog.org/


Re: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet Vincent Bernat
 ❦ 15 juillet 2017 11:43 GMT, Antoine DURANT  :

> Je nage dans le flou lol !
>
>
> une route map OUT peut-elle utiliser des local-preference ?

Peut-être, mais cela sera ignoré.

Pour influencer le trafic entrant, tu dois modifier les annonces de tes
routes (le out) en :

 - ajoutant une ou plusieurs fois ton propre AS en tête (set as-path
   prepend TONAS)

 - en ajoutant une communauté spécifiquement reconnue par ton
   transitaire (qui va soit modifier local-preference pour ton
   transitaire, ce qui n'est utile que si les deux connexions sont chez
   le même transitaire ou alors qui va prepender ton AS selon certains
   critères, notamment pour ne le faire que pour ceux qui ne sont pas
   clients directs de ton transitaire)

Pour influencer le trafic sortant, tu dois modifier les annonces que tu
reçois (le in) en :

 - ajoutant une ou plusieurs fois ton propre AS en tête

 - en modifiant la valeur de local preference

Pour le trafic entrant, prepender une fois est le plus simple, mais
regarde les communautés que proposent tes transitaires. Pour le trafic
sortant, il est plus simple de n'avoir qu'une seule stratégie, à savoir
modifier local preference. Si tu veux favoriser les routes qui sont en
direct, fait une règle qui passe local-preference à 500 quand l'AS path
ne contient qu'un seul AS.
-- 
Don't compare floating point numbers just for equality.
- The Elements of Programming Style (Kernighan & Plauger)


---
Liste de diffusion du FRnOG
http://www.frnog.org/


Re: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet David Ponzone
Au sein d’un AS oui (donc iBGP), mais pas entre 2 AS (eBGP donc).

https://www.networklab.fr/la-metrique-de-bgp/


> Le 15 juil. 2017 à 13:43, Antoine DURANT  a écrit :
> 
> Je nage dans le flou lol !
> 
> une route map OUT peut-elle utiliser des local-preference ?
> 
> ! 
>  ip as-path access-list 1 permit ^$
>  ip as-path access-list 1 permit ^(10_)*$
>  ip as-path access-list 100 permit ^100_[0-9]*$
>  ip as-path access-list 101 permit ^100_
>  ip as-path access-list 200 permit ^200_[0-9]*$
>  ip as-path access-list 201 permit ^200_
> !
> route-map map-out permit 10
>  match as-path 100
>  set local-preference 100
> !
> route-map map-out permit 20
>  match as-path 101
>  set local-preference 100
> !
> route-map map-out permit 30
>  match as-path 200
>  set local-preference 100
> !
> route-map map-out permit 40
>  match as-path 201
>  set as-path prepend 10 10 10 10
> !


---
Liste de diffusion du FRnOG
http://www.frnog.org/


Re: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet Pierre JOUET
Hello Antoine,

La local-pref sert a attribuer un "degré" de preference aux routes que ton
ton transitaire t'envoie, ce qui te permet à toi de piloter ton trafic
sortant (je veux sortir par ce transitaire X pour joindre telle route
plutot que Y).

Le prepending allonge l'AS-PATH de tes routes que tu envoie à tes
transitaires. Cela te sert à piloter ton trafic entrant (je veux que ce
subnet soit reachable via le transitaire X en premier, plutot que Y).

P

On 15 July 2017 at 13:43, Antoine DURANT  wrote:

> Je nage dans le flou lol !
>
>
> une route map OUT peut-elle utiliser des local-preference ?
>
>
> !
>  ip as-path access-list 1 permit ^$
>  ip as-path access-list 1 permit ^(10_)*$
>  ip as-path access-list 100 permit ^100_[0-9]*$
>  ip as-path access-list 101 permit ^100_
>  ip as-path access-list 200 permit ^200_[0-9]*$
>  ip as-path access-list 201 permit ^200_
> !
> route-map map-out permit 10
>  match as-path 100
>  set local-preference 100
> !
> route-map map-out permit 20
>  match as-path 101
>  set local-preference 100
> !
> route-map map-out permit 30
>  match as-path 200
>  set local-preference 100
> !
> route-map map-out permit 40
>  match as-path 201
>  set as-path prepend 10 10 10 10
> !
>
> ---
> Liste de diffusion du FRnOG
> http://www.frnog.org/
>

---
Liste de diffusion du FRnOG
http://www.frnog.org/


RE: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet Antoine DURANT
Je nage dans le flou lol !


une route map OUT peut-elle utiliser des local-preference ?


!
 ip as-path access-list 1 permit ^$
 ip as-path access-list 1 permit ^(10_)*$
 ip as-path access-list 100 permit ^100_[0-9]*$
 ip as-path access-list 101 permit ^100_
 ip as-path access-list 200 permit ^200_[0-9]*$
 ip as-path access-list 201 permit ^200_
!
route-map map-out permit 10
 match as-path 100
 set local-preference 100
!
route-map map-out permit 20
 match as-path 101
 set local-preference 100
!
route-map map-out permit 30
 match as-path 200
 set local-preference 100
!
route-map map-out permit 40
 match as-path 201
 set as-path prepend 10 10 10 10
!

---
Liste de diffusion du FRnOG
http://www.frnog.org/


Re: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet David Ponzone
Comme suggéré, il faut lire et maîtriser les principes de la sélection de route 
BGP.
Et admettre que pour l’entrant, tu as un contrôle limité.
Si l’AS en face veut ne pas respecter ton prepending, il peut, et il n’y a rien 
que tu puisses y faire.
Mais généralement (donc pour la grosse majorité du traffic), c’est respecté.




> Le 15 juil. 2017 à 13:07, Antoine DURANT  a écrit :
> 
> Tu as raison, je cherche à faire cette manip pour IN/OUT...
> 
> Pour l'entrant et/ou le sortant : si un réseau est directement connecté à 
> l'AS du transitaire comment faire pour que celui-ci passe directement par le 
> transitaire sur lequel il est connecté ?
> 
> Je pense que cela est maitrisable en OUT via mon AS mais pas forcément 
> maitrisable dans l'AS du transitaire qui lui à son tour peut préférer 
> renvoyer vers une route différente. Je me trompe ?


---
Liste de diffusion du FRnOG
http://www.frnog.org/


RE: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet Antoine DURANT
Tu as raison, je cherche à faire cette manip pour IN/OUT...


Pour l'entrant et/ou le sortant : si un réseau est directement connecté à l'AS 
du transitaire comment faire pour que celui-ci passe directement par le 
transitaire sur lequel il est connecté ?


Je pense que cela est maitrisable en OUT via mon AS mais pas forcément 
maitrisable dans l'AS du transitaire qui lui à son tour peut préférer renvoyer 
vers une route différente. Je me trompe ?

---
Liste de diffusion du FRnOG
http://www.frnog.org/


Re: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet David Ponzone
Je pense que tu as oublié de préciser si tu parlais de tes flux entrants ou 
sortants.


Donc si dans la question 1, tu parlais de flux entrants, tu annonces 
normalement vers transit 1, et tu prepend X fois vers transit 2.

Pour la question 2 (tu sembles parler de sortant, mais n’oublie pas que BGP ne 
garantie aucune symétrie du traffic), la longueur de l’as-path fera le boulot 
normalement sans que tu n’aies rien à faire, pour le sortant.
Pour l’entrant, le prepend que tu auras éventuellement mis sur le transit 2 
risque de faire revenir le traffic par transit1.


> Le 15 juil. 2017 à 11:44, Antoine DURANT  a écrit :
> 
> Hello,
> 
> 
> Je voudrais avoir un conseil/exemple sur l'optimisation d'une configuration 
> de routage des flux bgp avec 2 transits.
> 
> 
> Transit 100 (majoritaire) 100M
> 
> Transit 200 (secondaire - backup) 50M
> 
> 
> Donner une préférence pour transit1 plus élevée que transit2 en IN/OUT via 
> route-map.
> 
> 
> Par contre si le réseau D.D.D.0/24 est directement connecté au Transit2 et 
> que depuis Transit1 je dois passer dans 2 autre AS pour pouvoir le joindre, 
> comment dire via route-map que le transit2 serait plus optimum ?
> 
> 
> En gros l'idée de dire que tous les réseaux directement connecté a l'AS du 
> transitaire est à privilégier est elle une bonne idée ?
> 
> 
> Comment feriez vous dans cette configuration ?
> 
> 
> Merci
> 
> ---
> Liste de diffusion du FRnOG
> http://www.frnog.org/


---
Liste de diffusion du FRnOG
http://www.frnog.org/


RE: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet Antoine DURANT
Merci pour les infos 


Est-ce que je m'approche de la vérité avec la conf suivante :


router bgp 10
 bgp router-id A.A.A.1
 network A.A.A.0 mask 255.255.255.0
 neighbor 1.1.1.100 remote-as 100
 neighbor 1.1.1.100 soft-reconfiguration inbound
 neighbor 1.1.1.100 route-map map-in in
 neighbor 1.1.1.100 route-map map-out out
 neighbor 1.1.1.100 filter-list 1 out
 neighbor 2.2.2.200 remote-as 200
 neighbor 2.2.2.200 soft-reconfiguration inbound
 neighbor 2.2.2.200 route-map map-in in
 neighbor 2.2.2.200 route-map map-out out
 neighbor 2.2.2.200 filter-list 1 out
!
 ip as-path access-list 1 permit ^$
 ip as-path access-list 1 permit ^(10_)*$
 ip as-path access-list 100 permit ^100_[0-9]*$
 ip as-path access-list 200 permit ^200_[0-9]*$
!
ip prefix-list filterv4 seq 5 deny A.A.A.0/24
ip prefix-list filterv4 seq 10 deny 0.0.0.0/0
ip prefix-list filterv4 seq 15 deny 0.0.0.0/8 le 32
ip prefix-list filterv4 seq 20 deny 10.0.0.0/8 le 32
ip prefix-list filterv4 seq 25 deny 127.0.0.0/8 le 32
ip prefix-list filterv4 seq 30 deny 169.254.0.0/16 le 32
ip prefix-list filterv4 seq 35 deny 172.16.0.0/12 le 32
ip prefix-list filterv4 seq 40 deny 192.0.2.0/24 le 32
ip prefix-list filterv4 seq 45 deny 192.168.0.0/16 le 32
ip prefix-list filterv4 seq 50 deny 224.0.0.0/3 le 32
ip prefix-list filterv4 seq 55 permit 0.0.0.0/0 le 32
!
route-map map-in permit 10
 match as-path 100
 set local-preference 100
!
route-map map-in permit 20
 match as-path 200
 set local-preference 100
!
route-map map-in permit 30
 match ip address prefix-list filterv4
 set local-preference 100
!

---
Liste de diffusion du FRnOG
http://www.frnog.org/


Re: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet Fabien DEDENON

> Le 15 juil. 2017 à 11:44, Antoine DURANT  a écrit :
> 
> Hello,
> 
> 
> Je voudrais avoir un conseil/exemple sur l'optimisation d'une configuration 
> de routage des flux bgp avec 2 transits.
> 
> 
> Transit 100 (majoritaire) 100M
> 
> Transit 200 (secondaire - backup) 50M
> 
> 
> Donner une préférence pour transit1 plus élevée que transit2 en IN/OUT via 
> route-map.
> 
> 
> Par contre si le réseau D.D.D.0/24 est directement connecté au Transit2 et 
> que depuis Transit1 je dois passer dans 2 autre AS pour pouvoir le joindre, 
> comment dire via route-map que le transit2 serait plus optimum ?
> 
> 
> En gros l'idée de dire que tous les réseaux directement connecté a l'AS du 
> transitaire est à privilégier est elle une bonne idée ?
> 
> 
> Comment feriez vous dans cette configuration ?
> 
Hello,

Sur du Cisco donc ?
Lire de la doc, s’inspirer par exemple de  
http://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/13754-26.html#t5
 

- Identifier les peer direct à ton transit, cad avec un as-path 
^ASTransit_[0-9]*$
- Rectifier la local-pref sur la ligne de ta route-map où 
l’aspath-regex identifie le prefixe en question

++




---
Liste de diffusion du FRnOG
http://www.frnog.org/


Re: [FRnOG] [TECH] Optimisation bgp avec 2 transits

2017-07-15 Par sujet Raphael Mazelier



On 15/07/2017 11:44, Antoine DURANT wrote:



Comment feriez vous dans cette configuration ?



Relire l'algorithme de path selection de bgp.

http://packetlife.net/media/library/1/BGP.pdf par exemple (parce que 
packetlife fait de beaux cheatsheets)


--
Raphael Mazelier


---
Liste de diffusion du FRnOG
http://www.frnog.org/