当前位置: 首页 > news >正文

AS_Path过滤器应用灵活配置示例

本文摘自笔者编辑出版的《华为HCIP-Datacom路由交换学习指南》,通过示例演示了BGP AS_Path过滤器在BGP路由过滤方面的灵活应用。

如图8-73所示,相邻路由器间建立EBGP对等体关系,并在RouterA、RouterB和RouterD上把对应的Loopback0接口所代表的网段路由引入到了BGP路由表中。现要通过AS_Path Filter实现以下目的。

  • RouterB不接收始发于AS 400的BGP路由;
  • RouterD不接收包含AS 100的BGP路由。

图8-73 AS_Path Filter应用配置示例的拓扑结构

  1. 基本配置思路分析

AS_Path Filter的应用有两种方式,一种是直接在BGP地址族视图下调用,一种是在路由策略中调用。另外,一台BGP路由器不接收来自某个AS的路由也有两种配置方式,一是在发送端的AS边界路由器上配置,一种是接收方端的AS边界路由器上配置。本示例将分别予以介绍。

针对RouterB不接收始发于AS 400的BGP路由的要求,可以在RouterA上配置向RouterB发布路由时通过AS_Path Filter进行过滤,也可以在RouterB上配置接收来自RouterA的路由时通过AS_Path Filter进行过滤,均拒绝AS_Path列表中第一个AS号(最右边的AS号)为400的BGP路由通过。此时,RouterB将学习不到RouterD引入的172.16.1.0/24网段BGP路由。

针对RouterD不接收包含AS 100的BGP路由的要求,可以在RouterC上配置向RouterD发布路由时通过AS_Path Filter进行过滤,也可以在RouterD上配置接收来自RouterC的路由时通过AS_Path Filter进行过滤,均拒绝AS_Path列表中包含AS 100的BGP路由通过。此时,RouterD将同时学习不到RouterA上的192.168.1.0/24网段BGP路由和RouterB上的192.168.2.0/24网段BGP路由。

基于AS_Path Filter的BGP路由过滤是在完成BGP路由基本功能配置基础上进行的,根据以上分析可得出本示例的基本配置思路如下:

(1)配置各路由器接口的IP地址。

(2)配置各路由器的BGP基本功能,并分别将RouterA、RouterB和RouterD上的Loopback0接口所在网段的路由通过network命令(也可以是import-route命令)引入到BGP路由表中。

(3)在RouterA上配置AS_Path Filter,拒绝向RouterB通告AS_Path属性中最右边AS号为400的BGP路由;或者在RouterB上配置AS_Path Filter,拒绝从RouterA接收AS_Path列表中最右边AS号为400的BGP路由。

(4)在RouterC上配置AS_Path Filter,拒绝向RouterD通告AS_Path属性中包含AS 100的BGP路由;或者在RouterD上配置AS_Path Filter,拒绝从RouterC接收AS_Path列表中包含AS 100的BGP路由。

2. 配置和验证

(1)配置各路由器的接口IP地址。在此仅介绍RouterA上的配置,其他路由器上的配置方法一样,略。

<RouterA> system-view

[RouterA] interface gigabitethernet 0/0/0

[RouterA-GigabitEthernet0/0/0] ip address 10.1.1.1 24

[RouterA-GigabitEthernet0/0/0]quit

[RouterA] interface gigabitethernet 0/0/1

[RouterA-GigabitEthernet0/0/1] ip address 10.1.2.1 24

[RouterA-GigabitEthernet0/0/1]quit

[RouterA] interface loopback0

[RouterA-Loopback0] ip address 192.168.1.1 24

[RouterA-Loopback0]quit

(2)配置各路由器的BGP基本功能。EBGP对等体间使用直连物理接口建立TCP连接,RouterA~RouterD四台路由器的Router ID分别配置为1.1.1.1~4.4.4.4,并在RouterA、RouterB、RouterD上Loopback0接口对应网段路由引入到BGP路由表中。

  • RouterA上的配置。

[RouterA] bgp 100

[RouterA-bgp] router-id 1.1.1.1

