
Cisco dual BGP with AS prepend (Redundancy)
|
|
[Traffic flow]
Using CPE is received only default route thru the both BGP sessions, so outbound traffic will be load-shared with two default exits. Of cause it wouldn’t be exact 50/50, due to packets will be routed by destination based.
All traffic inbound traffic will be routed thru ISP_"A" link, b/c it is shortest AS path. See below example and testing output.
[CPE/Customer Cisco Router]
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname CPE
!
boot-start-marker
boot-end-marker
!
ip cef
!
interface FastEthernet0/0
no ip address
duplex auto
speed auto
!
interface FastEthernet0/1
no ip address
shutdown
duplex auto
speed auto
!
interface Serial1/0
no ip address
shutdown
serial restart-delay 0
!
interface Serial1/1
ip address 10.20.1.1 255.255.255.252
serial restart-delay 0
!
interface Serial1/2
ip address 10.30.1.1 255.255.255.252
serial restart-delay 0
!
interface Serial1/3
no ip address
shutdown
serial restart-delay 0
!
interface FastEthernet2/0
ip address 100.100.100.1 255.255.255.0
duplex auto
speed auto
!
router bgp 10
no synchronization
bgp log-neighbor-changes
network 100.100.100.0 mask 255.255.255.0
redistribute connected
neighbor 10.20.1.2 remote-as 20 <—————— BGP neighbor to ISP_"A"
neighbor 10.20.1.2 prefix-list to-ISP out
neighbor 10.30.1.2 remote-as 30 <—————— BGP neighbor to ISP_"B"
neighbor 10.30.1.2 prefix-list to-ISP out
neighbor 10.30.1.2 route-map shadow out <—– Make shadow link
no auto-summary
!
ip http server
no ip http secure-server
ip forward-protocol nd
!
ip prefix-list to-ISP description just-announcement <—– Allow only IP block need to be advertised to ISP
ip prefix-list to-ISP seq 5 permit 100.100.100.0/24
!
route-map shadow permit 10
match ip address prefix-list to-ISP
set as-path prepend 10 10 <———- Prepending AS 10 two times on announcement to ISP_"B"
!
control-plane
!
line con 0
exec-timeout 0 0
logging synchronous
line aux 0
line vty 0 4
login
!
end
[ISP_A PE/ISP Cisco Router]
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname ISP_A
!
boot-start-marker
boot-end-marker
!
ip cef
!
interface FastEthernet0/0
no ip address
shutdown
duplex auto
speed auto
!
interface FastEthernet0/1
no ip address
shutdown
duplex auto
speed auto
!
interface Serial1/0
ip address 10.20.1.2 255.255.255.252
serial restart-delay 0
!
interface Serial1/1
ip address 20.20.1.1 255.255.255.252
serial restart-delay 0
!
interface Serial1/2
no ip address
shutdown
serial restart-delay 0
!
interface Serial1/3
no ip address
shutdown
serial restart-delay 0
!
router bgp 20
no synchronization
bgp log-neighbor-changes
redistribute connected
neighbor 10.20.1.1 remote-as 10 <—————— BGP neighbor to Customer
neighbor 10.20.1.1 default-originate <————– Sending default route thru BGP
neighbor 10.20.1.1 route-map no-routes out <——- No BGP routes will be sent to Customer
neighbor 20.20.1.2 remote-as 20
no auto-summary
!
ip http server
no ip http secure-server
ip forward-protocol nd
!
route-map no-routes deny 10 <——- No BGP routes will be sent to Customer
!
control-plane
!
line con 0
exec-timeout 0 0
logging synchronous
line aux 0
line vty 0 4
login
!
!
end
[ISP_B PE / ISP Cisco Router]
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname ISP_B
!
boot-start-marker
boot-end-marker
!
ip cef
!
interface FastEthernet0/0
no ip address
shutdown
duplex auto
speed auto
!
interface FastEthernet0/1
no ip address
shutdown
duplex auto
speed auto
!
interface Serial1/0
ip address 10.30.1.2 255.255.255.252
serial restart-delay 0
!
interface Serial1/1
ip address 30.30.1.1 255.255.255.252
serial restart-delay 0
!
interface Serial1/2
no ip address
shutdown
serial restart-delay 0
!
interface Serial1/3
no ip address
shutdown
serial restart-delay 0
!
router bgp 30
no synchronization
bgp log-neighbor-changes
redistribute connected
neighbor 10.30.1.1 remote-as 10 <—————— BGP neighbor to Customer
neighbor 10.30.1.1 default-originate route-map backup-default <—— Sending default route with metric 10
neighbor 10.30.1.1 route-map no-routes out <——- No BGP routes will be sent to Customer
neighbor 30.30.1.2 remote-as 30
no auto-summary
!
ip http server
no ip http secure-server
ip forward-protocol nd
!
route-map no-routes deny 10 <——- No BGP routes will be sent to Customer
!
route-map backup-default permit 10 <—— Sending default route with metric 10
set metric 10
!
control-plane
!
line con 0
exec-timeout 0 0
logging synchronous
line aux 0
line vty 0 4
login
!
end
[Verifing output]
CPE#sh ip bgp nei 10.30.1.2 ro
BGP table version is 9, local router ID is 100.100.100.1
Status codes: s suppressed, d damped, h history, * valid, > best, i – internal,
r RIB-failure, S Stale
Origin codes: i – IGP, e – EGP, ? – incompleteNetwork Next Hop Metric LocPrf Weight Path
* 0.0.0.0 10.30.1.2 10 0 30 iTotal number of prefixes 1
CPE#sh ip bgp nei 10.20.1.2 ro
BGP table version is 9, local router ID is 100.100.100.1
Status codes: s suppressed, d damped, h history, * valid, > best, i – internal,
r RIB-failure, S Stale
Origin codes: i – IGP, e – EGP, ? – incompleteNetwork Next Hop Metric LocPrf Weight Path
*> 0.0.0.0 10.20.1.2 0 0 20 iTotal number of prefixes 1
ISP_B#sh ip bgp 100.100.100.0
BGP routing table entry for 100.100.100.0/24, version 22
Paths: (2 available, best #1, table Default-IP-Routing-Table)
Flag: 0x820
Not advertised to any peer
20 10
20.30.1.1 from 30.30.1.2 (30.50.1.1)
Origin IGP, metric 0, localpref 100, valid, internal, best
10 10 10
10.30.1.1 from 10.30.1.1 (100.100.100.1)
Origin IGP, metric 0, localpref 100, valid, external
ISP_B#
ISP_A#sh ip bgp 100.100.100.0
BGP routing table entry for 100.100.100.0/24, version 21
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Advertised to update-groups:
1
10
10.20.1.1 from 10.20.1.1 (100.100.100.1)
Origin IGP, metric 0, localpref 100, valid, external, best
ISP_A#
TR_B#sh ip bgp 100.100.100.0
BGP routing table entry for 100.100.100.0/24, version 21
Paths: (2 available, best #2, table Default-IP-Routing-Table)
Flag: 0x820
Advertised to update-groups:
1 2
50 20 10
30.50.1.2 from 30.50.1.2 (30.50.1.2)
Origin IGP, localpref 100, valid, external
20 10
20.30.1.1 from 20.30.1.1 (20.50.1.1)
Origin IGP, localpref 100, valid, external, best
TR_B#
TR_A#sh ip bgp 100.100.100.0
BGP routing table entry for 100.100.100.0/24, version 19
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Flag: 0x820
Advertised to update-groups:
1
10
10.20.1.1 from 20.20.1.1 (20.20.1.1)
Origin IGP, metric 0, localpref 100, valid, internal, best
TR_A#
Internet#sh ip bgp 100.100.100.0
BGP routing table entry for 100.100.100.0/24, version 22
Paths: (2 available, best #1, table Default-IP-Routing-Table)
Advertised to update-groups:
1
20 10
20.50.1.1 from 20.50.1.1 (20.50.1.1)
Origin IGP, localpref 100, valid, external, best
30 20 10
30.50.1.1 from 30.50.1.1 (30.50.1.1)
Origin IGP, localpref 100, valid, external
Internet#
Internet#tr 100.100.100.2
Type escape sequence to abort.
Tracing the route to 100.100.100.21 20.50.1.1 48 msec 40 msec 16 msec
2 20.20.1.1 [AS 20] 16 msec 32 msec 44 msec
3 10.20.1.1 [AS 20] 24 msec 96 msec 28 msec
4 100.100.100.2 [AS 10] 52 msec 96 msec *
Internet#
[Dynamips testing]
Download and test it yourself with below Dynamips configuration files.
If you have any questions, feel free to send email us at [email protected]. If you are looking for professional grade service, you might want to try our "BGP experts service". What is "BGP Experts service"? Click "BGP Experts" from the top menu option. You will find out what the "BGP Experts" and what we are doing here for.
Recent Comments