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

路由选择工具——IP-Prefix

一.IP-Prefix介绍

        IP前缀列表匹配路由的可控性比ACL高得多,也更为灵活。

        IP前缀列表可匹配路由前缀中的网络地址及网络掩码(前缀长度),增强了匹配的精确度。

        IP前缀列表除了能够匹配具体的网络掩码长度,还能够匹配掩码长度范围,非常灵活。

        一个IP前缀列表可以包含一个或多个表项(语句),在匹配过程中依序进行计算。表项中的索引号(序号)决定了每个表项在整个IP前缀列表中的位置。

        不能用于数据包过滤。

二.IP-Prefix原理

        每个地址前缀列表可以包含多个 IP-Prefix 条目,每个IP-Prefix条目对应一个索引号(index)。路由将按照索引号从小到大依次检查 IP-Prefix 列表,任意一个 IP-Prefix 匹配成功,将不再检查其余项。若所有IP-Prefix 都匹配失败,路由信息将被过滤。

        根据匹配的前缀不同,前缀过滤列表可以进行精确匹配,也可以进行在一定掩码长度范围内匹配。

        前缀过滤列表可以进行精确匹配或者在一定掩码长度范围内匹配,可以通过配置头键字 greater-equal 和 less-equal 指定待匹配的前缀掩码长度范围。如果没有配置关键字greater-equal或 less-equal,前缀过滤列表进行精确匹配,即只匹配掩码长度为前缀过滤列表掩码长度的相同P 地址路由:如果只配置了关键字 greater-equal,则待匹配的掩码长度范围为从 greater-equal 指定值到 32 位长度:如果只匹配了关键字 less-equal,则待匹配的掩码长度范围为从指定的掩码到关键字 less-equal 指定值。

三.ip-prefix 特点

        当所有前缀过滤列表均未匹配时,缺省情况下,存在最后一条默认匹配模式为 deny。

        当引用的前缀过滤列表不存在时,默认匹配模式为 permit。

四.IP前缀列表的配置

创建一个IP前缀列表的配置如下

[Huawei]ip ip-prefix name [ index index-number] { permit | deny } ip-address mask-length [greater-equal greater-equal-value ][less-equal less-equal-value ],

        Name参数是本IP前缀列表的名称。

        Index关键字及参数指示本表项在本|P前缀列表中的序号( 或索引号)该关键字及参数是可选的。缺省情况下,该序号值按照配置先后顺序依次递增,每次加10,第一个序号值为10.

        Permit及deny关键字用于配置本表项的匹配模式。

        ip-address mask-length参数用于分别制定IP地址及掩码长度。

        [ greater-equal greater-equal-value][less-equal less-equal-value]是可选配置,用于指定掩码长度的范围。

        如果在命令中只指定了greater-equal,则前缀范围为[greater-equal-value,32];

        如果在命令中只指定了less-equal,则前缀范围为[mask-length,less-equal-value]。

        IP前缀列表由列表名称进行标识,每个IP前缀列表可以包含多个表项。下面的配置展示了一个名为abcd它包含两个表项:

[Huawei] ip ip-prefix abcd index 10 deny 1.0.0.0 8

[Huawei] ip ip-prefix abcd index 20 permit 2.0.0.0 8

        在IP前缀列表的匹配过程中,设备按索引号升序依次检查各个表项,只要有一个表项满足条件,就不再去匹配后续表项。

        以ip ip-prefix abcd index 10 deny 1.0.0.0 8为例,这个表项属于IP前缀列表abcd,它的索引号为10并且匹配模式为拒绝,在该表项中IP前缀为1.0.0.0,掩码长度为8,因此这个表项用于匹配路由1.0.0.0/8只有该路由才会被匹配,并且该路由将会被该表项过滤( deny )。这个命令中没有定义掩码长度范围,如果一条路由无法被一个!P前缀列表中的所有表项匹配,那么这条路由被视为被该前缀列表拒绝通过。也就是说,一个IP前缀列表的末尾,隐含着一条拒绝所有的表项。

五.IP-Prefix 示例

1) ip ip-prefix FlLTER index 10 permit 1.1.1.0 24

该 ip-prefix 为精确匹配,只有 1.1.1.1/24 才能 permit

2)ip ip-prefix FlLTER index 10 permit 1.1.1.0 24 less-equal 32

掩码范围在 24-32 之间的网络 1.1.1.0 才能 permit

3)ip ip-prefix FlLTER index 10 permit 1.1.1.0 24 greater-equal 26

掩码范围在 26-32 之间的网络 1.1.10 才能 permit

4)ip ip-prefix FlLTER index 10 permit 1.1.10 24 greater-equal 26 less-equal 32

掩码范围在 26-32 之间的网络 1.1.1.0 才能 permit