[RouterA-bgp] peer 10.1.1.2 as-number 200

[RouterA-bgp] peer 10.1.2.2 as-number 300

[RouterA-bgp] network 192.168.1.0 24

  • RouterB上的配置。

[RouterB] bgp 200

[RouterB-bgp] router-id 2.2.2.2

[RouterB-bgp] peer 10.1.1.1 as-number 100

[RouterB-bgp] network 192.168.2.0 24

  • RouterC上的配置。

[RouterC] bgp 300

[RouterC-bgp] router-id 3.3.3.3

[RouterC-bgp] peer 10.1.2.1 as-number 100

[RouterC-bgp] peer 10.1.3.2 as-number 400

  • RouterD上的配置。

[RouterD] bgp 400

[RouterD-bgp] router-id 4.4.4.4

[RouterD-bgp] peer 10.1.3.1 as-number 300

[RouterD-bgp] network 172.16.1.0 24

以上配置好后,在RouterB上执行display bgp routing-table命令,可看到他已学习到了RouterA和RouterD上所引入的两个网段的BGP路由,如图8-74所示。在RouterD上执行display bgp routing-table命令,可看到他已学习到了RouterA和RouterB上所引入的两个网段的BGP路由,如图8-75所示。

图8-74  RouterB上学习到的RouterA和RouterD所引入的两个网段BGP路由

图8-75  RouterD上学习到的RouterA和RouterB所引入的两个网段BGP路由

(3)在RouterA上配置AS_Path Filter,拒绝向RouterB通告AS_Path列表中最右边AS号为400的BGP路由;或者在RouterB上配置AS_Path Filter,拒绝从RouterA接收AS_Path列表中最右边个AS号为400的BGP路由。下面是这两种配置方案的具体配置方法。

方案一:在RouterA上配置AS_Path Filter

[RouterA] ip as-path-filter 1 deny _400$   #---拒绝AS_Path表列中以AS 400结束的BGP路由

[RouterA] ip as-path-filter 1 permit .*  #---允许其他所有BGP路由通过。必须要配置,以允许其他路由通过,因为AS_Path过滤器的缺省匹配模式为deny

  • 采用直接调用AS_Path Filter的配置方式:

[RouterA] bgp 100

[RouterA-bgp] peer 10.1.1.2 as-path-filter 1 export  #---向对等体RouterB通告路由时调用1号AS_Path过滤器

以上配置好后,再在RouterB上执行display bgp routing-table命令,可看到原来学习到的位于AS 400的172.16.1.0/24网段BGP路由没有了(对比图8-74),如图8-76所示。

图8-76 在RouterA上配置并应用好AS_Path Filter后,RouterB上的BGP路由表

  • 采用路由策略调用AS_Path Filter的配置方式:

[RouterA] route-policy as-path permit node 10

[RouterA-route-policy] if-match as-path-filter 1

[RouterA-route-policy] quit

[RouterA] bgp 100

[RouterA-bgp] peer 10.1.1.2 route-policy as-path export

以上配置好后,再在RouterB上执行display bgp routing-table命令,得到的效果与图8-76一样,同样没有了以前学习到的172.16.1.0/24网段BGP路由。

方案二:在RouterB上配置AS_Path Filter

[RouterB] ip as-path-filter 1 deny _400$ 

[RouterB] ip as-path-filter 1 permit .*

  • 采用直接调用AS_Path Filter的配置方式:

[RouterB] bgp 200

[RouterB-bgp] peer 10.1.1.1 as-path-filter 1 import  #---从对等体RouterA学习路由时调用1号AS_Path Filter

以上配置好后,再在RouterB上执行display bgp routing-table命令,得到的效果一样,参见图8-76。

  • 采用路由策略调用AS_Path Filter的配置方式:

[RouterB] route-policy as-path permit node 10

[RouterB-route-policy] if-match as-path-filter 1

[RouterB-route-policy] quit

[RouterB] bgp 200

[RouterB-bgp] peer 10.1.1.1 route-policy as-path import

