Re: [FRnOG] [TECH] BGP best practice

2019-12-12 Par sujet Alexis Lameire
Pour répondre à Michel Py

Je suis pas forcément fan du null routing. C'est bien pour se dépanner
mais explicité un truc qui vas déjà être discard, borf

un bon filtrage des bogons et le respect de la BCP38 ca aide. Le bon
usage des VRF est aussi a recommander. Perso je tente de limiter la
VRF par défaut au "controle plane" où tout les truc qui pour on ne
sait quel raison ne peut pas être passé dans une VRF.

Voilà voila
Alexis


Le jeu. 12 déc. 2019 à 15:39, David Ponzone  a écrit :
>
> C’est quoi la route pour joindre 8.8.8.8 depuis R2 ?
> Si c’est R1 et que tu précises pas l’ip source, ton Ping va venir de l’ip 
> privée du FE de R2.
> Donc...
>
> David Ponzone
>
>
>
> > Le 12 déc. 2019 à 15:31, Antoine DURAND  a écrit :
> >
> > 
> > Je viens de monter un lab pour mon histoire de deny/permit ! J'arrive enfin 
> > à quelque chose qui me convient ! Je posterai ici la version finale pour 
> > ceux qui sont interessés...
> >
> > Par contre j'ai un problème avec l'utilisation iBGP que je ne m'explique 
> > pas.
> > ISP-1 connecté sur R1
> > ISP-2 connecté sur R2
> >
> > Je préfère la sortie ISP-1 pour joindre 8.8.8.8 (local pref 200) via R1, 
> > sur R2 je suis à 100.
> > Depuis R1 je ping sans problème 8.8.8.8 mais pas possible depuis R2 SAUF si 
> > je passe OFF R1 !!
> >
> > Même chose pour toutes les IPs ayant une local pref 200 depuis R2 !
> >
> > J'utilise pourtant bien une IP publique (lo0) et également next-hop-self + 
> > update-source Loopback0 sur iBGP
> >
> > Voici la conf :
> >
> > R1 :
> > interface Loopback0
> >  ip address A.A.A.1 255.255.255.252
> > !
> > interface FastEthernet2/0
> >  description link vers R2
> >  ip address 10.0.0.1 255.255.255.252
> >  duplex auto
> >  speed auto
> >  !
> > !
> > router bgp 65001
> >  no synchronization
> >  bgp router-id 10.0.0.1
> >  bgp log-neighbor-changes
> >  network A.A.A.0 mask 255.255.255.0
> >  network B.B.B.0 mask 255.255.254.0
> >  network C.C.C.0 mask 255.255.255.0
> >  neighbor 10.0.0.2 remote-as 65001
> >  neighbor 10.0.0.2 update-source Loopback0
> >  neighbor 10.0.0.2 next-hop-self
> >  neighbor 10.0.0.2 soft-reconfiguration inbound
> > !
> > ip route A.A.A.2 255.255.255.255 10.0.0.2
> > !
> > R2 :
> > interface Loopback0
> >  ip address A.A.A.2 255.255.255.252
> > !
> > interface FastEthernet2/0
> >  description link vers R1
> >  ip address 10.0.0.2 255.255.255.252
> >  duplex auto
> >  speed auto
> >  !
> > !
> > router bgp 65001
> >  no synchronization
> >  bgp router-id 10.0.0.2
> >  bgp log-neighbor-changes
> >  network A.A.A.0 mask 255.255.255.0
> >  network B.B.B.0 mask 255.255.254.0
> >  network C.C.C.0 mask 255.255.255.0
> >  neighbor 10.0.0.1 remote-as 65001
> >  neighbor 10.0.0.1 update-source Loopback0
> >  neighbor 10.0.0.1 next-hop-self
> >  neighbor 10.0.0.1 soft-reconfiguration inbound
> > !
> > ip route A.A.A.1 255.255.255.255 10.0.0.1
> > !
> >
> > Je tourne en rond depuis hier sans trouver, une idée de quoi j'oubli ?
>
> ---
> Liste de diffusion du FRnOG
> http://www.frnog.org/


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


Re: [FRnOG] [TECH] BGP best practice

2019-12-12 Par sujet David Ponzone
C’est quoi la route pour joindre 8.8.8.8 depuis R2 ?
Si c’est R1 et que tu précises pas l’ip source, ton Ping va venir de l’ip 
privée du FE de R2.
Donc...

David Ponzone