5)ip ip-prefix FlLTER index 10 permit 0.0.0.0 0 greater-equal 8 less-equal 32

所有掩码长度在 8到 32 的路由都被 permit

6)匹配以下路由(用最精确最简洁的方式)

        192.168.4.0/24

        192.168.5.0/24

        192.168.6.0/24

        192.168.7.0/24

ip ip-prefix abcd permit 192.168.4.0 22 greater-equal 24 less-equal 24

        上面这条命令的意思是,允许那些网络地址的前22bit与192.168.4.0的前22bit相同,并且网络掩码长度为24的路由。注意此处"greater-equal 24less-equal24"要求网络掩码长度既大于或等于24又小于或等于24,因此只能是24。

特殊实例

1)匹配默认路由0.0.0.0/0:

ip ip-prefix FlLTER permit 0.0.0.0 0

注意:IP前缀为0.0.0.0时表示通配地址。此时不论掩码指定为多少,都表示掩码长度范围内的所有

路由全被匹配。

2)匹配所有/32主机路由:

ip ip-prefix FlLTER permit 0.0.0.0 0 greater-equal 32

3)匹配任意路由(any):

ip ip-prefix FlLTER permit 0.0.0.0 0 less-equal 32

六.IPv6-Prefix

        IPv6-Prefix根据配置的规则对 IPv6 报文进行分类,其实现原理和IP-Prefix基本相同。

         IPv6 地址前缀列表用于过滤 IPv6 地址。同一个地址前缀列表可包含多个表项,每个表项指定一个地址前缀范围。此时,各表项之间是“或”的关系,即只要通过其中一个表项就认为已通过该地址前缀列表的过滤,所有表项都没有通过则意味着没有通过该地址前缀列表的过滤。

        默认所有未匹配的路由将被拒绝通过过滤列表。如果所有表项都配置成 deny 模式则任何路由都不能通过该过滤列表。因此,需要在多条 deny 模式的表项后定义一条 permit ::0 less-equal 128 的表项,以允许其它所有 IPv6 路由信息通过。

七.IPv6-Prefix示例

        允许掩码长度在 32 位到 64 位之间的地址通过。

[Huaweil ip ipv6-prefix abc permit . 0 greater-equal 32 less-equal 64

        拒绝前缀为 3FFE:D00::/32,且前缀长度大于 32 位的地址通过,允许其他的 IPv6 路由通过。

[Huaweil ip ipv6-prefix abc deny 3FFE:D00:: 32 less-equal 128[Huaweil ip ipv6-prefix abc permit :: 0 less equal 128

        配置名为 p3 的地址前缀列表,拒绝::1~::FFFF:FFFF 范围内的所有路由通过,允许其他路由通过。

[Huaweil ip ipv6-prefix p3 index 10 deny :: 96 match-network[Huawei] ip ipv6 prefix p3 index 20 permit :: 0 less-equal 128

http://www.xdnf.cn/news/1189549.html

相关文章:

  • 如何查看电脑后门IP和流量?
  • 变频器实习DAY15
  • Kafka MQ 消费者应用场景
  • 机器人仿真(2)Ubuntu24.04下RTX5090配置IsaacSim与IsaacLab
  • 推荐系统(第三课第二周)
  • 【AcWing 143题解】最大异或对
  • Item14:在资源管理类中小心拷贝行为
  • 高并发微服务限流算法方案对比与实践指南
  • xLua和C#交互
  • 激光雷达-相机标定工具:支持普通相机和鱼眼相机的交互式标定
  • 字节跳动扣子 Coze 宣布开源:采用 Apache 2.0 许可证,支持商用
  • 6.数组和字符串
  • J2EE模式---表现层集成模式
  • 备份一下我的 mac mini 的环境变量配置情况
  • net-snmp添加自定义mib树
  • 【C++基础】指针常量 | 常量指针 | int* p | const int* p | int* const p| const int* const p
  • 详解力扣高频SQL50题之619. 只出现一次的最大数字【简单】
  • PCIe 的L状态(链路状态)和D状态(设备状态)
  • 前端组件梳理
  • 【WPF】NumericUpDown的用法
  • 【CTF-WEB-反序列化】利用__toString魔术方法读取flag.php
  • 教育培训系统源码解析:如何打造高可扩展的在线学习平台?
  • 【CTF-Web】dirsearch寻找download.php进行?path=flag.txt任意文件下载
  • Android Studio 提示信息 ‘equals(““)‘ can be replaced with ‘isEmpty()‘
  • 《Java 程序设计》第 6 章 - 字符串
  • VTK交互——Callback
  • NLua和C#交互
  • 访问者模式感悟
  • 泰山派GPIO编译 ADB下载 万用表测量GPIO电压
  • 【ELasticsearch】节点角色分类与作用解析