以上配置好后,再在RouterB上执行display bgp routing-table命令,得到的效果一样,参见图8-76。

(4)在RouterC上配置AS_Path Filter,拒绝向RouterD通告AS_Path列表中包含AS 100的BGP路由;或者在RouterD上配置AS_Path Filter,拒绝从RouterC接收AS_Path列表中包含AS 100的BGP路由。

方案一:在RouterC上配置AS_Path Filter

[RouterC] ip as-path-filter 2 deny _100_   #---拒绝AS_Path表列中包含AS 100的BGP路由

[RouterC] ip as-path-filter 2 permit .*  #---允许其他所有BGP路由通过

此处仅采用直接调用AS_Path Filter的配置方式。

[RouterC] bgp 300

[RouterC-bgp] peer 10.1.3.2 as-path-filter 2 export  #---向对等体RouterD通告路由时调用1号AS_Path Filter

以上配置好后,再在RouterD上执行display bgp routing-table命令,可看到原来学习到的位于AS 100的192.168.1.0/24和位于AS 200的192.168.2.0/24两网段的BGP路由同时没有了(对比图8-75),如图8-77所示。因为原来在RouterD上的这两个网段的BGP路由的AS_Path表中都包含了AS 100。

图8-77 在RouterC上配置并应用好AS_Path Filter后,RouterD上的BGP路由表

方案二:在RouterD上配置AS_Path Filter

[RouterD] ip as-path-filter 2 deny _100_  

[RouterD] ip as-path-filter 2 permit .*

  • 采用直接调用AS_Path Filter的配置方式:

[RouterD] bgp 200

[RouterD-bgp] peer 10.1.3.1 as-path-filter 2 import  #---从对等体RouterA学习路由时调用1号AS_Path Filter

以上配置好后,再在RouterD上执行display bgp routing-table命令,得到的效果一样,参见图8-77。

  • 采用路由策略调用AS_Path Filter的配置方式:

[RouterD] route-policy as-path permit node 10

[RouterD-route-policy] if-match as-path-filter 2

[RouterD-route-policy] quit

[RouterD] bgp 200

[RouterD-bgp] peer 10.1.3.1 route-policy as-path import

以上配置好后,再在RouterD上执行display bgp routing-table命令,得到的效果一样,参见图8-77。

通过以上配置即完全实现了本示例的目的。

相关文章:

  • Linux驱动开发-设备树
  • python之使用scapy扫描本机局域网主机,输出IP/MAC表
  • OpenHarmony体系架构深度解析
  • Three.js 进阶(灯光阴影关系和设置、平行光、阴影相机)
  • Vue动态组件完全指南:原理、使用场景与最佳实践
  • 消防设施操作员考试:用故事开启高效备考之旅​
  • 数据分析项目:直播电商用户流失分析
  • 微信小程序面试内容整理-生命周期函数
  • Mamba| Miniforge3 安装和配置
  • 【Python 数据结构 14.邻接表】
  • 【鸿蒙开发】Hi3861学习笔记- GPIO之LED
  • Excel中国式排名,3种方法!
  • b站视频下载工具软件怎么下载
  • const_cast
  • c++ 中的引用
  • Jenkins链接私有仓库Failed to connect to repository,stderr: No ECDSA...的问题
  • 英语学习(GitHub学到的分享)
  • 革新音频技术,引领智能录音新时代—广州唯创电子WT2605芯片深度解析
  • HippoRAG 2 原理精读
  • (语法笔记 分析题解语法 二分 “unordered_map与vector<pair<>>“ 快速数组)leetocde 1146
  • 最高检公布一起离婚纠纷典型案例:推动离婚经济补偿制度落实
  • 上交所五方面落实募资新规:强化关键少数责任和股东权利保障
  • 手机表面细菌菌落总数可能比马桶高10倍,医生详解如何洗手
  • 腾讯一季度净利增14%:AI直接拉动广告收入增长,王者荣耀流水创新高
  • 张广智︱“编年事辑”:打开学人心路历程的窗户
  • 伊朗最高领袖顾问:伊朗愿承诺永不制造核武,换取美解除制裁