> Le 12 déc. 2019 à 15:31, Antoine DURAND  a écrit :
> 
> 
> Je viens de monter un lab pour mon histoire de deny/permit ! J'arrive enfin à 
> quelque chose qui me convient ! Je posterai ici la version finale pour ceux 
> qui sont interessés...
>  
> Par contre j'ai un problème avec l'utilisation iBGP que je ne m'explique pas.
> ISP-1 connecté sur R1
> ISP-2 connecté sur R2
>  
> Je préfère la sortie ISP-1 pour joindre 8.8.8.8 (local pref 200) via R1, sur 
> R2 je suis à 100.
> Depuis R1 je ping sans problème 8.8.8.8 mais pas possible depuis R2 SAUF si 
> je passe OFF R1 !!
>  
> Même chose pour toutes les IPs ayant une local pref 200 depuis R2 !
>  
> J'utilise pourtant bien une IP publique (lo0) et également next-hop-self + 
> update-source Loopback0 sur iBGP
>  
> Voici la conf :
>  
> R1 :
> interface Loopback0
>  ip address A.A.A.1 255.255.255.252
> !
> interface FastEthernet2/0
>  description link vers R2
>  ip address 10.0.0.1 255.255.255.252
>  duplex auto
>  speed auto
>  !
> !
> router bgp 65001
>  no synchronization
>  bgp router-id 10.0.0.1
>  bgp log-neighbor-changes
>  network A.A.A.0 mask 255.255.255.0
>  network B.B.B.0 mask 255.255.254.0
>  network C.C.C.0 mask 255.255.255.0
>  neighbor 10.0.0.2 remote-as 65001
>  neighbor 10.0.0.2 update-source Loopback0
>  neighbor 10.0.0.2 next-hop-self
>  neighbor 10.0.0.2 soft-reconfiguration inbound
> !
> ip route A.A.A.2 255.255.255.255 10.0.0.2
> !
> R2 :
> interface Loopback0
>  ip address A.A.A.2 255.255.255.252
> !
> interface FastEthernet2/0
>  description link vers R1
>  ip address 10.0.0.2 255.255.255.252
>  duplex auto
>  speed auto
>  !
> !
> router bgp 65001
>  no synchronization
>  bgp router-id 10.0.0.2
>  bgp log-neighbor-changes
>  network A.A.A.0 mask 255.255.255.0
>  network B.B.B.0 mask 255.255.254.0
>  network C.C.C.0 mask 255.255.255.0
>  neighbor 10.0.0.1 remote-as 65001
>  neighbor 10.0.0.1 update-source Loopback0
>  neighbor 10.0.0.1 next-hop-self
>  neighbor 10.0.0.1 soft-reconfiguration inbound
> !
> ip route A.A.A.1 255.255.255.255 10.0.0.1
> !
>  
> Je tourne en rond depuis hier sans trouver, une idée de quoi j'oubli ?

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


Re: RE: [FRnOG] [TECH] BGP best practice

2019-12-12 Par sujet Antoine DURAND
Je viens de monter un lab pour mon histoire de deny/permit ! J'arrive enfin à quelque chose qui me convient ! Je posterai ici la version finale pour ceux qui sont interessés...

 

Par contre j'ai un problème avec l'utilisation iBGP que je ne m'explique pas.

ISP-1 connecté sur R1

ISP-2 connecté sur R2

 

Je préfère la sortie ISP-1 pour joindre 8.8.8.8 (local pref 200) via R1, sur R2 je suis à 100.

Depuis R1 je ping sans problème 8.8.8.8 mais pas possible depuis R2 SAUF si je passe OFF R1 !!

 

Même chose pour toutes les IPs ayant une local pref 200 depuis R2 !

 

J'utilise pourtant bien une IP publique (lo0) et également next-hop-self + update-source Loopback0 sur iBGP

 

Voici la conf :

 


R1 :
interface Loopback0
 ip address A.A.A.1 255.255.255.252
!
interface FastEthernet2/0
 description link vers R2
 ip address 10.0.0.1 255.255.255.252
 duplex auto
 speed auto
 !
!
router bgp 65001
 no synchronization
 bgp router-id 10.0.0.1
 bgp log-neighbor-changes
 network A.A.A.0 mask 255.255.255.0
 network B.B.B.0 mask 255.255.254.0
 network C.C.C.0 mask 255.255.255.0
 neighbor 10.0.0.2 remote-as 65001
 neighbor 10.0.0.2 update-source Loopback0
 neighbor 10.0.0.2 next-hop-self
 neighbor 10.0.0.2 soft-reconfiguration inbound
!

ip route A.A.A.2 255.255.255.255 10.0.0.2

!

R2 :
interface Loopback0
 ip address A.A.A.2 255.255.255.252
!
interface FastEthernet2/0
 description link vers R1
 ip address 10.0.0.2 255.255.255.252
 duplex auto
 speed auto
 !
!
router bgp 65001
 no synchronization
 bgp router-id 10.0.0.2
 bgp log-neighbor-changes
 network A.A.A.0 mask 255.255.255.0
 network B.B.B.0 mask 255.255.254.0
 network C.C.C.0 mask 255.255.255.0
 neighbor 10.0.0.1 remote-as 65001
 neighbor 10.0.0.1 update-source Loopback0
 neighbor 10.0.0.1 next-hop-self
 neighbor 10.0.0.1 soft-reconfiguration inbound
!

ip route A.A.A.1 255.255.255.255 10.0.0.1

!

 

Je tourne en rond depuis hier sans trouver, une idée de quoi j'oubli ?




RE: [FRnOG] [TECH] BGP best practice

2019-12-11 Par sujet Michel Py
> Alarig Le Lay a écrit :
> C’était surtout à destination d’une RFC1918.

Qui a fuité sur le réseau du FAI.

> Hugues Voiturier a écrit :
> Plutôt son opérateur que l’école...

Il n'y a pas que les opérateurs qui devraient faire du travail propre. Si 
c'était une boulangerie je dis pas, mais un BTS qui enseigne le réseau, tu 
crois pas qu'il devraient connaitre le b-a-ba quand même ? Une access-list qui 
interdit RFC1918 sur l'interface externe c'est quand même pas bien compliqué. 
Je sais, je rêve.

