这篇文章是一个小编辑带来如何过滤BGP的斑驴BGP路由器路由,并欢迎您阅读。


在本教程中,我们将重点介绍如何使用前缀列表(前缀列表)和路由映射(路由映射)来控制入站和出站BGP前缀。


在以前的教程介绍,BGP路由决策是基于接收/注意前缀,以确保路由没有错误,建议您使用一些过滤机制来控制入站和出站的前缀。例如,如果你的一个邻居的BGP开始注意到不属于的前缀,你收到这类虚假前缀的错误,你的流量将被发送到错误的邻居,最后也不知道其下落(称为进入黑洞;)。为了确保这类前缀不接收,没有邻居的广告,您可以使用前缀列表和路由映射表。前者是一个基于前缀的过滤机制,后者是M基于一般前缀的策略机制,用于微调操作。


我们将展示如何使用前缀列表和路由映射表在Quagga。


拓扑结构和要求


我们在本教程中假设下面的拓扑。




服务供应商已经建立了与服务供应商B EBGP的同伴关系,使彼此之间交换路由信息,为前缀的细节描述如下。


公牛;对等块:192.168.1.0 / 24


公牛;服务提供商:100、前缀10.10.0.0 / 16


公牛;服务提供商B:200、前缀10.20.0.0 / 16


在这种情况下,服务提供者B只想从供应商接收三个前缀,10.10.10.0 / 23,10.10.10.0 / 24,和10.10.11.0 / 24。


斑驴的安装和BGP对等体


我们已经探讨了安装斑驴和建立BGP对等体在上一个教程的方法。所以我们不重复的细节在这里。然而,我提供了一个简易的BGP配置和前缀通告。




上面的输出结果表明,BPG同行已经建立。路由器公告一些前缀的路由器B,另一方面,路由器B公告一个前缀10.20.0.0 / 16到路由器这两个路由器可以正常接收的前缀没有任何问题。


创建前缀列表


在路由器的访问控制列表(ACL)或前缀列表可以用来防止前缀。人们往往喜欢使用前缀列表而不是ACL,因为前缀列表不占用处理器资源ALC一样多。另外,它易于创建和维护前缀列表。


IP前缀列表demo-prfx许可192.168.0.0 / 23


上面的命令会创建一个前缀列表称为演示frfx它只允许192.168.0.0 / 23。


前缀列表的另一个优秀特性是,我们可以指定子网掩码范围。


IP前缀列表demo-prfx许可192.168.0.0 / 23乐24


上述命令创建了一个名为prfx前缀列表,演示,使192.168.0.0 / 23 / 24前缀,包括192.168.0.0 / / 24、23、192.168.0.0 192.168.1.0 / 24。le操作者是小于或等于。你也可以使用ge算子表示大于或等于。


前缀列表语句可能有多个允许的拒绝操作,每个语句都有一个可以自动确定或手动指定的序列号。


在序列号的递增顺序中逐个分析多个前缀列表语句,在配置前缀列表时,要记住所有前缀列表语句的结尾都有一个隐式拒绝(隐式拒绝),这意味着任何未明确允许的前缀都将被拒绝。


让所有的一切,我们可以使用下列前缀列表,它允许任何前缀:从0.0.0.0 / 0的任何地址,使用子网掩码 / 32。


IP前缀列表demo-prfx允许0.0.0.0 / 0乐32


现在我们知道如何创建前缀列表语句了。下一步,我们将创建一个名为前缀列表,prfx lst,允许在我们的场景中所需的前缀。


router-b # conf t


router-b(config)IP前缀列表prfx-lst许可10.10.10.0 / 23乐# 24


创建路由映射表


除了前缀列表和ACL之外,还有另一种称为路由映射表的机制,它控制BGP路由器中的前缀。事实上,路由图可以更灵活地调整适合于与ACL或前缀列表相匹配的前缀的操作。


与前缀列表类似,路由映射语句指定序列号后面允许或拒绝的操作。每个路由表语句可能有多个允许的拒绝操作,如:


路线图demo-rmap证10


上述语句创建一个路由图命名为演示rmap增加为10允许的行动。现在,我们将以10使用匹配的命令。


router-a(配置路线图)#比赛(在键盘上按)


与BGP AS-PATH路径列表


社区匹配BGP组属性列表


