Juniper advertise-peer-as

Posted by – April 8, 2016

Chez Cisco c’est simple, si on veut faire du peer du genre:

AS1 – AS2 – AS1

Avec par exemple la vrf red pour la premiere occurence de l’AS1 et la vrf blue pour la seconde occurence de l’AS1, on va mettre un allowas-in X (avec X le nombre d’occurence autorise, qui est 3 par defaut sur les dernieres version d’ios XE.

 

Chez Juniper c’est un peu different, car le routeur (ou tout du moins l’equipement avec un junos on va dire) va reflechir a la place du peer.

Dans mon exemple du haut on aurait ce setup:

Les connexions entre chaque equipements sont des liaisons ebgp

 

juniper_3_hops

Le SRX (ici FW1) recupere la route 1.1.1.1/32 qui vient de l’AS1

Il peer ensuite a nouveau vers R1, mais cette fois dans la vrf bleue.

La route ne sera JAMAIS envoyee, car il reflechit a la place de R1 vrf bleue, et veut eviter une eventuelle boucle.

Si on remplace le SRX par du cisco (code XE, ou ios classique) cette verification n’aura pas lieu.

La config actuelle est celle-ci:

Dans la vrf bleue on ne voit pas la route.

Par contre en ajoutant le advertise-peer-as oui !

 

Voyons maintenant ce que dit la doc de Juniper sur ce comportement

http://www.juniper.net/documentation/en_US/junos13.3/topics/reference/configuration-statement/advertise-peer-as-edit-protocols-bgp.html

Description
Disable the default behavior of suppressing AS routes.
If you include the advertise-peer-as statement in the configuration, BGP advertises routes learned from one external BGP (EBGP) peer back to another EBGP peer in the same autonomous system (AS).
Another way to disable the route suppression default behavior is with the as-override statement. If you include both the as-override and no-advertise-peer-as statements in the configuration, the no-advertise-peer-as statement is ignored.
Default
By default, Junos OS does not advertise the routes learned from one EBGP peer back to the same external BGP (EBGP) peer. In addition, the software does not advertise those routes back to any EBGP peers that are in the same AS as the originating peer, regardless of the routing instance.

La derniere phrase precise egalement:

“In addition, the software does not advertise those routes back to any EBGP peers that are in the same AS as the originating peer, regardless of the routing instance.”

Si je comprends bien ca veut dire que si j’apprends une route d’un AS X, si a un moment donne je peer a nouveau dans cet AS X, je ne pourrai pas lui envoyer cette route.
Donc voila le cas de figure que je voulais tester:

juniper_5_hops

D’abord voila ma configuration:

Et voila ce que j’obtiens sur mon srx:

Jusque la tout va bien, mais si je comprends bien la doc juniper, dans ma vrf bleue, je ne devrais pas voir le 1.1.1.1 car il est origine dans l’AS 1

perdu … tout s’affiche.
Donc le seul cas de figure pour lequel on veut pouvoir bypasser ce check c’est uniquement quand on peer un AS et qu’on souhaite repeerer dans ce meme AS directement.
Si on repasse par un AS de transit pas de souci…

La doc de juniper est mal foutue.

2 Comments on Juniper advertise-peer-as

  1. Alex says:

    dafuq is juniper?

Leave a Reply

Your email address will not be published. Required fields are marked *