Michel.


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


Re: [FRnOG] [TECH] BGP best practice

2019-12-11 Par sujet Michael Hallgren

Le 2019-12-11 22:30, Alarig Le Lay a écrit :

On mer. 11 déc. 22:25:12 2019, Hugues Voiturier wrote:

Ça me semble évident que c’était juste du NAT, le réseau upstream n’a
pas par magie une route retour vers le subnet privé de la salle de TP,
hein :P


C’était surtout à destination d’une RFC1918.


IPv6 ;-)

mh


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


Re: [FRnOG] [TECH] BGP best practice

2019-12-11 Par sujet Hugues Voiturier
Ah oui, en effet.

Plutôt son opérateur que l’école… Et encore, j’suis team DFZ sans Default, 
perso...
Hugues
AS57199 - AS50628

> On 11 Dec 2019, at 22:30, Alarig Le Lay  wrote:
> 
> On mer. 11 déc. 22:25:12 2019, Hugues Voiturier wrote:
>> Ça me semble évident que c’était juste du NAT, le réseau upstream n’a
>> pas par magie une route retour vers le subnet privé de la salle de TP,
>> hein :P
> 
> C’était surtout à destination d’une RFC1918.
> 
> -- 
> Alarig
> 
> 
> ---
> Liste de diffusion du FRnOG
> http://www.frnog.org/


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


Re: [FRnOG] [TECH] BGP best practice

2019-12-11 Par sujet Alarig Le Lay
On mer. 11 déc. 22:25:12 2019, Hugues Voiturier wrote:
> Ça me semble évident que c’était juste du NAT, le réseau upstream n’a
> pas par magie une route retour vers le subnet privé de la salle de TP,
> hein :P

C’était surtout à destination d’une RFC1918.

-- 
Alarig


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


Re: [FRnOG] [TECH] BGP best practice

2019-12-11 Par sujet Hugues Voiturier
> C'est ce que tout le monde devrait faire, full-feed ou pas, en particulier 
> l'école de Cécile.

Ça me semble évident que c’était juste du NAT, le réseau upstream n’a pas par 
magie une route retour vers le subnet privé de la salle de TP,  hein :P


Hugues
AS57199 - AS50628

> On 11 Dec 2019, at 22:20, Michel Py  
> wrote:
> 
>> Fabien VINCENT a écrit :
>> Bref c'est un choix d'architecture, mais comme dit Michel, c'est bien
>> pour uRPF de null router. Mais bon uRPF en multi-homed, bein  
> 
> Vu la nature asymétrique du trafic c'est évident qu'il faut être en mode 
> "loose", mais avec le null-routage et uRPF je jette un millier de PPS sur un 
> /24. Ce trafic aurait surement été jeté par quelque chose d'autre genre 
> pare-feu, mais le moins profond il rentre dans mon réseau le mieux je me 
> porte.
> Un millier de PPS c'est pas grand-chose, mais çà marche pour moi.
> 
> Et au risque d'enfoncer une porte ouverte, le null-routage des bogons (et le 
> uRPF qui va avec) c'est quelque chose que tout le monde devrait avoir.
> https://www.team-cymru.com/bogon-reference-bgp.html
> 
> Dans la même veine :
> ip route 10.0.0.0 255.0.0.0 null0
> ip route 172.16.0.0 255.240.0.0 null0
> ip route 192.168.0.0 255.255.0.0 null0
> ip route 100.64.0.0 255.192.0.0 null0
> C'est ce que tout le monde devrait faire, full-feed ou pas, en particulier 
> l'école de Cécile.
> 
> Michel.
> 
> 
> ---
> Liste de diffusion du FRnOG
> http://www.frnog.org/


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


RE: [FRnOG] [TECH] BGP best practice

2019-12-11 Par sujet Michel Py
> Fabien VINCENT a écrit :
> Bref c'est un choix d'architecture, mais comme dit Michel, c'est bien
> pour uRPF de null router. Mais bon uRPF en multi-homed, bein  

Vu la nature asymétrique du trafic c'est évident qu'il faut être en mode 
"loose", mais avec le null-routage et uRPF je jette un millier de PPS sur un 
/24. Ce trafic aurait surement été jeté par quelque chose d'autre genre 
pare-feu, mais le moins profond il rentre dans mon réseau le mieux je me porte.
Un millier de PPS c'est pas grand-chose, mais çà marche pour moi.

Et au risque d'enfoncer une porte ouverte, le null-routage des bogons (et le 
uRPF qui va avec) c'est quelque chose que tout le monde devrait avoir.
https://www.team-cymru.com/bogon-reference-bgp.html

Dans la même veine :
ip route 10.0.0.0 255.0.0.0 null0
ip route 172.16.0.0 255.240.0.0 null0
ip route 192.168.0.0 255.255.0.0 null0
ip route 100.64.0.0 255.192.0.0 null0
C'est ce que tout le monde devrait faire, full-feed ou pas, en particulier 
l'école de Cécile.

Michel.


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


Re: [FRnOG] [TECH] BGP best practice

2019-12-11 Par sujet Fabien VINCENT (FrNOG)

Le 11-12-2019 10:54, Raphael Mazelier a écrit :

On 11/12/2019 08:36, Antoine DURAND wrote: 


