操纵BGP AS-PATH 属性案例(配图+详细验证过程)

简介:


BGP总是优先选择具有最短AS路径的路由。本案例中,我们将配置R1,将1.0.0.0通告给R2、R3之前预先添加两个额外的AS路径到1.0.0.0上(AS300、AS400)
 
具体配置如下:
//// r1 ////
int f2/0
  ip ad 192.1.1.1 255.255.255.0
 
int f3/0
  ip ad 193.1.1.1 255.255.255.0
 
int lo0
  ip ad 1.1.1.1 255.255.255.0
 
int lo1
  ip ad 2.2.2.2 255.255.255.0
 
router bgp 100
  no syn
  neighbor 192.1.1.2 remote-as 200
  neighbor 193.1.1.3 remote-as 200
  network 1.0.0.0
  network 1.0.0.0
   neighbor 193.1.1.3 route-map aspath out
 
access-list 1 permit 1.0.0.0 0.255.255.255
 
route-map aspath 10
  match ip ad 1
  set as-path prepend 300 400
route-map aspath 20
 
 
 
//// r2 ////
int f2/0
  ip ad 192.1.1.2 255.255.255.0
 
int f4/0
  ip ad 194.1.1.2 255.255.255.0
 
router os 1
  netw 0.0.0.0 255.255.255.255 a 0
  passive-interface f2/0
 
router bgp 200
  no syn
  neighbor 192.1.1.1 remote-as 100
  neighbor 194.1.1.4 remote-as 200
  neighbor 195.1.1.3 remote-as 200
  neighbor 194.1.1.4 next-hop-self
 
 
//// r3 ////
int f3/0
  ip ad 193.1.1.3 255.255.255.0
 
int f5/0
  ip ad 195.1.1.3 255.255.255.0
 
router os 1
  netw 0.0.0.0 255.255.255.255 a 0
  passive-interface f3/0
 
router bgp 200
  no syn
  neighbor 193.1.1.1 remote-as 100
  neighbor 195.1.1.4 remote-as 200
  neighbor 195.1.1.4 next-hop-self
  neighbor 194.1.1.2 remote-as 200
 
 
//// r4 ////
int f4/0
  ip ad 194.1.1.4 255.255.255.0
 
int f5/0
  ip ad 195.1.1.4 255.255.255.0
 
int lo0
  ip ad 4.4.4.4 255.255.255.0
 
router os 1
  netw 0.0.0.0 255.255.255.255 a 0
 
router bgp 200
  no syn
  neighbor 194.1.1.2 remote-as 200
  neighbor 195.1.1.3 remote-as 200
  netw 4.0.0.0
 
 
 
验证:
 
r3#sh ip b
   Network          Next Hop            Metric LocPrf Weight Path
*>i1.0.0.0          192.1.1.1                0    100      0 100 i
*                   193.1.1.1                0             0 100 300 400 i
* i2.0.0.0          192.1.1.1                0    100      0 100 i
*>                  193.1.1.1                0             0 100 i
*>i4.0.0.0          195.1.1.4                0    100      0 i
 
 
r3#sh ip ro
B    1.0.0.0/8 [200/0] via 192.1.1.1, 00:05:23
B    2.0.0.0/8 [20/0] via 193.1.1.1, 00:05:23

     4.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
O       4.4.4.4/32 [110/65] via 195.1.1.4, 00:10:38, Serial5/0
B       4.0.0.0/8 [200/0] via 195.1.1.4, 00:10:13
C    193.1.1.0/24 is directly connected, Serial3/0
O    192.1.1.0/24 [110/192] via 195.1.1.4, 00:10:38, Serial5/0
C    195.1.1.0/24 is directly connected, Serial5/0
O    194.1.1.0/24 [110/128] via 195.1.1.4, 00:10:38, Serial5/0









本文转自 ciscodocu51CTO博客,原文链接:http://blog.51cto.com/ciscodocu/52841,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
开发者 C++
经典面试题:预处理器标识#error的目的是什么
在 C 和 C++ 中,预处理器指令 `#error` 用于在编译时生成错误并终止编译。它主要用于条件编译中的错误检查,如检测缺失的宏定义或不支持的平台;指示已知问题或未实现的功能;防止错误的构建配置;以及生成编译时的显式错误信息以帮助代码维护。通过 `#error`,开发者可以在编译阶段就阻止有问题的代码继续执行,并提供明确的错误信息,从而简化调试过程。
信息质量的属性相关知识点
信息质量的属性相关知识点
68 0
|
前端开发
前端学习案例17-对象禁止配置
前端学习案例17-对象禁止配置
76 0
前端学习案例17-对象禁止配置
|
前端开发
前端学习案例1-对象的禁止配置
前端学习案例1-对象的禁止配置
74 0
前端学习案例1-对象的禁止配置
|
安全 网络协议 数据安全/隐私保护
域前置通信过程和溯源思路
域前置通信过程和溯源思路
1132 0
域前置通信过程和溯源思路
|
测试技术 网络安全 网络虚拟化