B模块 安全通信网络 第二门课 核心网路由技术-2-BGP属性-选路原则-路由优选

今日目标

  1. BGP路径属性
  2. 路由优选之Next_Hop
  3. 路由优选之Local_pref
  4. 路由优选之AS_Path
  5. 路由优选之Origin
  6. 路由优选之MED

1. BGP路径属性

  • 路径属性
    任何一条BGP路由都拥有多个路径属性。
    当路由器将BGP路由通告给邻居时,会携带路径属性。
    BGP的路径属性将影响路由优选。
  • BGP路径属性分类
  • 公认属性是所有BGP路由器都必须能够识别的属性
    公认必遵:必须包括在每个Update消息里。
    公认任意:可能包括在某些Update消息里。
  • 可选属性不需要都被BGP路由器所识别
    可选过渡:BGP设备不识别此类属性依然会接受该类属性并通告给其他对等体。
    可选非过渡:BGP设备不识别此类属性会忽略该属性,且不会通告给其他对等体。
  • 常用属性
    Next_hop:下一跳属性
    Local_Preference:本地优先级属性
    AS Path:AS路径属性
    Origin:起源属性
    MED:多出口鉴别器属性

2. 路由优选之Next_Hop

Next_Hop

  • BGP路由中的Next_Hop属性设置规则:
    BGP路由器在向EBGP邻居发布路由时,会把该路由的下一跳设置为本地与对端建立BGP邻居关系的接口地址。
    BGP路由器将本地始发路由发布给BGP邻居时,会把该路由的下一跳设置为本地与对端建立BGP邻居关系的接口地址。
    路由器在收到EBGP邻居发布的路由后,在将路由传递给自己的BGP邻居时,默认不修改路由的下一跳地址。

下一跳不可达实验

  • 建立IBGP和EBGP邻居

实验需求

  • 实验需求
    R1/R2/R3属于AS100,R4属于AS200
    AS100内运行OSPF,将所有环回接口宣告进OSPF区域0
    R1/R2/R3之间使用环回口建立IBGP邻居关系
    R2和R3分别与R4使用直连口建立EBGP邻居关系
    将R4的环回接口网段注入BGP路由表

配置步骤

  • 配置步骤
    配置OSPF
    配置EBGP邻居
    配置IBGP邻居
    注入路由

BGP配置命令

  • R1配置
bash 复制代码
[R1]bgp 100
[R1-bgp]router-id 1.1.1.1
[R1-bgp]peer 10.10.2.2 as-number 100
[R1-bgp]peer 10.10.2.2 connect-interface loopback 0
[R1-bgp]peer 10.10.3.3 as-number 100
[R1-bgp]peer 10.10.3.3 connect-interface loopback 0
  • R2配置
bash 复制代码
[R2]bgp 100
[R2-bgp]router-id 2.2.2.2
[R2-bgp]peer 10.10.1.1 as-number 100
[R2-bgp]peer 10.10.1.1 connect-interface loopback 0
[R2-bgp]peer 192.168.24.4 as-number 200
  • R3配置
bash 复制代码
[R3]bgp 100
[R3-bgp]router-id 3.3.3.3
[R3-bgp]peer 10.10.1.1 as-number 100
[R3-bgp]peer 10.10.1.1 connect-interface loopback 0
[R3-bgp]peer 192.168.34.4 as-number 200
  • R4配置
bash 复制代码
[R4]bgp 200
[R4-bgp]router-id 4.4.4.4
[R4-bgp]peer 192.168.24.2 as-number 100
[R4-bgp]peer 192.168.34.3 as-number 100
[R4-bgp]network 10.10.4.4 32
  • 验证与测试
bash 复制代码
dis ospf peer brief              查看ospf邻居
dis bgp peer                     查看bgp邻居关系
dis bgp routing-table            查看BGP路由表

查看BGP路由表

  • 在R1中验证BGP路由
  • 在R1的IP核心路由表去验证,发现R1没有去往10.10.4.4的路由