Hello,

Période calme pour moi avant les fêtes, je me remets sur la refonte de mon 
archi BGP...

Est-ce que vous supprimez la route par défaut 0.0.0.0/0 de vos routeurs BGP 
lorsque vous êtes en full-view ?

Il y a deux choses : accepter une route par défaut de tes transits (ça se 
discute) et avoir une default dans ta table.

J'avais l'habitude de garder une default statique vers l'un de mes transits sur 
mes edge, comme çà en cas de grosse foirade tes paquets peuvent quand même 
sortir, et tu peux te connecter sur ton edge sur l'ip d'une de tes intercos.

--

Raphael Mazelier

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


Tu peux aussi faire du Selective Route Download. Tu acceptes la default
dans BGP mais tu l'insères pas dans la RIB. Ca peut toujours servir
parfois. Perso, il y a plusieurs cas ou ça m'a aidé et rien ne t'empêche
ensuite de balancer dans une autre vrf la default apprise par BGP et
router le trafic vers un autre nexthop dans cette vrf pour y voir le
trafic concerné. Encore une fois, tout dépend de l'archi, de tes
besoins, et des évolutions futures. 


Bref c'est un choix d'architecture, mais comme dit Michel, c'est bien
pour uRPF de null router. Mais bon uRPF en multi-homed, bein  


Sur les route-map + prefix-list + filter list, c'est pareil. Sur FRR /
IOS tu peux choisir ce qui te convient le mieux, juste attention aux mix
AFI/SAFI IPv4 et IPv6 dans la même route-map (coucou les 6k). Pour ça
que des fois faire juste le "traffic engineering" et la manipulation du
best path dans ta route-map sans toucher aux préfixes (et donc mixer
AFI/SAFI) peut être intelligent. 


Sur IOS-XR ou d'autres c'est plus simple, il n'y a que des
routes-policies qui regroupent tout en AiO. C'est parfois mieux, mais
aussi casse gueule quand tu maîtrises pas toutes les features et les
règles implicites. 


Un truc que j'avais trouvé cool sur Arista EOS c'est les sub-route-map
pour faciliter le travail, ca te permet de chainer et faire du more
specific de manière fonctionnel et hihiérarchique pour chaque neighbor.
Je sais pas si c'est dispo dans FRR.

--
Fabien VINCENT 
_@beufanet_

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


RE: [FRnOG] [TECH] BGP best practice

2019-12-11 Par sujet Michel Py
> Antoine DURAND a écrit :
> Est-ce que vous supprimez la route par défaut 0.0.0.0/0 de vos routeurs BGP 
> lorsque vous êtes en full-view ?
> Je veux dire en utilisant la commande magique ip route 0.0.0.0/0 Null0 254 ?

Moi oui, et en pire : je ne mets pas le 254.

> Est-ce que cela n’a pas une redondance avec le filtrage des préfixes en IN ?
> ip prefix-list PX_IN_IP4 seq 5 deny 0.0.0.0/0

Ce n'est pas la même chose. Si tu n'acceptes pas la route par défaut, tu ne 
sais pas ou aller quand le préfixe n'est pas dans la RIB. Je préfère la 
certitude : si le préfixe n'est pas dans au moins un full-feed, c'est donc 
qu'il n'existe pas.
ip route 0.0.0.0/0 Null0 c'est le choix d'opérer en mode DFZ vrai.

Bonus avec l'implémentation Cisco (FRR je ne sais pas), c'est que tu peux faire 
uRPF avec la route par défaut qui pointe vers null0.

J'ai changé mon fusil d'épaule à ce sujet : l'argument qui dit que en cas de 
gros problème la route par défaut vers un des transits peut sauver la journée 
ne compense pas le fait que si il y a tu trafic en provenance ou à destination 
d'un préfixe qui n'est pas dans la RIB, la chose à faire c'est de je jeter dans 
le bit bucket parce que 99% c'est du spoofé.

Question de préférence perso, les deux approches sont valables. Moi je préfère 
ip route 0.0.0.0/0 Null0 et BCP38.

Sur la question une route-map par pair, je préfère aussi (petit nombre de 
pairs).

Michel.


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


Re: [FRnOG] [TECH] BGP best practice

2019-12-11 Par sujet David Ponzone
Antoine,

C’est vraiment pas la documentation qui manque sur le sujet!
On parle de Cisco là, y a rien de plus documenté/discuté sur le net dans ce 
domaine.


> Le 11 déc. 2019 à 13:05, Antoine DURAND  a écrit :
> 
> >La meilleure façon, c’est celle qui convient à ta logique. Moi j’aime 
> >séparer.
> OK, dans ma logique à moi est-ce que selon toi mon code est correct et 
> fonctionnel ?
>  
> >Pour la logique deny/permit, faut expérimenter, sinon tu vas pas t’en 
> >souvenir :)
> Hum j'aime bien comprendre le phénomène avant d'expérimenter... Existe t'il 
> un reccueil sur une explication claire de l'utilisation deny/permit ?


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


Re: [FRnOG] [TECH] BGP best practice

2019-12-11 Par sujet Antoine DURAND
>La meilleure façon, c’est celle qui convient à ta logique. Moi j’aime séparer.

OK, dans ma logique à moi est-ce que selon toi mon code est correct et fonctionnel ?

 

