利用BGP路由的Community属性实现流量分担
1、首先来介绍下网络拓扑图:路由器r1、r2、r3属于 AS 100并且内部运行ospf协议。r4属于AS 200。r5、6、7属于AS 300并且内部运行ospf协议。
本例中a路径:1.1.1.1 访问172.16.10.1 走 r1-r2-r4-r5-r7。b路径:1.1.1.1 访问172.16.20.1 走路径r1-r3-r4-r6-r7。介绍完拓扑图后接下来将为大家依次介绍每个路由器的配置!
2、路由器r1的核心配置:
#
interface GigabitEthernet0/0/0
ip address 10.0.12.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.13.1 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
interface LoopBack10
ip address 192.168.10.1 255.255.255.0
#
interface LoopBack20
ip address 192.168.20.1 255.255.255.0
#
bgp 100
router-id 1.1.1.1
peer 10.0.12.2 as-number 100
peer 10.0.13.3 as-number 100
#
ipv4-family unicast
undo synchronization
network 1.1.1.1 255.255.255.255
network 192.168.10.0
network 192.168.20.0
peer 10.0.12.2 enable
peer 10.0.13.3 enable
#
ospf 1 router-id 1.1.1.1
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 10.0.12.0 0.0.0.255
network 10.0.13.0 0.0.0.255
#
3、路由器r2的核心配置:
#
interface GigabitEthernet0/0/0
ip address 10.0.12.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.24.2 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
#
bgp 100
router-id 2.2.2.2
peer 10.0.12.1 as-number 100
peer 10.0.24.4 as-number 200
#
ipv4-family unicast
undo synchronization
network 2.2.2.2 255.255.255.255
peer 10.0.12.1 enable
peer 10.0.24.4 enable
#
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.0.12.0 0.0.0.255
network 10.0.24.0 0.0.0.255
#
路由器r3的核心配置:
#
interface GigabitEthernet0/0/0
ip address 10.0.34.3 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.13.3 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
#
bgp 100
router-id 3.3.3.3
peer 10.0.13.1 as-number 100
peer 10.0.34.4 as-number 200
#
ipv4-family unicast
undo synchronization
network 3.3.3.3 255.255.255.255
peer 10.0.13.1 enable
peer 10.0.34.4 enable
#
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 10.0.13.0 0.0.0.255
network 10.0.34.0 0.0.0.255
#
4、路由器r4的核心配置:
#
interface GigabitEthernet0/0/0
ip address 10.0.34.4 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.24.4 255.255.255.0
#
interface GigabitEthernet4/0/0
ip address 10.0.46.4 255.255.255.0
#
interface GigabitEthernet4/0/1
ip address 10.0.45.4 255.255.255.0
#
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
#
bgp 200
router-id 4.4.4.4
peer 10.0.24.2 as-number 100
peer 10.0.34.3 as-number 100
peer 10.0.45.5 as-number 300
peer 10.0.46.6 as-number 300
#
ipv4-family unicast
undo synchronization
network 4.4.4.4 255.255.255.255
peer 10.0.24.2 enable
peer 10.0.24.2 route-policy med10 export
peer 10.0.24.2 advertise-community
peer 10.0.34.3 enable
peer 10.0.34.3 route-policy med20 export
peer 10.0.34.3 advertise-community
peer 10.0.45.5 enable
peer 10.0.45.5 route-policy 10 import
peer 10.0.46.6 enable
peer 10.0.46.6 route-policy 10 import
#
route-policy 10 permit node 10
if-match community-filter 10
apply ip-address next-hop 10.0.45.5
#
route-policy 10 permit node 20
if-match community-filter 20
apply ip-address next-hop 10.0.46.6
#
route-policy med10 permit node 10
if-match community-filter 10
apply cost 100
#
route-policy med10 permit node 20
if-match community-filter 20
apply cost 200
#
route-policy med20 permit node 10
if-match community-filter 20
apply cost 100
#
route-policy med20 permit node 20
if-match community-filter 10
apply cost 200
#
ip community-filter 10 permit 300:100
ip community-filter 20 permit 300:200
#
5、路由器r5核心配置:
#
interface GigabitEthernet0/0/1
ip address 10.0.45.5 255.255.255.0
#
interface GigabitEthernet0/0/2
ip address 10.0.57.5 255.255.255.0
#
interface NULL0
#
interface LoopBack0
ip address 5.5.5.5 255.255.255.255
#
bgp 300
router-id 5.5.5.5
peer 10.0.45.4 as-number 200
peer 10.0.57.7 as-number 300
#
ipv4-family unicast
undo synchronization
network 5.5.5.5 255.255.255.255
peer 10.0.45.4 enable
peer 10.0.45.4 advertise-community
peer 10.0.57.7 enable
#
ospf 1 router-id 5.5.5.5
area 0.0.0.0
network 5.5.5.5 0.0.0.0
network 10.0.45.0 0.0.0.255
network 10.0.57.0 0.0.0.255
#
路由器r6核心配置:
#
interface GigabitEthernet0/0/0
ip address 10.0.46.6 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.67.6 255.255.255.0
#
interface LoopBack0
ip address 6.6.6.6 255.255.255.255
#
bgp 300
router-id 6.6.6.6
peer 10.0.46.4 as-number 200
peer 10.0.67.7 as-number 300
#
ipv4-family unicast
undo synchronization
network 6.6.6.6 255.255.255.255
peer 10.0.46.4 enable
peer 10.0.46.4 advertise-community
peer 10.0.67.7 enable
#
ospf 1 router-id 6.6.6.6
area 0.0.0.0
network 6.6.6.6 0.0.0.0
network 10.0.46.0 0.0.0.255
network 10.0.67.0 0.0.0.255
#
6、路由器r7核心配置:
#
interface GigabitEthernet0/0/1
ip address 10.0.67.7 255.255.255.0
#
interface GigabitEthernet0/0/2
ip address 10.0.57.7 255.255.255.0
#
interface NULL0
#
interface LoopBack0
ip address 7.7.7.7 255.255.255.255
#
interface LoopBack10
ip address 172.16.10.1 255.255.255.0
#
interface LoopBack20
ip address 172.16.20.1 255.255.255.0
#
bgp 300
router-id 7.7.7.7
peer 10.0.57.5 as-number 300
peer 10.0.67.6 as-number 300
#
ipv4-family unicast
undo synchronization
network 7.7.7.7 255.255.255.255
network 172.16.10.0 255.255.255.0 route-policy com10
network 172.16.20.0 255.255.255.0 route-policy com20
peer 10.0.57.5 enable
peer 10.0.57.5 advertise-community
peer 10.0.67.6 enable
peer 10.0.67.6 advertise-community
#
ospf 1 router-id 7.7.7.7
area 0.0.0.0
network 7.7.7.7 0.0.0.0
network 10.0.57.0 0.0.0.255
network 10.0.67.0 0.0.0.255
#
route-policy com10 permit node 10
apply community 300:100
#
route-policy com20 permit node 10
apply community 300:200
#
7、配置好所有设备后我们在r4上查看172.16.10.0和172.16.20.0网段的community值:
<ar4>dis bgp routing-table 172.16.10.1
BGP local router ID : 4.4.4.4
Local AS number : 200
Paths: 2 available, 1 best, 1 select
BGP routing table entry information of 172.16.10.0/24:
From: 10.0.45.5 (5.5.5.5)
Route Duration: 01h13m49s
Direct Out-interface: GigabitEthernet4/0/1
Original nexthop: 10.0.45.5
Qos information : 0x0
Community:<300:100>
AS-path 300, origin igp, pref-val 0, valid, external, best, select, active, pre
255
Advertised to such 4 peers:
10.0.45.5
10.0.46.6
10.0.24.2
10.0.34.3
BGP routing table entry information of 172.16.10.0/24:
From: 10.0.46.6 (6.6.6.6)
Route Duration: 01h13m39s
Relay IP Nexthop: 0.0.0.0
Relay IP Out-Interface: GigabitEthernet4/0/1
Original nexthop: 10.0.45.5
Qos information : 0x0
Community:<300:100>
通过上面输出的信息可以看到172.16.10.1的Community属性值是<300:100>!
8、最后我们在r1上使用tracert命令查看路径是否如我们所设置的那样:
<ar1>tracert -a 1.1.1.1 172.16.10.1
traceroute to 172.16.10.1(172.16.10.1), max hops: 30 ,packet length: 40,press
CTRL_C to break
1 10.0.12.2 20 ms 20 ms 20 ms
2 10.0.24.4 20 ms 30 ms 30 ms
3 10.0.45.5 30 ms 30 ms 30 ms
4 10.0.57.7 30 ms 40 ms 40 ms
<ar1>tr
<ar1>tracert -a 1.1.1.1 172.16.20.1
traceroute to 172.16.20.1(172.16.20.1), max hops: 30 ,packet length: 40,press
CTRL_C to break
1 10.0.13.3 20 ms 20 ms 20 ms
2 10.0.34.4 20 ms 30 ms 20 ms
3 10.0.46.6 30 ms 30 ms 40 ms
4 10.0.67.7 30 ms 20 ms 30 ms
输出结果与路由器的输出结果路线均正确,配置成功!