昨天学习了Preferred-Value属性对于选路的影响,今天继续学习第二条原则。
一、优选Local_Preference属性值最大的路由
在Preferred-Value属性
相同的情况下比较Local_Preference本地优先级
,值越大越优。Local_Preference只在AS内部IBGP间传递时有效。
以上图为例,R4、R5通告路由给R2和R3不会携带Local_Preference属性,因为它们是EBGP对等体。然后R2学习到路由,通告给R1时会打上自己的默认本地优先级100。
R1从R2、R3学习到的Local_Preference默认都为100,在保证第一条选路规则相同的情况下可以通过修改Local_Preference的大小让R1从指定路径转发路由。
修改Local_Preference
的方式有两种:
-
在BGP视图通过 default local-preference
修改所有从自身通告的路由的本地优先级 -
通过路由策略的方式,指定通告给IBGP对等体时的Local_Preference的大小
1.1 修改默认本地优先级
修改本地优先级在自己的BGP视图修改也就是进行路由通告的路由器上修改,也就是在AR3、AR2上修改,然后它们通告给AR1时就会是修改后的本地优先级了。
修改AR3的本地优先级为200时AR1优先从AR3转发路由。
# 进入BGP视图
bgp 100
peer 1.1.1.1 as-number 100
peer 1.1.1.1 connect-interface LoopBack0
peer 2.2.2.2 as-number 100
peer 2.2.2.2 connect-interface LoopBack0
peer 10.1.35.5 as-number 300
#
ipv4-family unicast
undo synchronization
default local-preference 200 # 修改默认的本地优先级,对所有IBGP通告路由本地优先级都为200,影响较大
peer 1.1.1.1 enable
peer 1.1.1.1 next-hop-local
peer 2.2.2.2 enable
peer 10.1.35.5 enable
AR1上查看BGP路由:
通过修改本地默认的优先级对所有IBGP对等体生效。
1.2 通过路由策略修改Local_Preference
在AR3上通过路由策略匹配前缀列表,然后在AR3通告给AR1时设置本地优先级为300,时AR1优先从AR3转发路由。
# 配置前缀列表匹配到指定的路由
ip ip-prefix 1 index 10 permit 192.168.1.0 24
# 配置路由策略,节点10匹配前缀列表设置本地优先级,节点20允许所有
route-policy 1 permit node 10
if-match ip-prefix 1
apply local-preference 300
#
route-policy 1 permit node 20
# 在BGP视图应用路由策略
bgp 100
peer 1.1.1.1 as-number 100
peer 1.1.1.1 connect-interface LoopBack0
peer 2.2.2.2 as-number 100
peer 2.2.2.2 connect-interface LoopBack0
peer 10.1.35.5 as-number 300
#
ipv4-family unicast
undo synchronization
peer 1.1.1.1 enable
peer 1.1.1.1 route-policy 1 export # 在向AR1通告路由时调用路由策略
peer 1.1.1.1 next-hop-local
peer 2.2.2.2 enable
peer 10.1.35.5 enable
AR1上查看效果:
[AR1]dis bgp routing-table
BGP Local router ID is 1.1.1.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 2
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 192.168.1.0 3.3.3.3 0 300 0 300i
* i 2.2.2.2 0 100 0 200i
# 查看路由详细信息
[AR1]dis bgp routing-table 192.168.1.0
BGP local router ID : 1.1.1.1
Local AS number : 100
Paths: 2 available, 1 best, 1 select
BGP routing table entry information of 192.168.1.0/24:
From: 3.3.3.3 (3.3.3.3)
Route Duration: 00h04m03s
Relay IP Nexthop: 10.1.13.3
Relay IP Out-Interface: GigabitEthernet0/0/1
Original nexthop: 3.3.3.3
Qos information : 0x0
AS-path 300, origin igp, MED 0, localpref 300, pref-val 0, valid, internal, bes
t, select, active, pre 255, IGP cost 1
Not advertised to any peer yet
BGP routing table entry information of 192.168.1.0/24:
From: 2.2.2.2 (2.2.2.2)
Route Duration: 01h20m02s
Relay IP Nexthop: 10.1.12.2
Relay IP Out-Interface: GigabitEthernet0/0/0
Original nexthop: 2.2.2.2
Qos information : 0x0
AS-path 200, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, pre
255, IGP cost 1, not preferred for Local_Pref
Not advertised to any peer yet
通过路由策略的方式可以更加针对特定路由条目和对等体进行设置。
总结:在下一跳可达、相同Preferred-Value的情况下将会比较Local_Preference,本地优先级越大越优先,本地优先级只在AS内部有效,只会通告给IBGP邻居。可以通过修改本地默认优先级或路由策略来进行修改。
如果对文章感兴趣欢迎微信搜索公众号:不喜欢热闹的孩子
本文由 mdnice 多平台发布