>Pour la logique deny/permit, faut expérimenter, sinon tu vas pas t’en souvenir :)

Hum j'aime bien comprendre le phénomène avant d'expérimenter... Existe t'il un reccueil sur une explication claire de l'utilisation deny/permit ?





Re: [FRnOG] [TECH] BGP best practice

2019-12-11 Par sujet David Ponzone
La meilleure façon, c’est celle qui convient à ta logique. Moi j’aime séparer.

Pour la logique deny/permit, faut expérimenter, sinon tu vas pas t’en souvenir 
:)


> Le 11 déc. 2019 à 12:55, Antoine DURAND  a écrit :
> 
> >Oula mélange pas tout: une route-map par neighbour, c’est plus simple à 
> >gérer.
> Ah bon ? J'ai a l'esprit que cela est beaucoup plus simple d'avoir UNE seule 
> route-map dans laquelle tu match ton transitaire pour lui appliquer une 
> préférence par exemple.
> Egalement cela simplifi la lecture de la conf je trouve.
>  
>  
> >Mais là, je pense qu’il manque la ligne où tu appliques la route-map à 
> >chaque neighbor :)
> Je vois quelque chose comme ça, avec du route-map mais toujours dans 
> l'incompréhension du deny/permit dans les séquences :'(
>  
> ! AS174
> neighbor 10.4.1.1 soft-reconfiguration inbound
> neighbor 10.4.1.1 route-map RM_TRANSIT_IN_IP4 in
> neighbor 10.4.1.1 route-map RM_TRANSIT_OUT_IP4 out
> neighbor 10.4.1.1 filter-list 10 in
> neighbor 10.4.1.1 filter-list 1 out
> ! AS6939
> neighbor 20.4.1.2 soft-reconfiguration inbound
> neighbor 20.4.1.2 route-map RM_TRANSIT_IN_IP4 in
> neighbor 20.4.1.2 route-map RM_TRANSIT_OUT_IP4 out
> neighbor 20.4.1.2 filter-list 20 in
> neighbor 20.4.1.2 filter-list 1 out
> !
> ip prefix-list PX_IN_IP4 seq 5 deny 0.0.0.0/0
> ip prefix-list PX_IN_IP4 seq 10 deny A.A.A.0/24
> ip prefix-list PX_IN_IP4 seq 15 deny B.B.B.0/23
> ip prefix-list PX_IN_IP4 seq 20 deny C.C.C.0/24
> !
> ip prefix-list PX_OUT_IP4 seq 5 permit A.A.A.0/24
> ip prefix-list PX_OUT_IP4 seq 10 permit B.B.B.0/23
> ip prefix-list PX_OUT_IP4 seq 15 permit C.C.C.0/24
> ip prefix-list PX_OUT_IP4 seq 20 deny any
> !
> ip as-path access-list 1 permit ^$
> ip as-path access-list 1 permit ^(65001_)*$
> ip as-path access-list 1 deny .*
> ip as-path access-list 10 permit ^174_
> ip as-path access-list 10 deny .*
> ip as-path access-list 20 permit ^6939_
> ip as-path access-list 20 deny .*
> !
> route-map RM_TRANSIT_IN_IP4 deny 10
>  match ip address prefix-list PX_IN_IP4
> !
> route-map RM_TRANSIT_IN_IP4 permit 20
>  match as-path 10
>  set local-preference 200
> !
> route-map RM_TRANSIT_IN_IP4 permit 30
>  match as-path 20
>  set local-preference 100
> !
> !
> route-map RM_TRANSIT_OUT_IP4 deny 10
>  match ip address prefix-list PX_OUT_IP4
> !
>  
> En fait quel est la meilleure façon de faire en terme de conf et relecture à 
> long terme ?


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


Re: [FRnOG] [TECH] BGP best practice

2019-12-11 Par sujet Antoine DURAND

>Oula mélange pas tout: une route-map par neighbour, c’est plus simple à gérer.

Ah bon ? J'ai a l'esprit que cela est beaucoup plus simple d'avoir UNE seule route-map dans laquelle tu match ton transitaire pour lui appliquer une préférence par exemple.

Egalement cela simplifi la lecture de la conf je trouve.

 

 

>Mais là, je pense qu’il manque la ligne où tu appliques la route-map à chaque neighbor :)