extcommunity匹配BGP / VPN扩展组属性列表


接口匹配路由的第一段接口


IP IP信息


IPv6 IPv6信息


度量匹配路由度量


源代码


对等匹配体地址


概率匹配百分比值定义的路由部分


标记匹配路由标记


正如我们所看到的,一个路由映射可以匹配多个属性。


路线图demo-rmap证10


匹配IP地址前缀列表demo-prfx


比赛命令将之前创建的前缀列表匹配:演示prfx允许的IP地址(192.168.0.0 / / 24、23、192.168.0.0 192.168.1.0 / 24三字头)。


接下来,我们可以使用set命令来更改属性。


路线图demo-rmap证10


匹配IP地址前缀列表demo-prfx


设置(按键盘)


聚合BGP聚合性能


BGP AS-PATH属性转换为路径


原子聚集体原子聚集性质


通讯列表设置BGP团体属性列表(用于删除)


社区BGP组属性


extcommunity BGP的扩展团体属性


转发地址转发地址


IP IP信息


IPv6 IPv6信息


局部偏好BGP局部偏爱路径属性


目标路由协议度量的度量标准值


公制型公制标准型


源代码


发起人ID BGP发起人的id属性


SRC路由的SRC地址


标记路由协议的标记值


VPNv4 VPNv4信息


权重路由表的BGP权重


正如我们所看到的,set命令可以用来改变许多属性。


路线图demo-rmap证10


匹配IP地址前缀列表demo-prfx


设置本地首选项500


像前缀列表一样,在所有路由表语句的结尾都有一个隐式拒绝。因此,我们将在序列号20中添加另一个允许语句来允许所有前缀。


路线图demo-rmap证10


匹配IP地址前缀列表demo-prfx


设置本地首选项500


!


路线图demo-rmap证20


数字20没有特定的匹配命令,所以默认情况下它将匹配所有的参数。


如果您记得,我们的请求只是允许/拒绝一些前缀。因此,在我们的场景中,set命令是不必要的。


router-b # conf t


router-b(config)路线图10 # RMAP许可证


router-b(配置路线图)匹配的IP地址前缀列表prfx-lst #


此路由表语句应该能够得到预期的结果。


使用路由映射


记住,ACL,前缀列表和路由映射不除非是用一个接口或BGP邻居的工作。就像ACL或前缀列表,一个单一的路由映射表的语句可用于与任何数量的接口或邻居的组合。然而,任何接口或邻居只能支持入境交通路线图表的语句,只能支持一个路由映射表声明对外交通。


我们将新创建的路由映射到路由器B的BGP配置邻居192.168.1.1,使用前缀通知入境。


router-b #会议终端


router-b(config)路由器的200 #


router-b(config-router)邻居192.168.1.1路线图在# RMAP


现在,我们使用以下命令检查通知和接收的路由。


通知路线:


显示IP邻居IP广告路线


接收路线:


显示IP邻居IP路由




您可以发现,尽管路由器向路由器B发出了四个前缀,但路由器只接收到三个前缀,如果我们查看范围,我们就可以看到路由图所允许的前缀可以在路由器B上看到,所有其他前缀都被丢弃了。


提示:如果没有变化在前缀收到,尝试使用命令:明确IP BGP邻居IP并重置BGP会话。在我们的例子:


明确的IP BGP 192.168.1.1


正如我们所看到的,我们已经满足了要求,我们可以在路由器A和B中创建类似的前缀列表和路由映射表语句来进一步控制入站和出站前缀。


我已经在一个地方总结了配置,所以您可以一目了然地看到它。


路由器200


网络10.20.0.0 / 16


邻居192.168.1.1远程100


邻居192.168.1.1 RMAP在路线图


!


prfx-lst IP前缀列表SEQ 5许可证10.10.10.0 / 23乐24


!


路线图RMAP证10


匹配IP地址前缀列表prfx-lst


结语


在本教程中,我们展示了如何定义前缀列表和路由映射滤波器在斑驴路由盖帽。我们还展示了如何结合前缀列表和路由映射表,入境的前缀可以精细地控制,你可以创建你自己的前缀列表和以类似的方式路由映射,这符合你的网络要求。这些工具是一个以保护生产网络的破坏和注意虚假路由的路由的最有效的方法。


我希望这篇文章能有所帮助。