Difference between revisions of "Quagga on Linux"
From linux360
Line 18: | Line 18: | ||
RouterA(config-router)# neigbor 10.1.2.2 remote-as 65535 | RouterA(config-router)# neigbor 10.1.2.2 remote-as 65535 | ||
RouterA(config-router)# neighbor 10.1.2.2 description RouterB | RouterA(config-router)# neighbor 10.1.2.2 description RouterB | ||
+ | RouterA# wr mem | ||
RouterB: | RouterB: | ||
Line 27: | Line 28: | ||
RouterB(config-router)# neighbor 10.1.2.1 remote-as 65534 | RouterB(config-router)# neighbor 10.1.2.1 remote-as 65534 | ||
RouterB(config-router)# neigbor 10.1.2.1 description RouterA | RouterB(config-router)# neigbor 10.1.2.1 description RouterA | ||
+ | RouterB# wr mem | ||
In exemplul de mai sus, fiecare router anunta cate un prefix /24 (pentru prefixe mai lungi se trece netmask-ul in format CIDR). | In exemplul de mai sus, fiecare router anunta cate un prefix /24 (pentru prefixe mai lungi se trece netmask-ul in format CIDR). | ||
Line 41: | Line 43: | ||
RouterB(config-router)# neighbor 10.1.2.6 remote-as 65533 | RouterB(config-router)# neighbor 10.1.2.6 remote-as 65533 | ||
RouterB(config-router)# neighbor 10.1.2.6 description RouterC | RouterB(config-router)# neighbor 10.1.2.6 description RouterC | ||
+ | RouterB# wr mem | ||
RouterC: | RouterC: | ||
Line 48: | Line 51: | ||
RouterC(config-router)# neighbor 10.1.2.5 remote-as 65535 | RouterC(config-router)# neighbor 10.1.2.5 remote-as 65535 | ||
RouterC(config-router)# neighbor 10.1.2.5 description RouterB | RouterC(config-router)# neighbor 10.1.2.5 description RouterB | ||
+ | RouterC# wr mem | ||
Daca sa zicem RouterB vrem sa fie default gateway pentru celelalte 2 routere, procedam dupa cum urmeaza: | Daca sa zicem RouterB vrem sa fie default gateway pentru celelalte 2 routere, procedam dupa cum urmeaza: | ||
Line 60: | Line 64: | ||
RouterB(config-router)# neighbor 10.1.2.6 default-originate | RouterB(config-router)# neighbor 10.1.2.6 default-originate | ||
RouterB(config-router)# neighbor 10.1.2.6 description RouterC | RouterB(config-router)# neighbor 10.1.2.6 description RouterC | ||
+ | ROuterB# wr mem | ||
folosind "default-originate", pe langa prefixele exportate, se va mai exporta si 0.0.0.0/0. | folosind "default-originate", pe langa prefixele exportate, se va mai exporta si 0.0.0.0/0. | ||
Line 77: | Line 82: | ||
RouterC# wr mem | RouterC# wr mem | ||
− | |||
− | |||
[[Category:HowTo]] | [[Category:HowTo]] | ||
[[Category:Routing]] | [[Category:Routing]] |
Revision as of 15:47, 25 November 2005
BGP mit Quagga
BGP4 RFC: RFC 1772
Folosirea BGP presupune 2 lucruri:
- detinerea unui Autonomous System Number, pe scurt AS
- detinerea unui subnet /24 (sau mai mic) de adrese IP Provider Independent, pe scurt PI
Pentru a seta o sesiune BGP intre 2 neighbori (presupunand ca aveti routerele A si B si AS-urile: 65534 si 65535) faceti in felul urmator:
Router A:
RouterA# RouterA# conf t RouterA(config)# router bgp 65534 RouterA(config-router)# network 10.2.2.0 RouterA(config-router)# neigbor 10.1.2.2 remote-as 65535 RouterA(config-router)# neighbor 10.1.2.2 description RouterB RouterA# wr mem
RouterB:
RouterB# RouterB# conf t RouterB(config)# router bgp 65535 RouterB(config-router)# network 10.2.3.0 RouterB(config-router)# neighbor 10.1.2.1 remote-as 65534 RouterB(config-router)# neigbor 10.1.2.1 description RouterA RouterB# wr mem
In exemplul de mai sus, fiecare router anunta cate un prefix /24 (pentru prefixe mai lungi se trece netmask-ul in format CIDR).
Daca in ecuatia de mai sus se mai adauga un RouterC cu o topologie: RouterA <--> RouterB <--> RouterC se configureaza in felul urmator:
RouterB:
RouterB# conf t RouterB(config)# router bgp 65535 RouterB(config-router)# network 10.2.3.0 RouterB(config-router)# neighbor 10.1.2.1 remote-as 65534 RouterB(config-router)# neighbor 10.1.2.1 description RouterA RouterB(config-router)# neighbor 10.1.2.6 remote-as 65533 RouterB(config-router)# neighbor 10.1.2.6 description RouterC RouterB# wr mem
RouterC:
RouterC# conf t RouterC(config)# router bgp 65533 RouterC(config-router)# network 10.2.4.0 RouterC(config-router)# neighbor 10.1.2.5 remote-as 65535 RouterC(config-router)# neighbor 10.1.2.5 description RouterB RouterC# wr mem
Daca sa zicem RouterB vrem sa fie default gateway pentru celelalte 2 routere, procedam dupa cum urmeaza:
RouterB# conf t RouterB(config)# router bgp 65535 RouterB(config-router)# network 10.2.3.0 RouterB(config-router)# neighbor 10.1.2.1 remote-as 65534 RouterB(config-router)# neighbor 10.1.2.1 default-originate RouterB(config-router)# neighbor 10.1.2.1 description RouterA RouterB(config-router)# neighbor 10.1.2.6 remote-as 65533 RouterB(config-router)# neighbor 10.1.2.6 default-originate RouterB(config-router)# neighbor 10.1.2.6 description RouterC ROuterB# wr mem
folosind "default-originate", pe langa prefixele exportate, se va mai exporta si 0.0.0.0/0.
Cam pana aici au fost configurarile de baza, mai jos veti gasi exemple de configurare putin mai complexe (eg: prefix-lists, as-prepend etc)
Pentru a nu accepta ruta default de la un anumit neighbor se face asa:
RouterC# conf t RouterC(config)# ip prefix-list NO-DEFAULT seq 5 deny 0.0.0.0/0 le 1 RouterC(config)# ip prefix-list NO-DEFAULT seq 10 permit any RouterC(config)# router bgp 65533 RouterC(config-router)# neighbor 10.1.2.5 remote-as 65535 RouterC(config-router)# neighbor 10.1.2.5 description RouterB RouterC(config-router)# neighbor 10.1.2.5 prefix-list NO-DEFAULT in RouterC# clear ip bgp 10.1.2.5 soft in RouterC# wr mem