Je vois quelque chose comme ça, avec du route-map mais toujours dans l'incompréhension du deny/permit dans les séquences :'(

 

! AS174
neighbor 10.4.1.1 soft-reconfiguration inbound
neighbor 10.4.1.1 route-map RM_TRANSIT_IN_IP4 in
neighbor 10.4.1.1 route-map RM_TRANSIT_OUT_IP4 out
neighbor 10.4.1.1 filter-list 10 in
neighbor 10.4.1.1 filter-list 1 out
! AS6939
neighbor 20.4.1.2 soft-reconfiguration inbound
neighbor 20.4.1.2 route-map RM_TRANSIT_IN_IP4 in
neighbor 20.4.1.2 route-map RM_TRANSIT_OUT_IP4 out
neighbor 20.4.1.2 filter-list 20 in
neighbor 20.4.1.2 filter-list 1 out
!
ip prefix-list PX_IN_IP4 seq 5 deny 0.0.0.0/0
ip prefix-list PX_IN_IP4 seq 10 deny A.A.A.0/24
ip prefix-list PX_IN_IP4 seq 15 deny B.B.B.0/23
ip prefix-list PX_IN_IP4 seq 20 deny C.C.C.0/24
!
ip prefix-list PX_OUT_IP4 seq 5 permit A.A.A.0/24
ip prefix-list PX_OUT_IP4 seq 10 permit B.B.B.0/23
ip prefix-list PX_OUT_IP4 seq 15 permit C.C.C.0/24
ip prefix-list PX_OUT_IP4 seq 20 deny any
!
ip as-path access-list 1 permit ^$
ip as-path access-list 1 permit ^(65001_)*$
ip as-path access-list 1 deny .*
ip as-path access-list 10 permit ^174_
ip as-path access-list 10 deny .*
ip as-path access-list 20 permit ^6939_
ip as-path access-list 20 deny .*
!
route-map RM_TRANSIT_IN_IP4 deny 10
 match ip address prefix-list PX_IN_IP4
!
route-map RM_TRANSIT_IN_IP4 permit 20
 match as-path 10
 set local-preference 200
!
route-map RM_TRANSIT_IN_IP4 permit 30
 match as-path 20
 set local-preference 100
!
!
route-map RM_TRANSIT_OUT_IP4 deny 10
 match ip address prefix-list PX_OUT_IP4
!


 
En fait quel est la meilleure façon de faire en terme de conf et relecture à long terme ?




Re: [FRnOG] [TECH] BGP best practice

2019-12-11 Par sujet David Ponzone
Oula mélange pas tout: une route-map par neighbour, c’est plus simple à gérer.

Mais là, je pense qu’il manque la ligne où tu appliques la route-map à chaque 
neighbor :)

> Le 11 déc. 2019 à 10:58, Antoine DURAND  a écrit :
> 
> >Il te faut en plus:
> Absolument ! Je n'ai pas détaillé car cela est de base. Merci de l'avoir 
> quand même précisé David !
>  
> Je regarde les routes-map et j'ai du mal à comprendre la logique deny/permit 
> (?) lorsqu'il y a utilisation consécutive entre prefix-list et route-map !
>  
> En lisant une doc j'ai compris (de travers peut être ?) qu'il faut filtrer et 
> ne pas autoriser nos subnets de la part des transitaires.
>  
> Je ne suis pas sur du code ci-dessous... ici je veux que transit 1 soit 
> préférence 200 et transit 2 soit préférence 100 + filter les transitaires 
> afin qu'ils ne m'envoi pas la default route et mes propres préfixes :
>  
> ip prefix-list PX_IN_IP4 seq 5 deny 0.0.0.0/0
> ip prefix-list PX_IN_IP4 seq 10 deny A.A.A.0/24
> ip prefix-list PX_IN_IP4 seq 15 deny B.B.B.0/23
> ip prefix-list PX_IN_IP4 seq 20 deny C.C.C.0/24
> !
> ip prefix-list PX_OUT_IP4 seq 5 permit A.A.A.0/24
> ip prefix-list PX_OUT_IP4 seq 10 permit B.B.B.0/23
> ip prefix-list PX_OUT_IP4 seq 15 permit C.C.C.0/24
> ip prefix-list PX_OUT_IP4 seq 20 deny any
> !
> ip as-path access-list 10 permit ^174_
> ip as-path access-list 10 deny .*
> ip as-path access-list 20 permit ^6939_
> ip as-path access-list 20 deny .*
> !
> route-map RM_TRANSIT_IN_IP4 deny 10 => DENY OU PERMIT ??
>  match ip address prefix-list PX_IN_IP4
> !
> route-map RM_TRANSIT_IN_IP4 permit 20
>  match as-path 10
>  set local-preference 200
> !
> route-map RM_TRANSIT_IN_IP4 permit 30
>  match as-path 20
>  set local-preference 100
> !
> !
> ! envoi uniquement de mes prefixes sans les autres routes
> route-map RM_TRANSIT_OUT_IP4 deny 10 => DENY OU PERMIT ??
>  match ip address prefix-list PX_OUT_IP4
> !
>  
>  


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


Re: [FRnOG] [TECH] BGP best practice

2019-12-11 Par sujet Antoine DURAND
>Il te faut en plus:

Absolument ! Je n'ai pas détaillé car cela est de base. Merci de l'avoir quand même précisé David !

 

Je regarde les routes-map et j'ai du mal à comprendre la logique deny/permit (?) lorsqu'il y a utilisation consécutive entre prefix-list et route-map !

 

En lisant une doc j'ai compris (de travers peut être ?) qu'il faut filtrer et ne pas autoriser nos subnets de la part des transitaires.

 

Je ne suis pas sur du code ci-dessous... ici je veux que transit 1 soit préférence 200 et transit 2 soit préférence 100 + filter les transitaires afin qu'ils ne m'envoi pas la default route et mes propres préfixes :

 

ip prefix-list PX_IN_IP4 seq 5 deny 0.0.0.0/0
ip prefix-list PX_IN_IP4 seq 10 deny A.A.A.0/24
ip prefix-list PX_IN_IP4 seq 15 deny B.B.B.0/23
ip prefix-list PX_IN_IP4 seq 20 deny C.C.C.0/24

!