bash 复制代码
[R1]display ip routing-table 10.10.4.4
  • 为什么不是最优路由
  • 问题原因:
    在R1中,学习到两条去往10.10.4.4/32的路由,分别是R2和R3通告给R1的。
    但是这两条路由都是无效的,为什么,因为下一跳不可达,所以目的地址也不可达,所以R1认为这两条路由无效。
    那么为什么下一跳不可达呢?因为R2和R3在从外部邻居R4哪里学来路由,在传递给自己的内部邻居R1时,默认不会修改路由的下一跳。

解决方案

  • 如何解决
    需要在R2和R3在给R1传递路由的时候修改下一跳
bash 复制代码
# R2的配置:
[R2]bgp 100
[R2-bgp]peer 10.10.1.1 next-hop-local
# R3的配置:
[R3]bgp 100
[R3-bgp]peer 10.10.1.1 next-hop-local
  1. 路由优选之Local_pref

本地优先级

  • Local Preference属性
    本地优先级属性,默认是100,数值越大越好
    该属性能在AS内部任意传递(IBGP邻居之间传递)
    该属性不能在AS之间传递(EBGP邻居之间不携带这个属性)
    在AS内的BGP邻居之间,出方向和入方向都可以修改该属性

本地优先级实验

  • 让R1优先选R3传递的BGP路由10.10.4.4/32

路由策略

  • 路由策略
    定义:路由过滤和路由属性设置,通过改变路由属性,来改变网络流量所经过
    作用:控制路由发布、控制路由的接收、过滤引入的路由、设置路由属性
  • Route-Policy
    一个Route-Policy由l个或多个节点构成
    每个节点又分为:If-match子句和Apply子句
    If-match子句:定义匹配规则,匹配路由信息的属性
    Appy子句:对路由的一些属性进行修改

地址前缀列表

  • 地址前缀列表
    定义:地址前缀列表是一种包含一组路由信息过滤规则的过滤器
    作用:路由信息过滤器,用来过滤路由信息
    地址前缀列表可以依据掩码长度和掩码范围对路由信息进行过滤
  • 地址前缀匹配规则
    一个列表中可以创建多个索引项,每个索引对应一条过滤规则
    待过滤的路由按照索引号从小到大的顺序进行匹配
    当路由匹配上索引项时,如果动作是Permit,则这条路由被允许通过
    当路由匹配上索引项时,如果该索引项是Dey,则这条路由被拒绝通过
    当遍历了列表中的所有索引项,都没有匹配上,那么这条路由就被拒绝通过
    匹配规则总结:顺序匹配、唯一匹配、默认拒绝

BGP配置命令

  • R3配置
