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连接 ![](https://i-blog.csdnimg.cn/direct/c3114c01c51f4a249b3d1744915aa5b6.png) 当AS号超过2字节时,会在报文头部填充23456以标识启用4字节的AS号,且在其可选项中填写真实的AS号 在New Speaker之间的Update消息中,AS_Path属性里的AS号按照4字节进行编码,而Old Speaker的Update消息中AS_Path属性的AS号是按照2字节编码的 ## RR组网 ### 多集群RR组网 能有效减少邻居搭建数量,便于管理和故障定位 ![](https://i-blog.csdnimg.cn/direct/dbd0f3a790f544388a29dfc3b280998a.png) 提高网络可靠性,但可能会出现路由重复通告,占用带宽较多 ![](https://i-blog.csdnimg.cn/direct/370daa49fecc4614897693f2d57687ff.png) ### 单集群RR组网 能有效减少重复路由通告,具有一定的防环效果,但对于链路冗余设置较弱,可能出现有链路能到但没有路由的情况 ![](https://i-blog.csdnimg.cn/direct/0abd1c3b347447158fb34be33435bf82.png) ## 总结 BGP的多种路径属性给路由控制提供了新的思路,对于带宽浪费也可使用ORF解决

相关推荐
聚铭网络2 小时前
聚铭安全管家平台2.0实战解码 | 安服篇(四):重构威胁追溯体系
网络·安全·重构
郭二哈2 小时前
git的使用
大数据·网络·git·elasticsearch
phoenix09812 小时前
Linux入门DAY29
linux·运维
一休哥助手2 小时前
Naive RAG:简单而高效的检索增强生成架构解析与实践指南
运维·人工智能·架构
叔叔别拉了我害怕3 小时前
封装FTPSClient连接ftps服务器
服务器·git·github
不甘懦弱3 小时前
阿里云搭建flask服务器
服务器·python·flask
Bi3 小时前
包含多个子项目集成一个项目部署Vercel方法
运维·前端
Mr. Cao code3 小时前
使用Tomcat Clustering和Redis Session Manager实现Session共享
java·linux·运维·redis·缓存·tomcat
zcz16071278213 小时前
Linux 网络命令大全
linux·运维·网络
the sun343 小时前
Reactor设计模式及其在epoll中的应用
linux·运维·服务器·c++