BGP高级特性

路由控制

As-Path-filter

随着网络规模扩大,路由条目增加,对于路由管理的难度和繁琐程度逐渐增长,而BGP拥有多种路径属性,也为路由控制提供了一种新思路,利用As-path-filter实现过滤某些路由

配置案例

通过部署使得R3学不到AS100始发路由

配置完bgp完整路由

对R3限制使其学不到R1始发的路由

复制代码
[R2]ip as-path-filter 1 deny _100$
[R2]ip as-path-filter 1 permit .*
[R2]bgp 200
[R2-bgp]peer 10.0.23.3 as-path-filter 1 export

经过过滤的路由

community-filter

通过community-filter实现路由过滤,改过滤器分为基本和高级,编号1-99为基本,只能指定要放行或拒绝的团体名或团体属性,而编号为100-199为高级,可以使用正则表达式进行匹配,该过滤器需要使用路由策略进行调用实现效果

配置案例

现决定将10.0.1.0打上1:1,10.0.2.0打上1:2,通过团体过滤通过给R4,实现R4上没有1:1的路由信息

计划在R1上将10.0.1.0打上1:1,10.0.2.0打上1:2

先将相关路由打上团体标签

复制代码
[R1]ip ip-prefix 1 permit 10.0.1.0 24
[R1]ip ip-prefix 2 permit 10.0.2.0 24
[R1]route-policy com permit node 10
Info: New Sequence of this List.
[R1-route-policy]if-match ip-prefix 1
[R1-route-policy]app community 1:1
[R1-route-policy]route-policy com permit node 20
Info: New Sequence of this List.
[R1-route-policy]if-match ip-prefix 2
[R1-route-policy]apply community 1:2
[R1-route-policy]route-policy com permit node 30

[R1-bgp]peer 10.0.12.2 route-policy com export 
[R1-bgp]peer 10.0.12.2 advertise-community

启用团体过滤

复制代码
[R2]ip community-filter 1 permit 1:1//用过滤器匹配流量

[R2]route-policy com deny node 10
Info: New Sequence of this List.
[R2-route-policy]if-match community-filter 1
[R2]route-policy com permit node 20
Info: New Sequence of this List.
//用路由策略拦截路由
[R2-route-policy]bgp 200
[R2-bgp]peer 10.0.24.4 route-policy com export 

在R4上查看路由表发现没有10.0.1.0网段信息

查看详情能看到10.0.2.0被打上1:2的团体

ORF

由于设备在入方向做了相关的路由策略,导致部分路由并不是本机所需要的,但对端仍然会继续发送从而浪费带宽,为节省带宽先采用基于前缀的ORF(Outbound Route Filters,出口路由过滤器)以实现邻居按需求发布路由

配置案例

现在上图基础上在R2上添加10.0.222.0网段并在R4和R2上开启ORF功能,实现R4路由表没有10.0.222.0网段

配置前缀列表匹配相关路由

复制代码
[R4]ip ip-prefix 22 permit 10.0.22.0 24
[R4]bgp 400
[R4-bgp]peer 10.0.24.2 ip-prefix 22 import 	
[R4-bgp]peer 10.0.24.2 capability-advertise orf ip-prefix send 

[R2-bgp]peer 10.0.24.4 capability-advertise orf ip-prefix receive 

在R2路由表上能够看到全部完整路由但R4上没有10.0.222.0的路由

便捷管理与安全

peer组

类似接口组,将邻居加入group,方便管理与调用

Huawei-bgp\] **group** *group-name* \[ **external** \| **internal**

Huawei-bgp peer group-name as-number { as-number-plain | as-number-dot }

Huawei-bgp peer { ipv4-address | ipv6-address } group group-name

Huawei-bgp\] **peer** *group-name* **connect-interface** *interface-type* *interface-number* \[ *ipv4-source-address*

认证

为了防止BGP非法邻居建立采用认证,认证可分为Md5和key-chain两种

Huawei-bgp peer { group-name | ipv4-address | ipv6-address } password { cipher cipher-password | simple simple-password }

cipher和simple仅代表在设备中显示密码为密文或明文

Huawei-bgp peer { group-name | ipv4-address | ipv6-address } keychain keychain-name

GTSM

为了防止攻击者发送大量伪造BGP报文,影响设备性能采用GTSM(Generalized TTL Security Mechanism,通用TTL安全保护机制)

Huawei-bgp\] **peer** { *group-name* \| *ipv4-address* \| *ipv6-address* } **valid-****ttl****-hops** \[ *hops*

hops即最大跳数范围

Huawei gtsm****default-action { drop | pass }

默认行为,丢弃或放行

Huawei gtsm****log drop-packet all

开启日志

4字节AS号

2字节AS号无法满足需求,4字节AS号采用x.y标识

相关概念

New Speaker:支持4字节AS号扩展能力的BGP Speaker
Old Speaker:不支持4字节AS号扩展能力的BGP Speaker
New Session:New Speaker之间建立的BGP连接
Old Session:New Speaker和Old Speaker之间或者Old Speaker之间建立的BGP连接

当AS号超过2字节时,会在报文头部填充23456以标识启用4字节的AS号,且在其可选项中填写真实的AS号

在New Speaker之间的Update消息中,AS_Path属性里的AS号按照4字节进行编码,而Old Speaker的Update消息中AS_Path属性的AS号是按照2字节编码的

RR组网

多集群RR组网

能有效减少邻居搭建数量,便于管理和故障定位

提高网络可靠性,但可能会出现路由重复通告,占用带宽较多

单集群RR组网

能有效减少重复路由通告,具有一定的防环效果,但对于链路冗余设置较弱,可能出现有链路能到但没有路由的情况

总结

BGP的多种路径属性给路由控制提供了新的思路,对于带宽浪费也可使用ORF解决

相关推荐
Avan_菜菜3 分钟前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB1 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
zzzzzz3102 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode2 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220703 天前
如何搭建本地yum源(上)
运维
大树886 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠6 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质6 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
小宇宙Zz6 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工6 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信