bash 复制代码
# 第一步:在R3创建ip-prefix抓取10.10.4.4的路由
[R3 ip ip-prefix ntd index 10 permit 10.10.4.4 32

# 第二步:在R3创建路由策略,匹配地址前缀列表,修改路由的属性
[R3]route-policy tedu permit node 10                       # 创建路由策略
[R3-route-policy]if-match ip-prefix ntd                    # 匹配ip-prefix ntd
[R3-route-policy]apply local-preference 200                # 本地优先级设置为200

# 第三步:在R3的BGP中调用路由策略
[R3]bgp 100
[R3-bgp]peer 10.l0.1.1 route-policy tedu export            # 出方向调用路由策略

验证与测试

  • 在R1测试
bash 复制代码
<R1>display bgp routing-table

小结

  • 本地优先级属性默认在IBGP间传递,不在EBGP间传递
  • 本地优先级属性默认值100,数值越大越优先
  • 在AS内的IBGP邻居之间,出和入方向都可以修改该属性

4. 路由优选之AS_Path

AS-Path

  • AS-Path
    AS-Path属性按顺序记录一条路由从源地址到目的地址所经过的AS编号。
    AS-Path属性为公认必遵属性,任何一个BGP路由,都必须携带这个属性。
    AS-Path属性能防止EBGP邻居之间的环路,还可以做路由优选。
    最右侧的为起源AS号,最左侧的为邻居的AS号-AS-path属性
    AS号越短越优先(经过的AS号越少越优先)

AS-PATH实验

  • 实验需求
  • 让R1优选R3传递的BGP路由10.10.4.4/32

BGP配置命令

  • R2 配置
bash 复制代码
# 第一步:删除R3的路由策略配置,恢复默认
# 第二步:在R2创建ip-prefix抓取10.10.4.4的路由
[R2] ip ip-prefix ntd index 10 permit 10.10.4.4 32

# 第三步:在R2创建路由策略,匹配地址前缀列表,修改路由的属性
[R2]route-policy tedu permit node 10      # 创建路由策略
[R2-route-policy]if-match ip-prefix ntd    # 匹配ip-prefix ntd
[R2-route-policy]apply as-path 200 200 additive      # 修改路由的属性,添加As号

# 第四步:在R2中的BGP中调用路由策略
[R2]bgp 100
[R2-bgp]peer 10.l0.1.1 route-policy tedu export      # 出方向调用路由策略

验证与测试

  • 在R1测试
bash 复制代码
<R1>display bgp routing-table
<R1>display ip routing-table

小结

  • AS-Path属性为公认必遵属性,任何一个BGP路由,都必须携带这个属性。
  • AS-Path属性能防止EBGP邻居之间的环路,还可以做路由优选。
  • AS号越短越优先(经过的AS号越少越优先)

5. 路由优选之Origin

起源属性

  • Origin属性
    该属性是公认必遵属性,任何一个BGP路由,必须携带的属性
    该属性分为三种,优先级依次降低:i > e > ?
    在BGP协议中,通过network命令引入的命令,起源属性默认是i
    在BGP协议中,通过im port-route命令引入的,起源属性默认是?

Origin实验

  • 实验需求
  • 让R1优选R3传递的BGP路由

BGP配置命令

  • R2配置
bash 复制代码
# 第一步:删除R2的上一实验配置,恢复默认
# 第二步:创建地址前缀列表
[R2]ip ip-prefix ntd permit 10.10.4.4 32
# 第三步:创建路由策略,匹配地址前缀列表,修改路由的属性
[R2]route-policy tedu permit node 10
[R2-route-policy]if-match ip-prefix ntd
[R2-route-policy]applyorigin incomplete               # 修改路由的起源属性
# 第四步:BGP中调用路由策略
[R2]bgp 100
[R2-bgp]peer 10.l0.1.1 route-policy tedu export       # 在出方向调用路由策略

验证与测试

  • 在R1测试
bash 复制代码
<R1>display bgp routing-table
<R1>display ip routing-table

小结

  • 该属性是公认必遵属性,BGP路由中必须携带
  • 通过network命令引入的命令,起源属性是i
  • 通过import-route命令引入的,起源属性是?

6. 路由优选之MED

多出口鉴别器

  • MED值属性
    开销值属性,叫多出口鉴别器,是可选非过渡属性
    默认值为0,值越小越优先
    作用于两个AS之间,收到MED属性的AS,默认不将这个属性通告给第三方AS
    用于判断流量进入AS时的最佳路由

MED实验

  • 实验需求
  • 让R1优选R3传递的BGP路由10.10.4.4/32

BGP配置命令

  • R2配置
bash 复制代码
# 第一步:删除R2的上一实验配置,恢复默认
# 第二步:创建地址前缀列表
[R2]ip ip-prefix ntd permit 10.10.4.4 32

# 第三步:创建路由策略,匹配地址前缀列表,修改路由的属性
[R2]route-policy tedu permit node 10
[R2-route-policy]if-match ip-prefix ntd
[R2-route-policy]apply cost 999       # 修改路由的MED属性值为999

# 第四步:在BGP中调用路由策略
[R2]bgp 100
[R2-bgp]peer 10.10.1.1 route-policy tedu export

验证与测试

  • 在R1测试
bash 复制代码
 <Rl>display bgp routing-table
 <R1>display ip routing-table

小结

  • MED默认值为0,值越小越优先
  • 作用于两个AS之间,收到MED属性的AS,默认不将这个属性通告给第三方AS
  • MED用于判断流量进入AS时的最佳路由

总结

总结 |SUMMARY

  • 下一跳不可达的路由将被丢弃
  • 比较"本地优先级-local_pref"属性,数值越大越好,默认值是100
  • 比较"as-path"属性-as号越短越好
  • 比较 "起源属性"network优于import-route
  • 比较"MED"属性,数值越小越好

配置实例

  • 路由选路之本地优先级
  • 路由选路之本地优先级
  • 路由选路之AS-PATH
  • 路由选路之Origin
  • 路由选路之MED

1 路由选路之本地优先级

1.1 问题

1.2 方案

  • 搭建实验环境,如图所示。

1.3 步骤

实现此案例需要按照如下步骤进行。

1)第一步:基础配置:配置接口IP地址, AS100内部配置OSPF

  • R1的配置:
bash 复制代码
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.12.1 24
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 192.168.13.1 24
[R1-GigabitEthernet0/0/1]int lo0
[R1-LoopBack0]ip add 10.10.1.1 32
[R1-LoopBack0]quit
[R1]ospf 1  router-id 1.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 192.168.13.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.10.1.1 0.0.0.0
  • R2的配置:
bash 复制代码
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip address 192.168.12.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip address 192.168.24.2 24
[R2-GigabitEthernet0/0/1]int lo0
[R2-LoopBack0]ip add 10.10.2.2 32
[R2-LoopBack0]q
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255  
[R2-ospf-1-area-0.0.0.0]network 10.10.2.2 0.0.0.0
  • R3的配置:
bash 复制代码
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 192.168.13.3 24
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 192.168.34.3 24
[R3-GigabitEthernet0/0/1]int lo0
[R3-LoopBack0]ip add 10.10.3.3 32
[R3-LoopBack0]q
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 192.168.13.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 10.10.3.3 0.0.0.0
  • R4的基础配置
bash 复制代码
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 192.168.24.4 24
[R4-GigabitEthernet0/0/0]int g0/0/1
[R4-GigabitEthernet0/0/1]ip add 192.168.34.4 24
[R4-GigabitEthernet0/0/1]int lo0
[R4-LoopBack0]ip add 10.10.4.4 32

2)第二步:配置IBGP和EBGP邻居关系

  • R1的配置:
bash 复制代码
[R1]bgp 100
[R1-bgp]router-id 1.1.1.1
[R1-bgp]peer 10.10.2.2 as 100
[R1-bgp]peer 10.10.2.2 connect-interface LoopBack 0
[R1-bgp]peer 10.10.3.3 as 100  
[R1-bgp]peer 10.10.3.3 connect-interface LoopBack 0
  • R2的配置:
bash 复制代码
[R2]bgp 100
[R2-bgp]router-id 2.2.2.2
[R2-bgp]peer 10.10.1.1 as 100  
[R2-bgp]peer 10.10.1.1 connect-interface LoopBack 0
[R2-bgp]peer 192.168.24.4 as 200
  • R3的配置:
bash 复制代码
[R3]bgp 100
[R3-bgp]router-id 3.3.3.3
[R3-bgp]peer 10.10.1.1 as 100  
[R3-bgp]peer 10.10.1.1 connect-interface LoopBack 0
[R3-bgp]peer 192.168.34.4 as 200
  • R4的配置:
bash 复制代码
[R4]bgp 200
[R4-bgp]router-id 4.4.4.4
[R4-bgp]peer 192.168.24.2 as 100
[R4-bgp]peer 192.168.34.3 as 100
  • 验证邻居关系
bash 复制代码
# R1邻居
<R1>dis bgp peer 
 BGP local router ID : 1.1.1.1
 Local AS number : 100
 Total number of peers : 2		  Peers in established state : 2
  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre        fRcv
  10.10.2.2       4         100        3        4     0 00:01:26      Established         0
  10.10.3.3       4         100        2        4     0 00:00:37      Established         0
  
# R2邻居
<R2>dis bgp peer 
 BGP local router ID : 2.2.2.2
 Local AS number : 100
 Total number of peers : 2		  Peers in established state : 2
  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre        fRcv
  10.10.1.1       4         100        5        5     0 00:03:08      Established        0
  192.168.24.4    4         200        3        4     0 00:01:34      Established        0
  
# R3邻居
<R3>dis bgp peer 
 BGP local router ID : 3.3.3.3
 Local AS number : 100
 Total number of peers : 2		  Peers in established state : 2
  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre        fRcv
  10.10.1.1       4         100        6        6     0 00:04:45      Established        0
  192.168.34.4    4         200        5        6     0 00:03:49      Established        0
    
