|
|
Line 1: |
Line 1: |
− | == Notiuni introductive == | + | == Notiuni introductive == BGP4 RFC: RFC 1772 Folosirea BGP presupune: * detinerea unui [http://en.wikipedia.org/wiki/Autonomous_system_(Internet) Autonomous System Number], pe scurt AS * detinerea unui subnet |
− | | |
− | BGP4 RFC: RFC 1772 | |
− | | |
− | Folosirea BGP presupune: | |
− | * detinerea unui [http://en.wikipedia.org/wiki/Autonomous_system_%28Internet%29 Autonomous System Number], pe scurt AS | |
− | * detinerea unui subnet <tt>/24</tt> (sau mai mic) de adrese IP Provider Independent, pe scurt PI | |
− | | |
− | == Exemple practice ==
| |
− | | |
− | 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# configure terminal
| |
− | RouterA(config)# router bgp 65534
| |
− | RouterA(config-router)# network 10.2.2.0
| |
− | RouterA(config-router)# neighbor 10.1.2.2 remote-as 65535
| |
− | RouterA(config-router)# neighbor 10.1.2.2 description RouterB
| |
− | RouterA# write memory
| |
− | | |
− | Router B:
| |
− |
| |
− | RouterB# configure terminal
| |
− | 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# write memory
| |
− | | |
− | In exemplul de mai sus, fiecare router anunta cate un prefix <tt>/24</tt> (pentru prefixe mai lungi se trece masca de retea in format [http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR]).
| |
− | | |
− | Daca in ecuatia de mai sus se mai adauga un Router C astfel incat sa avem topologia urmatoare
| |
− | RouterA <--> RouterB <--> RouterC
| |
− | atunci configuratia se modifica dupa cum urmeaza:
| |
− | | |
− | Router B:
| |
− | | |
− | RouterB# configure terminal
| |
− | 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# write memory
| |
− | | |
− | Router C:
| |
− | | |
− | RouterC# configure terminal
| |
− | 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# write memory
| |
− | | |
− | Daca vrem ca (e.g.) RouterB sa fie default gateway pentru celelalte doua routere, procedam dupa cum urmeaza:
| |
− | | |
− | RouterB# configure terminal
| |
− | 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# write memory
| |
− | | |
− | Folosind <tt>default-originate</tt>, pe langa prefixele exportate, se va mai exporta si <tt>0.0.0.0/0</tt>.
| |
− | | |
− | Cam pana aici au fost configurarile de baza, mai jos veti gasi exemple de configurare putin mai complexe (i.e.: <tt>prefix-lists</tt>, <tt>as-prepend</tt> etc)
| |
− | | |
− | Pentru a nu accepta ruta default de la un anumit neighbor se face asa:
| |
− | | |
− | RouterC# configure terminal
| |
− | 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# write memory
| |
− | | |
− | Daca nu vreti sa deveniti transit provider pentru altii, e bine sa stiti ce anume exportati la alti neighbori:
| |
− | | |
− | RouterB# configure terminal
| |
− | RouterB(config)# ip prefix-list our-subnets seq 10 permit 10.2.3.0/24
| |
− | RouterB(config)# ip prefix-list our-subnets seq 20 deny any any
| |
− | 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 prefix-list our-subnets out
| |
− | 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 prefix-list our-subnets out
| |
− | RouterB(config-router)# neighbor 10.1.2.6 description RouterC
| |
− | routerB# clear ip bgp * soft out
| |
− | RouterB# write memory
| |
− |
| |
− | | |
− | [[Category:HowTo]]
| |
− | [[Category:Networking]]
| |
− | [[Category:Routing]]
| |
== Notiuni introductive == BGP4 RFC: RFC 1772 Folosirea BGP presupune: * detinerea unui Autonomous System Number, pe scurt AS * detinerea unui subnet