ip prefix-list PX_OUT_IP4 seq 5 permit A.A.A.0/24
ip prefix-list PX_OUT_IP4 seq 10 permit B.B.B.0/23
ip prefix-list PX_OUT_IP4 seq 15 permit C.C.C.0/24

ip prefix-list PX_OUT_IP4 seq 20 deny any

!


ip as-path access-list 10 permit ^174_
ip as-path access-list 10 deny .*

ip as-path access-list 20 permit ^6939_
ip as-path access-list 20 deny .*


!


route-map RM_TRANSIT_IN_IP4 deny 10 => DENY OU PERMIT ??
 match ip address prefix-list PX_IN_IP4
!
route-map RM_TRANSIT_IN_IP4 permit 20
 match as-path 10
 set local-preference 200

!

route-map RM_TRANSIT_IN_IP4 permit 30
 match as-path 20
 set local-preference 100

!

!

! envoi uniquement de mes prefixes sans les autres routes

route-map RM_TRANSIT_OUT_IP4 deny 10 => DENY OU PERMIT ??
 match ip address prefix-list PX_OUT_IP4
!

 

 




Re: [FRnOG] [TECH] BGP best practice

2019-12-11 Par sujet Raphael Mazelier



On 11/12/2019 08:36, Antoine DURAND wrote:

Hello,

Période calme pour moi avant les fêtes, je me remets sur la refonte de 
mon archi BGP...


Est-ce que vous supprimez la route par défaut 0.0.0.0/0 de vos 
routeurs BGP lorsque vous êtes en full-view ?


Il y a deux choses : accepter une route par défaut de tes transits (ça 
se discute) et avoir une default dans ta table.


J'avais l'habitude de garder une default statique vers l'un de mes 
transits sur mes edge, comme çà en cas de grosse foirade tes paquets 
peuvent quand même sortir, et tu peux te connecter sur ton edge sur l'ip 
d'une de tes intercos.


--

Raphael Mazelier




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


Re: [FRnOG] [TECH] BGP best practice

2019-12-11 Par sujet David Ponzone
> En utilisant ip route A.A.A.0/ip route B.B.B./ip route C.C.C.0 cela permet 
> d'activer les annonces des prefixes auprès des transits en utilisant bien 
> entendu prefix-list out
>  
> ip prefix-list PX_OUT_IP4 seq 15 permit A.A.A.0/24
> ip prefix-list PX_OUT_IP4 seq 20 permit B.B.B.0/23
> ip prefix-list PX_OUT_IP4 seq 25 permit C.C.C.0/24
> !
> neighbor 10.4.1.1 prefix-list PX_OUT_IP4 out 
> J'ai juste ?

Il te faut en plus:

router bgp ton_AS
 address-family ipv4
  network A.A.A.0 mask 255.255.255.0
  network B.B.B.0 mask 255.255.255.0
  network C.C.C.0 mask 255.255.255.0


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


Re: [FRnOG] [TECH] BGP best practice

2019-12-11 Par sujet Antoine DURAND

> Je veux dire en utilisant la commande magique ip route 0.0.0.0/0 Null0 254 ?

>>Là tu l’ajoutes la route par défaut, mais elle va vers trash. C’est pas exactement la même chose.
>>Il faudrait voir l’implementation sur ton routeur spécifiquement pour voir lequel des 2 est le moins CPU-intensive.

 

Exact, d'où ma question sur quelle solution prendre. Je vais utiliser FRRouting, je ne sais pas quelle implementation sera CPU-intensive...

 

> Dans le cas de 3 routeurs ou 4 routeurs BGP tous reliés en iBGP pour utilisation avec 3 transit full et 2 IX sur lesquels j’annonce A.A.A.0/24+B.B.B.0/23+B.B.B.0/24 nous sommes d’accord qu’il faut que je monte une loopback sur chaque routeur avec une IP de chaque subnet pour que les annonces fonctionne ?

>>Euh non.
>>Ce que tu annonces avec la commande network de ta conf BGP doit être « stabilisé » avec une route statique.
>>Donc sur Cisco:
>>ip route A.A.A.0 255.255.255.0 Null0 254

 

En fait je n'ai pas besoin de monter des loopback ou dummy sur chaque routeurs pour chaque subnet ??

Je ne sais pas pourquoi j'ai en tête qu'il fallait absolument une ip en /32 du subnet en question pour que l'annonce soit activée...

 

En utilisant ip route A.A.A.0/ip route B.B.B./ip route C.C.C.0 cela permet d'activer les annonces des prefixes auprès des transits en utilisant bien entendu prefix-list out

 

ip prefix-list PX_OUT_IP4 seq 15 permit A.A.A.0/24
ip prefix-list PX_OUT_IP4 seq 20 permit B.B.B.0/23
ip prefix-list PX_OUT_IP4 seq 25 permit C.C.C.0/24
!
neighbor 10.4.1.1 prefix-list PX_OUT_IP4 out

 

J'ai juste ?




Re: [FRnOG] [TECH] BGP best practice

2019-12-10 Par sujet David Ponzone


> Le 11 déc. 2019 à 08:36, Antoine DURAND  a écrit :
> 
> Hello,
> Est-ce que vous supprimez la route par défaut 0.0.0.0/0 de vos routeurs BGP 
> lorsque vous êtes en full-view ?