# R4邻居
<R4>dis bgp peer 
 BGP local router ID : 4.4.4.4
 Local AS number : 200
 Total number of peers : 2		  Peers in established state : 2
  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre        fRcv
  192.168.24.2    4         100        7        6     0 00:05:00      Established        0
  192.168.34.3    4         100        6        6     0 00:04:50      Established        0

3)第三步:在R4中注入路由

  • R4的配置:
bash 复制代码
[R4]bgp 200
[R4-bgp]network 10.10.4.4 32
  • 验证R4和R2和R3的邻居关系,邻居建立成功
bash 复制代码
<R4>dis bgp peer 
 BGP local router ID : 4.4.4.4
 Local AS number : 200
 Total number of peers : 2		  Peers in established state : 2
  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre        fRcv
  192.168.24.2    4         100        10        11     0 00:05:00      Established        0
  192.168.34.3    4         100        10        11     0 00:04:50      Established        0
  • 在R2和R3中验证BGP路由
bash 复制代码
# R2
<R2>dis bgp routing-table 
 BGP Local router ID is 2.2.2.2 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete
 Total Number of Routes: 1
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>   10.10.4.4/32       192.168.24.4    0                     0      200i


# R3
<R3>dis bgp routing-table 
 BGP Local router ID is 3.3.3.3 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete
 Total Number of Routes: 1
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>   10.10.4.4/32       192.168.34.4    0                     0      200i
  • 在R1中验证BGP路由
bash 复制代码
<R1>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  10.10.4.4/32       192.168.24.4    0          100        0      200i
   i                     192.168.34.4    0          100        0      200i
  • 在R1的IP核心路由表去验证,发现R1没有去往10.10.4.4 的路由
bash 复制代码
[R1]display ip routing-table 10.10.4.4
<R1>dis ip routing-table 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 13       Routes : 13       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      10.10.1.1/32  Direct  0    0           D   127.0.0.1       LoopBack0
      10.10.2.2/32  OSPF    10   1           D   192.168.12.2    GigabitEthernet0/0/0
      10.10.3.3/32  OSPF    10   1           D   192.168.13.3    GigabitEthernet0/0/1
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
   192.168.12.0/24  Direct  0    0           D   192.168.12.1    GigabitEthernet0/0/0
   192.168.12.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
 192.168.12.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
   192.168.13.0/24  Direct  0    0           D   192.168.13.1    GigabitEthernet0/0/1
   192.168.13.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
 192.168.13.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
  • 总结:丢弃下一跳不可达的路由

4)第四步:修改路由下一跳地址

  • 让R1中的路由可用
  • 如果让下一跳可达呢,如果让R1中的路由生效且最优呢:
  • 需要在R2和R3在给R1传递路由的时候修改下一跳
    R2的配置:
bash 复制代码
 [R2]bgp 100
 [R2-bgp]peer 10.10.1.1 next-hop-local  修改下一跳
  • R3的配置:
bash 复制代码
 [R3]bgp 100
 [R3-bgp]peer 10.10.1.1 next-hop-local   修改下一跳
  • 再次验证R1的路由表
bash 复制代码
<R1>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  10.10.4.4/32       10.10.2.2       0          100        0      200i
   i                     192.168.34.4    0          100        0      200i

# 核心路由表
<R1>dis ip routing-table 10.10.4.4
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
	10.10.4.4/32 	 IBGP    255  0          RD   10.10.2.2       GigabitEthernet0/0/0

2 路由选路之本地优先级

2.1 问题

配置BGP路由的本地优先级属性

让R1优选R3传来的BGP路由10.10.4.4/32

2.2 方案

  • 搭建实验环境,如图所示。

2.3 步骤

实现此案例需要按照如下步骤进行。

1)第一步:创建ip-prefix 抓取10.10.4.4的路由

bash 复制代码
[R3 ]ip ip-prefix ntd index 10 permit 10.10.4.4 32  

2)第二步:创建路由策略,匹配地址前缀列表,修改路由的属性

