示例图
1.从下到上配置BGP路由选择规则
以下规则,优先级,越来越低
规则1:如果此路由的下一跳不可达,则忽略此路由
规则2:优选preferred-vlue最大的
规则3:优选local-preference最大的
规则4:优选本地生成(比较路由协议的优先级,直连的优先级最高)
规则5: 优选AS-Path最短的
规则6:起源属性
规则7:优选MED最小的
规则8:邻居类型影响选路EBGP>IBGP
规则9:优选IGP 下一跳开销比较小的(优选去往目的地址的下一跳的开
销值小的)对于EBGP来说,由于两者之间没有IGP路由协议,无法
修改cost
@规则10:优选Cluster_list最短的路由
规则11:优选originator_ID或Router ID最小的路由器发布的路由
@规则12:优选从对等体IP address较小的学习的路由
1.如果路由没有本地优先级,BGP选路时,将该路由按照缺省的本地优先级100处理
2.可以通过default local-preference 来修改缺省的优先级
sysname AR1
#
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 LoopBack0
ip address 1.1.1.1 255.255.255.255
#
bgp 100
router-id 1.1.1.1
peer 10.0.12.2 as-number 200
peer 10.0.13.3 as-number 200
#
ipv4-family unicast
peer 10.0.12.2 enable
peer 10.0.13.3 enable
#
return
sysname AR2
#
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 LoopBack0
ip address 2.2.2.2 255.255.255.255
#
bgp 200
router-id 2.2.2.2
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface LoopBack0
peer 10.0.12.1 as-number 100
#
ipv4-family unicast
peer 4.4.4.4 next-hop-local
peer 4.4.4.4 enable
peer 10.0.12.1 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.24.2 0.0.0.0
#
return
sysname AR3
#
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 LoopBack0
ip address 3.3.3.3 255.255.255.255
#
bgp 200
router-id 3.3.3.3
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface LoopBack0
peer 10.0.13.1 as-number 100
#
ipv4-family unicast
peer 4.4.4.4 next-hop-local
peer 4.4.4.4 enable
peer 10.0.13.1 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.34.3 0.0.0.0
#
return
sysname AR4
#
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 GigabitEthernet2/0/0
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 2.2.2.2 as-number 200
peer 2.2.2.2 connect-interface LoopBack0
peer 3.3.3.3 as-number 200
peer 3.3.3.3 connect-interface LoopBack0
peer 5.5.5.5 as-number 200
peer 5.5.5.5 connect-interface LoopBack0
#
ipv4-family unicast
peer 2.2.2.2 enable
peer 3.3.3.3 enable
peer 5.5.5.5 enable
#
ospf 1 router-id 4.4.4.4
area 0.0.0.0
network 4.4.4.4 0.0.0.0
network 10.0.24.4 0.0.0.0
network 10.0.34.4 0.0.0.0
network 10.0.45.4 0.0.0.0
#
return
sysname AR5
#
interface GigabitEthernet0/0/0
ip address 10.0.45.5 255.255.255.0
#
interface LoopBack0
ip address 5.5.5.5 255.255.255.255
#
bgp 200
router-id 5.5.5.5
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface LoopBack0
#
ipv4-family unicast
peer 4.4.4.4 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.5 0.0.0.0
#
return
优选从对等体IP address较小的学习的路由
优选originator_ID或Router ID最小的路由器发布的路由
在AR1上引入一条已经存在的路由
bgp 100
#
network 1.1.1.1 255.255.255.255
#
观察AR4的bgp routing-table,发现Router ID最小的是最优的
优选Cluster_list最短的路由
优选IGP 下一跳开销比较小的(优选去往目的地址的下一跳的开销值小的)
对于EBGP邻居来说,由于两者之间没有IGP路由协议,无法修改cost
AR4
interface GigabitEthernet0/0/1
ospf cost 100
观察AR的bgp routing table,发现下一条为2.2.2.2的不是最优了
邻居类型影响选路EBGP>IBGP
在AR4上添加配置
#
loopback 1 1.1.1.1 32
#
bgp 200
network 1.1.1.1 255.255.255.255
//在AR2上配置路由策略,把AS_PATH变成一致
#
acl number 2000
rule 5 permit source 1.1.1.1 0
//配置一个条件
#
bgp 200
peer 4.4.4.4 route-policy AS_PATH import
//接收这个邻居发送的路由时,检查路由策略是否匹配
#
route-policy AS_PATH permit node 10
//创建一个路由策略
if-match acl 2000
//关联ACL2000
apply as-path 100 additive
//对匹配到ACL的路由添加一个新的AS_PATH路径
route-policy AS_PATH permit node 20
观察AR2的BGP路由表发现,下一跳为10.0.12.1的最优了
观察AR2的BGP routing-table,发现IGBP发现的路由的优先级大于EBGP发现的
优选 MED最小的
在AR3上配置路由策略关联ACL应用到邻居
#
acl number 2000
rule 5 permit source 1.1.1.1 0
//匹配1.1.1.1这条路由
#
route-policy MED permit node 10
//创建一个允许的路由策略节点为10
if-match acl 2000
//关联ACL 2000
apply cost 100
//对匹配到的if-match的动作
route-policy MED permit node 20
//对没有匹配到节点10的,通通匹配节点20
#
bgp 200
peer 4.4.4.4 route-policy MED export
//对这个邻居发布路由时,查看路由策略
观察AR4的bgp routing-table路由表,发现下一跳为3.3.3.3的MED为100,不是最优了
起源属性影响选路
在AR2上配置路由策略关联ACL应用到邻居
#
acl number 2000
rule 5 permit source 1.1.1.1 0
//匹配1.1.1.1这条路由
#
route-policy org permit node 10
if-match acl 2000
//关联ACL 2000
apply origin incomplete
//修改符合条件的路由的起源属性
route-policy org permit node 20
//创建一个允许通过的节点,默认拒绝所有
#
bgp 200
peer 4.4.4.4 route-policy org export
//对这个邻居发布路由时,查看路由策略
#
观察AR4的路由表,发现下一跳为2.2.2.2的ogn属性变成了?,不是最优了
优选AS-Path最短的
在AR3上配置路由策略关联ACL应用到邻居
#
acl number 2000
rule 5 permit source 1.1.1.1 0
//创建个条件
#
route-policy AS-PATH permit node 10
if-match acl 2000
//关联ACL
apply as-path 100 100 additive
//为匹配到的ACL添加的属性
route-policy AS-PATH permit node 20
//允许匹配不到节点10的通通匹配节点20
#
bgp 200
peer 4.4.4.4 route-policy AS-PATH export
//对这个邻居发布路由时,查看路由策略
#
观察AR4的路由表,发现下一跳为2.2.2.2的变成最优的了
优选本地生成(比较路由协议的优先级,直连的优先级最高)
在AR2/AR4上添加配置
#
interface LoopBack1
ip address 1.1.1.1 255.255.255.255
#
bgp 200
network 1.1.1.1 32
#
观察BGP路由表发现,最优的下一跳变成了 0.0.0.0
优选local-preference最大的
在AR2上配置路由策略关联ACL应用到邻居
#
acl number 2000
rule 5 permit source 1.1.1.1 0
//创建一个条件
#
route-policy local_pre permit node 10
if-match acl 2000
//关联ACL
apply local-preference 90
//匹配到此ACL后的动作
#
bgp200
peer 4.4.4.4 route-policy local_pre export
//对这个邻居发布路由时,查看路由策略
#
观察AR4的BGP routing-table,发现下一跳为3.3.3.3的变成最优的了
优选preferred-value值最大的
在AR2上配置路由策略关联ACL应用到邻居
#
acl number 2000
rule 5 permit source 1.1.1.1 0
//创建一个条件
#
route-policy pre_value permit node 10
if-match acl 2000
//关联ACl
apply preferred-value 2
//对于匹配到ACl,应用的动作
route-policy pre_value permit node 2
//对于没有匹配到节点10的,都匹配节点20
#
bgp 200
peer 2.2.2.2 route-policy pre_value import
//对这个邻居发布路由时,查看路由策略
#
观察AR4的BGP routing-table发现,下一跳为2.2.2.2的变成最优了
如果此路由的下一跳不可达,则忽略此路由