控制BGP路由概述:

  • BGP与IGP不同,其着跟点主要在于不同的AS之间控制路由的传播和选择最佳路由
  • 通过修改BGP基本属性可以实现基本的BGP路由控制和最佳路由的选择
  • 引入其他路由协议发现的路由时、发布或者接收路由信息时通过配置过滤器实现控制BGP路由

→Filter-policy

→Route-policy

→AS路径访问列表

BGP基本属性性影响选路的应用:

  • 给从对等体接收的路由分配首选项值(Preferred-value)以影响选路
  • 修改Local-Preference只是先选择离开本地AS时的最佳路由
  • 修改MED值实现选择进入AS时的最佳路由
  • 配置next-hop-local实现将自身地址作为下一跳

修改Preferred-value控制BGP路由实例(通过本地修改从某个邻居学来的路由的优先级(EBGP或者IBGP))默认为0

[RT1-bgp]peer 13.1.1.3 preferred-value 100

Network            NextHop         MED        LocPrf     PrefVal Path/Ogn

* >  1.1.1.1/32         0.0.0.0         0                     0       i

* >  10.10.10.10/32     13.1.1.3                                   200i

*                       12.1.1.2                              0       200i

通过修改MED值控制BGP路由实例:(修改发给EBGP邻居时的MED值)默认为0 (进入AS时,走哪)

R2——R4——R3为一个as

R1为一个as

在R2和R3上修改MED,让R1进入另一个域时,选择哪个作为下一跳

[RT2-bgp]default med 200

[RT3-bgp]default med 100

RT1 bgp routing

Network            NextHop         MED        LocPrf     PrefVal Path/Ogn

* >  1.1.1.1/32         0.0.0.0             0                     0       i

* >  10.10.10.10/32     13.1.1.3                           0       200i

*                                  12.1.1.2                            0       200i

通过配置Local_PREF控制BGP路由实例:(修改发给IBGP邻居的优先级)默认为100,在EBGP之间此项为空 ibgp之间(离开AS时,走哪)

[RT2-bgp]default local-preference 100

[RT3-bgp]default local-preference 200

Network            NextHop         MED        LocPrf     PrefVal Path/Ogn

* >i 1.1.1.1/32         3.3.3.3         0                  0       100i

*  i                     2.2.2.2         0          100         0       100i

* >  10.10.10.10/32     0.0.0.0         0                     0       i

配置next-ho-local控制BGP路由实例:

从EBGP邻居学来的路由发给IBGP时,下一跳还是指向EBGP的接口,应使用此命令:

[RT2-bgp]peer 4.4.4.4 next-hop-local     //发布路由时,将自身地址作为下一跳

从IBGP学来的路由传给EBGP邻居时,下一跳会修改。从反射器学来的路由,下一跳不会修改。

使用过滤器控制BGP路由:

  • 通过配置过滤器可以实现控制BGP路由。几种过滤器的作用不同:

→配置Filter-policy实现对接收或者发布的路由过滤

→配置Route-policy不仅可以实现路由过滤还可以对符合规则的路由增加或者修改相关的属性

→配置AS路径访问列表可以实现针对自治系统路径域控制BGP路由

配置Filter-policy控制BGP路由:

→配置过滤列表,如ACL、地址前缀列表

→应用Filter-policy实现路由过滤

  1. 过滤收到方向路由:

[RT2]ip ip-prefix 1 permit 10.10.10.10 32

[RT2-bgp]filter-policy ip-prefix 1 import

2.过滤发出的路由:

[RT2-bgp]filter-policy ip-prefix 1 export

配置Route-policy控制BGP路由:

配置AS路径过滤列表:

^:匹配输入字符串的开始

$:匹配输入字符串的结束

*:星号表示匹配此前的字符或字符组0次或多次。如"zo*",可以匹配z以及zo、zoo等

+:表示匹配此前的字符或字符组一次或多次。如"zo+",可以匹配z0及zoo等,但不能匹配z

.:表示通配符,匹配任意字符,包括单个字符、特殊字符和空格。

_:下划线为通配符,表示匹配一个符号,如逗号、括号等,在表达式的开头或者结尾时还可以作为起始符、结束符(同^、$)

-:连接符,用于连接两个数值或字母

():表示字符组

[ ]:将以此括号内的任意一个字符为条件进行匹配

常用组合:

  • ^$:表示匹配的字符串为空,即AS_PATH为空,匹配本地路由
  • .*:表示匹配任意字符,即as-path为任意,可以匹配所有路由
  • ^100:表示匹配100开头的字符串
  • ^100_:表示匹配以"100"开始的字符串,即as-path的最左边前三个字符为100。
  • _100$:表示匹配结尾为"100"的字符串,即as-path最右边的后三个字符为100。
  • _100_:表示字符串中间有"100",即as-path可以匹配经过as100的路由
  • ^100$:表示源自as100,中间不经过其他as的路由

路由选择工具:——community-filter

community-filter:

  • 以BGP中的community属性为匹配条件
    • ip community-filter 1 permit 100:
      • 匹配community属性为100:1
    • ip community-filter 1permit no-export
      • 匹配community属性为no-export

ip community-filter 1 permit 1:1

代表匹配团体属性中只要包含1:1团体的BGP路由

ip community-filter 2 permit 1:1 1:2 (一条语句中的属性是"且"的关系)