bash 复制代码
[R3]route-policy tedu permit node 10                   //创建路由策略
[R3-route-policy]if-match ip-prefix ntd            //匹配ip-prefix ntd
[R3-route-policy]apply local-preference 200       //本地优先级为200

3)第三步:在BGP中调用路由策略

bash 复制代码
[R3]bgp 100
[R3-bgp]peer 10.10.1.1 route-policy  tedu   export    //出方向调用路由策略

4)验证与测试

  • 在R1测试
bash 复制代码
<R1>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  10.10.4.4/32       10.10.3.3       0          200        0      200i    // 变成10.10.3.3了
 * i                     10.10.2.2       0          100        0      200i

3 路由选路之AS-PATH

问题

1)配置BGP路由的AS-PATH属性

2)让R1优选R3传递的BGP路由10.10.4.4/32

方案

  • 搭建实验环境,如图所示。

步骤

实现此案例需要按照如下步骤进行。

1)第一步:删除R3上一实验配置

bash 复制代码
[R3]bgp 100
[R3-bgp]undo peer 10.10.1.1 route-policy  tedu   export    //删除调用
[R3]undo route-policy  tedu   //删除路由策略
[R3]undo ip ip-prefix ntd   //删除地址前缀列表

2)第二步:在R2创建ip-prefix 抓取10.10.4.4的路由

bash 复制代码
[R2 ] ip ip-prefix ntd index 10 permit 10.10.4.4 32

3)第三步:在R2创建路由策略,匹配地址前缀列表,修改路由的属性

bash 复制代码
[R2]route-policy tedu permit node 10 //创建路由策略

[R2-route-policy]if-match ip-prefix ntd //匹配ip-prefix ntd

[R2-route-policy]apply as-path 200 200 additive //修改路由的属性,添加AS号

4)第四步:在R2的BGP中调用路由策略

bash 复制代码
[R2]bgp 100

[R2-bgp]peer 10.10.1.1 route-policy tedu export //出方向调用路由策略

5)验证与测试

  • 在R1测试
bash 复制代码
<R1>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  10.10.4.4/32       10.10.3.3       0          100        0      200i
 * i                     10.10.2.2       0          100        0      200 200 200i
<R1>dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 14       Routes : 14       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      10.10.1.1/32  Direct  0    0           D   127.0.0.1       LoopBack0
      10.10.2.2/32  OSPF    10   1           D   192.168.12.2    GigabitEthernet0/0/0
      10.10.3.3/32  OSPF    10   1           D   192.168.13.3    GigabitEthernet0/0/1
      10.10.4.4/32  IBGP    255  0          RD   10.10.3.3       GigabitEthernet0/0/1
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
   192.168.12.0/24  Direct  0    0           D   192.168.12.1    GigabitEthernet0/0/0
   192.168.12.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
 192.168.12.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
   192.168.13.0/24  Direct  0    0           D   192.168.13.1    GigabitEthernet0/0/1
   192.168.13.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
 192.168.13.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0

4 路由选路之Origin

问题

1)配置BGP路由的 Origin属性

2)让R1优选R3传来的BGP路由10.10.4.4/32

方案

  • 搭建实验环境,如图所示。

步骤

实现此案例需要按照如下步骤进行。

1)第一步:删除R2上一实验配置

bash 复制代码
[R2]bgp 100
[R2-bgp]undo peer 10.10.1.1  route-policy  tedu   export    //删除调用
[R2]undo route-policy  tedu   //删除路由策略
[R2]undo ip ip-prefix   //删除地址前缀列表

2)第二步:创建地址前缀列表

bash 复制代码
[R2]ip ip-prefix  ntd  permit 10.10.4.4 32

3)第三步:创建路由策略,匹配地址前缀列表,修改路由的属性

bash 复制代码
[R2]route-policy tedu permit node 10

[R2-route-policy]if-match ip-prefix ntd

[R2-route-policy]apply origin incomplete //修改路由的起源属性

4)第四步:BGP中调用路由策略

bash 复制代码
[R2]bgp 100

[R2-bgp]peer 10.10.1.1 route-policy tedu export //在出方向调用路由策略

5)验证与测试

  • 在R1测试
