目录

一、概述

二、使用

1、 基本语法

2、 主要选项说明

3、默认规则

4、获取帮助

三、示例

 1. 查看当前的路由策略规则

 2. 添加一条新的路由策略规则

 3. 添加一条基于优先级的路由策略规则

 4. 删除一条路由策略规则

 5. 清空所有的路由策略规则

四、路由策略数据库(RPDB)

五、常见用途

六、其他事项


一、概述

        ip rule 是 Linux 系统中用于管理路由策略数据库(Routing Policy Database, RPDB)的命令。它允许用户根据不同的条件(如源 IP 地址、目标 IP 地址、优先级等)来定义和应用不同的路由策略。通过 ip rule,系统管理员可以更灵活地控制数据包的路由选择,从而实现复杂的路由需求。

二、使用

1、 基本语法

基本语法如下:

ip rule { add | del } SELECTOR ACTION

ip rule { flush | save | restore }

ip rule [ list [ SELECTOR ]]

add:添加一条新的路由规则。

del:删除一条现有的路由规则。

Flush:清空现有的路由规则。

list:列出当前的路由规则。

2、 主要选项说明

- show:显示当前的路由策略规则。

- add:添加一条新的路由策略规则。

- del:删除一条已有的路由策略规则。

- flush:清空所有的路由策略规则。

3、默认规则

在linux系统中,默认情况下会有几条预定义的路由规则:

  • 优先级 0:local 表,用于本地交付(如环回地址)。
  • 优先级 32766:main 表,用于常规路由。
  • 优先级 32767:default 表,作为最后的备用路由。

可以通过以下命令查看默认规则:

4、获取帮助

可以通过如下命令获取帮助

ip rule help

实际操作如下:

三、示例

 1. 查看当前的路由策略规则

ip rule show

 2. 添加一条新的路由策略规则

假设我们希望所有来自 192.168.1.0/24 网络的数据包使用 table 10 路由表:

ip rule add from 192.168.1.0/24 table 10

实际操作如下:

 3. 添加一条基于优先级的路由策略规则

假设我们希望优先级为 100 的规则,所有来自 10.0.0.0/8 网络的数据包使用 table 20 路由表:

ip rule add from 10.0.0.0/8 priority 100 table 20

实际操作如下:

 4. 删除一条路由策略规则

假设我们要删除优先级为 100 的规则:

ip rule del priority 100

实际操作如下:

 5. 清空所有的路由策略规则

ip rule flush

        慎重,若你不是在本地操作,可能访问不到你的主机。

四、路由策略数据库(RPDB)

        路由策略数据库是一个有序的规则集合,每个规则都有一个优先级。当一个数据包到达时,系统会按照优先级顺序检查这些规则,直到找到匹配的规则为止。匹配的规则会指定使用哪个路由表来查找下一跳地址。

五、常见用途

1. 多路径路由:通过不同的路由表和规则,实现多条路径的负载均衡或故障切换。

2. 策略路由:根据源 IP、目标 IP、协议类型等条件,选择不同的路由路径。

3. 隔离网络:通过不同的路由表和规则,隔离不同网络之间的流量。

六、其他事项

1、修改路由策略规则可能会影响系统的网络连接,建议在修改前备份当前的路由配置。

2、使用 ip rule 命令需要 root 权限。

通过 ip rule 命令,Linux 系统管理员可以实现复杂的网络路由策略,满足各种网络需求。


        文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。


Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