代表团体属性中需要同时存在1:1 1:2团体的bgp路由,跟排列次序和数量无关

ip community-filter 3 permit 1:1

ip community-filter 3 permit 1:1 1:2

在同一个filter列表中存在多条语句,每条语句之间是"或"的关系,即匹配团体属性中包含有1:1或者包含有1:1 1:2的BGP路由。

BGP路由控制属性的更多相关文章

  1. HCNP Routing&Switching之BGP路由控制

    前文我们了解了BGP的路由属性和优选规则相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15489497.html:今天我们来聊一聊BGP路由控制相关话 ...

  2. CCIE路由实验(4) -- BGP路由控制

    1.过滤BGP路由的方法2.用AS-path filter控制路由3.用Community Filter控制路由 enableconf tno ip do loenable pass ciscolin ...

  3. HCNP Routing&Switching之BGP路由属性和优选规则

    前文我们了解了BGP防环机制和路由聚合相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15458110.html:今天我们来聊一聊BGP路由属性和选路规 ...

  4. BGP路由属性详解

    Weight属性:cisco私有的BGP属性参数,它只适用于一台路由器中的路由,也就是不会传递给任何其他的路由器.他的取值范围为<0-65535>,这个数越大优先级越高,默认从邻居学到的路 ...

  5. 如何使用 Quagga BGP(边界网关协议)路由器来过滤 BGP 路由

    在之前的文章中,我们介绍了如何使用 Quagga 将 CentOS 服务器变成一个 BGP 路由器,也介绍了 BGP 对等体和前缀交换设置.在本教程中,我们将重点放在如何使用前缀列表prefix-li ...

  6. HCNP Routing&Switching之BGP路由过滤和AS-Path-Filter

    前文我们聊了下通过修改BGP路由属性来影响路由,从而达到控制BGP路由的目的:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15495585.html:今天我们 ...

  7. angularJs模块ui-router之路由控制

    在你的应用中大多数状态都有与其相关联的 url,路由控制不是设计完成 state 之后的事后想法,而是开始开发时就应该考虑的问题. 这里是如何设置一个基本url. $stateProvider .st ...

  8. Router和History (路由控制)-backbone

    Router和History (路由控制) Backbone.Router担任了一部分Controller(控制器)的工作,它一般运行在单页应用中,能将特定的URL或锚点规则绑定到一个指定的方法(后文 ...

  9. golang自定义路由控制实现(二)-流式注册接口以及支持RESTFUL

        先简单回顾一下在上一篇的文章中,上一篇我主要是结合了数组和Map完成路由映射,数组的大小为8,下标为0的代表Get方法,以此类推,而数组的值则是Map,键为URL,值则是我们编写对应的接口.但 ...

随机推荐

  1. Apache常见问题

    Apache如何修改端口? 找到Apache安装目录,conf目录下的httpd.conf文件,用编辑器打开. 找到“Listen 80”,修改为我们想要的端口号就可以了,如“Listen 8080” ...

  2. Windows漏洞利用技术概述

    Windows漏洞利用技术总结 1. 前言 本文是我对漏洞利用技术的学习总结,也是自己践行QAD (Questions.Answer.Discussions)的一次实践.本文通过阅读几位大牛的文章.演 ...

  3. Vaadin学习笔记——Page、UI和View在用法上的区别

    前言 在Vaadin技术框架中会出现三种不同的类,用于架构Web应用.它们分别是:Page.UI.View.本文将对这三者从使用角度进行比较,试图分析三者的异同.本文完全原创,我可不是在强调版权,我只 ...

  4. matlab中换行

    若在命令窗口中,如果一条语句已经写完,需要换行,可以用"Shift+Enter", 如果一条语句没写完就想换行,可以使用"...+Enter".

  5. OC property(声明)

    @interface Student : NSObject { int _age; int _no; float _height; } // 当编译器遇到@property时,会自动展开成getter ...

  6. SPOJ MUSKET - Musketeers

    黑书P117页. 要是不看解析,确实不要算和定义状态. 把环看成链,是指把这个1234512345,写两边,然后怎么表示一个人是否胜利了呢?其实就是其他人全部死光(好像等于没说): 考虑最后一次杀人, ...

  7. 【[NOI2018]你的名字】

    题目 可能是一个乱搞做法,同时也跪求有人能帮我分析一下复杂度 还是先来看比较简单的\(68pts\),也就是\(l=1,r=|S|\)的情况 我们可以直接把\(S\)串和所有的\(T\)串一起建一个广 ...

  8. luogu P1121 环状最大两段子段和

    嘟嘟嘟 一道说难也难说简单也简单的dp题. 我觉得我的(有篇题解)做法就属于特别简单的. 平时遇到环的问题都是断环为链,但这道题给了一种新的思路. 观察一下,最后的答案无非就这两种:xxx--xx-- ...

  9. 【luogu P3931 SAC E#1 - 一道难题 Tree】 题解

    题目链接:https://www.luogu.org/problemnew/show/P3931 肉眼观察题目感觉可以跑最大流. 证明是如果拆断一棵树,可以最小割,最小割等于最大流. 注意: 图是无向 ...

  10. CSU-ACM2018暑假集训比赛1

    A:https://www.cnblogs.com/yinbiao/p/9365127.html B:https://www.cnblogs.com/yinbiao/p/9365171.html C: ...