bash 复制代码
<R1>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  10.10.4.4/32       10.10.3.3       0          100        0      200i
 * i                     10.10.2.2       0          100        0      200?
<R1>dis ip routing-table 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 14       Routes : 14       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      10.10.1.1/32  Direct  0    0           D   127.0.0.1       LoopBack0
      10.10.2.2/32  OSPF    10   1           D   192.168.12.2    GigabitEthernet0/0/0
      10.10.3.3/32  OSPF    10   1           D   192.168.13.3    GigabitEthernet0/0/1
      10.10.4.4/32  IBGP    255  0          RD   10.10.3.3       GigabitEthernet0/0/1
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
   192.168.12.0/24  Direct  0    0           D   192.168.12.1    GigabitEthernet0/0/0
   192.168.12.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
 192.168.12.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
   192.168.13.0/24  Direct  0    0           D   192.168.13.1    GigabitEthernet0/0/1
   192.168.13.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
 192.168.13.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0

5 路由选路之MED

5.1 问题

1)配置BGP路由的MED属性

2)让R1优选R3传递的BGP路由10.10.4.4/32

5.2 方案

  • 搭建实验环境,如图所示。

5.3 步骤

实现此案例需要按照如下步骤进行。

1)第一步:删除R2上一实验配置

bash 复制代码
[R2]bgp 100
[R2-bgp]undo peer 10.10.1.1  route-policy  tedu   export    //删除调用
[R2]undo route-policy  tedu   //删除路由策略
[R2]undo ip ip-prefix  ntd //删除地址前缀列表

2)第二步:创建地址前缀列表

bash 复制代码
[R2]ip ip-prefix  ntd  permit 10.10.4.4 32

3)第三步:创建路由策略,匹配地址前缀列表,修改路由的属性

bash 复制代码
[R2]route-policy  tedu permit  node 10
[R2-route-policy]if-match ip-prefix ntd
[R2-route-policy]apply cost 999           //修改路由的MED属性值为999

4)第三步:在BGP中调用路由策略

bash 复制代码
[R2]bgp 100  
[R2-bgp]peer 10.10.1.1 route-policy  tedu export  

5)测试

  • 在R1测试
bash 复制代码
<R1>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  10.10.4.4/32       10.10.3.3       0          100        0      200i
 * i                     10.10.2.2       999        100        0      200i
<R1>dis ip rou	
<R1>dis ip routing-table 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 14       Routes : 14       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      10.10.1.1/32  Direct  0    0           D   127.0.0.1       LoopBack0
      10.10.2.2/32  OSPF    10   1           D   192.168.12.2    GigabitEthernet0/0/0
      10.10.3.3/32  OSPF    10   1           D   192.168.13.3    GigabitEthernet0/0/1
      10.10.4.4/32  IBGP    255  0          RD   10.10.3.3       GigabitEthernet0/0/1
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
   192.168.12.0/24  Direct  0    0           D   192.168.12.1    GigabitEthernet0/0/0
   192.168.12.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
 192.168.12.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
   192.168.13.0/24  Direct  0    0           D   192.168.13.1    GigabitEthernet0/0/1
   192.168.13.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
 192.168.13.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
相关推荐
cyber_两只龙宝5 小时前
LVS-DR模式实验配置及原理详解
linux·网络·云原生·智能路由器·lvs·dr模式
世界尽头与你12 小时前
TensorBoard 未授权访问漏洞
安全·网络安全·渗透测试
济61713 小时前
linux 系统移植(第十七期)---Linux 内核移植(5)-- 修改网络驱动(2)--- Ubuntu20.04
linux·运维·网络
qq_4061761414 小时前
深入剖析TCP/IP协议:互联网通信的基石
网络
QH1392923188015 小时前
罗德与施瓦茨 R&S®ZNL6 ZNL20 ZNB8矢量网络分析仪
网络
梦65016 小时前
网络传输七层协议
开发语言·网络·php
工业甲酰苯胺16 小时前
TCP三次握手与四次挥手:两个“社恐”程序的破冰与告别仪式
网络
googleccsdn16 小时前
ENSP Pro LAB笔记:配置M-LAG双归接入三层网络(V-STP + Monitor Link + OSPF)
网络·笔记·网络协议