Oui.

> Je veux dire en utilisant la commande magique ip route 0.0.0.0/0 Null0 254 ?

Là tu l’ajoutes la route par défaut, mais elle va vers trash. C’est pas 
exactement la même chose.
Il faudrait voir l’implementation sur ton routeur spécifiquement pour voir 
lequel des 2 est le moins CPU-intensive.

Ceci dit, le 254 me semble superflus.
Tu veux qu’elle soit toujours matchée cette route, et elle est déjà moins 
prioritaire à cause de la taille du préfixe.

> Est-ce que cela n’a pas une redondance avec le filtrage des préfixes en IN ?
> 
> ip prefix-list PX_IN_IP4 seq 5 deny 0.0.0.0/0
> ip prefix-list PX_IN_IP4 seq 10 permit 0.0.0.0/8 le 32
> ip prefix-list PX_IN_IP4 seq 15 permit A.A.A.0/24
> ip prefix-list PX_IN_IP4 seq 20 permit B.B.B.0/23
> ip prefix-list PX_IN_IP4 seq 25 permit C.C.C.0/24
> !
> neighbor 10.4.1.1 prefix-list PX_IN_IP4 in

Filtrer t’évite d’apprendre la route, en cas de boulette par exemple.
Ceci dit, sur la plupart des routeurs, l’export de la route par défaut vers un 
peer BGP doit être explicitement configuré.
Par exemple sur VyOS/EdgeOS:
set protocols bgp  NNN neighbor X.X.X.X  'default-originate’

Donc si tu n’as aucune route par défaut dans ta table de routage sur tes 
routeurs, et si en plus tu ne l’exportes pas explicitement, tu es loin de la 
boulette quand même (et la boulette serait en plus sans gravité à priori si tu 
as une full-view partout).

> Dans le cas de 3 routeurs ou 4 routeurs BGP tous reliés en iBGP pour 
> utilisation avec 3 transit full et 2 IX sur lesquels j’annonce 
> A.A.A.0/24+B.B.B.0/23+B.B.B.0/24 nous sommes d’accord qu’il faut que je monte 
> une loopback sur chaque routeur avec une IP de chaque subnet pour que les 
> annonces fonctionne ?
> 
> RT1
> Lo0 : A.A.A.1/32
> Lo1 : B.B.B.1/32
> Lo2 : C.C.C.1/32
> 
> RT2
> Lo0 : A.A.A.2/32
> Lo1 : B.B.B.2/32
> Lo2 : C.C.C.2/32
> 
> RTX
> Lo0 : A.A.A.X/32
> Lo1 : B.B.B.X/32
> Lo2 : C.C.C.X/32
>  

Euh non.
Ce que tu annonces avec la commande network de ta conf BGP doit être « 
stabilisé »  avec une route statique.
Donc sur Cisco:
ip route A.A.A.0 255.255.255.0 Null0 254

Sur VyOS/EdgeOS:
set protocols static route A.A.A.0/24 blackhole distance ‘254’



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


[FRnOG] [TECH] BGP best practice

2019-12-10 Par sujet Antoine DURAND

Hello,


Période calme pour moi avant les fêtes, je me remets sur la refonte de mon archi BGP...


Est-ce que vous supprimez la route par défaut 0.0.0.0/0 de vos routeurs BGP lorsque vous êtes en full-view ?


Je veux dire en utilisant la commande magique ip route 0.0.0.0/0 Null0 254 ?
Est-ce que cela n’a pas une redondance avec le filtrage des préfixes en IN ?


ip prefix-list PX_IN_IP4 seq 5 deny 0.0.0.0/0
ip prefix-list PX_IN_IP4 seq 10 permit 0.0.0.0/8 le 32
ip prefix-list PX_IN_IP4 seq 15 permit A.A.A.0/24
ip prefix-list PX_IN_IP4 seq 20 permit B.B.B.0/23
ip prefix-list PX_IN_IP4 seq 25 permit C.C.C.0/24

!
neighbor 10.4.1.1 prefix-list PX_IN_IP4 in


Même question en V6, quel procédé pour IPV6 ? ipv6 route ::/0 Null0 254 ?

ipv6 prefix-list PX_IN_IP6 seq 5 deny ::/0
ipv6 prefix-list PX_IN_IP6 seq 10 permit ::/0 le 48
ipv6 prefix-list PX_IN_IP6 seq 15 permit 2001:X:X::/48
!
neighbor2001:db8:0:3:fac0:100:22d3:d000 prefix-list PX_IN_IP6 in


Dans le cas de 3 routeurs ou 4 routeurs BGP tous reliés en iBGP pour utilisation avec 3 transit full et 2 IX sur lesquels j’annonce A.A.A.0/24+B.B.B.0/23+B.B.B.0/24 nous sommes d’accord qu’il faut que je monte une loopback sur chaque routeur avec une IP de chaque subnet pour que les annonces fonctionne ?


RT1
Lo0 : A.A.A.1/32
Lo1 : B.B.B.1/32
Lo2 : C.C.C.1/32


RT2
Lo0 : A.A.A.2/32
Lo1 : B.B.B.2/32
Lo2 : C.C.C.2/32


RTX
Lo0 : A.A.A.X/32
Lo1 : B.B.B.X/32
Lo2 : C.C.C.X/32

 

Anto.