以下是本篇文章正文内容,下面案例可供参考
如图所示,AS 300内有两个用户网段,AS 100内用户访问这两个网段时,希望在 R2和R3上实现流量分担。AS 200访问这两个网段时,希望在R5和R6上实现流量分担。请用尽可能多的方法来实现上述需求。
首先配置好基本配置,邻居关系,给两条用户网段添加社团属性并传播。
思路:在R4上边的右侧入口和左侧出口处,抓100.0.0.0/24网段路由,修改起源属性为?
在R4下边的右侧入口和左侧出口处,抓200.0.0.0/24网段路由,修改起源属性为?
起源属性:i>?
试一下:
刚开始,像R1去100网段其实走上的,并不符合要求
验证结果发现是可以的,在R4上做策略如下:
#
ip community-filter advanced yibai permit 300:100 //抓路由
ip community-filter advanced erbai permit 300:200
#
route-policy yibai permit node 10
if-match community-filter yibai
apply origin incomplete
#
route-policy yibai permit node 20
#
route-policy erbai permit node 10
if-match community-filter erbai
apply origin incomplete
#
route-policy erbai permit node 20
#
bgp200
peer 24.1.1.1 route-policy yibai export
peer 24.1.1.1 advertise-community
peer 34.1.1.1 route-policy erbai export
peer 34.1.1.1 advertise-community
peer 45.1.1.2 route-policy yibai import
peer 34.1.1.1 advertise-community
peer 46.1.1.2 route-policy erbai import
#
做完可以看下R4,R1的bgp路由表
第一个就测试一下:后边的就不粘贴图了
思路:在R5向R4发100路由时,多加一个AS 300,导致R4选下边去100;R6同理。
R4向R2发100时,多加一个AS 200;同理R4去R3。
[R5]ip community-filter advanced yibai permit 300:100
#
route-policy yibai permit node 10
if-match community-filter yibai
apply as-path 300 additive
#
route-policy yibai permit node 20
#
[R5-bgp]peer 45.1.1.1 route-policy yibai export
思路:这个搞了半天不太行,好像找不到命令,再搞搞,补
思路:在R2上抓取100的路由降低其本地优先级,策略配置在入接口上,使得R1去往100走R3,同理在R3上入接口抓取200的路由降低其本地优先级,使得R1去往200走R2。在R4上抓取100的路由降低其优先级,策略配置在去R5的入接口上,同理R6。
R2配置
#
ip community-filter advanced yibai permit 300:100
#
route-policy yibai permit node 10
if-match community-filter yibai
apply local-preference 90
#
bgp 100
peer 24.1.1.2 route-policy yibai import
#
R3配置
#
ip community-filter advanced erbai permit 300:200
#
route-policy loc_perf permit node 10
if-match community-filter erbai
apply local-preference 90
#
bgp 100
peer 34.1.1.2 route-policy loc_perf import
#
R4略
这个思路是错的,由于第一次只做了右边没有具体配左边,所以导致的错误(留在这里警示自己,正确的在下面)
思路:在这几个出向接口上做策略,比如在R5出口抓到100路由,增大其MED(cost)值,使得R4去往100时选择R6,同R6,R2,R3。
R5配置,其它略
#
ip community-filter advanced yibai permit 300:100
#
route-policy yibai permit node 10
if-match community-filter yibai
apply cost 100
#
route-policy yibai permit node 20
#
bgp 300
peer 45.1.1.1 route-policy yibai export
#
最后想到上面这个做法不对,并验证了一下:左边不应该在R2和R3的出接口上做MED,否则会出现下面的情况,我仅在R2上修改了100路由的COST值,R1整体去R2的MED就都变了,应该在R4上做(MED用在AS与AS之间)
在R4上修改cost值后,传到R2上之后,R2会将携带MED的属性发给它的直连邻居R1,属性不会再传到R3,并且R1不会传递给R3。
为此,我给R2和R3建了个邻居,发现属性可以传给R3。
思路:在R1上抓取100的路由,修改本属性为100,策略实施在和R3连接的入接口上,值越大就走哪个,同理其它几个。
R1关于100路由配置
#
ip community-filter advanced yibai permit 300:100
#
route-policy yibai permit node 10
if-match community-filter yibai
apply preferred-value 100
#
route-policy yibai permit node 20
#
bgp 100
peer 3.3.3.3 route-policy yibai import
#