[root@localhost cc]# ip rule list 0: from all lookup local 32765: from 10.0.19.24 lookup 4096 32766: from all lookup main 32767: from all lookup default 现在有 4 条路由规则,优先级是怎样的,0 代表最低优先级还是最高优先级
在 Linux 的 IP 路由规则中,数值越小的优先级越高。所以,在你提供的这个输出中:
1. 优先级为 0 的规则有最高的优先级,它对所有来源的流量使用本地路由表进行查找。
2. 接下来是优先级 32765 的规则,它只对来源地址为 10.0.19.24 的流量使用 ID 为 4096 的路由表进行查找。
3. 然后是优先级 32766 的规则,它对所有来源的流量使用主路由表进行查找。
4. 最后,优先级 32767 的规则有最低的优先级,它对所有来源的流量使用默认路由表进行查找。
这意味着当有一个数据包需要路由时,系统会从优先级最高的规则开始检查,如果没有匹配的规则,就会继续检查下一条规则,直到找到一个匹配的规则。如果没有任何自定义规则匹配,最后会使用优先级为 32767 的默认规则。
/etc/iproute2 这个目录下的rt_tables 文件的作用是
1 /etc/iproute2/rt_tables 文件是 Linux 系统中 IP 路由表的名称映射文件。在这个文件中,你可以定义自定义的路由表,并为每个表指定一个唯一的标识符。每行包含一个标识符和相应的路由表名称,用空格分隔
2 典型的 /etc/iproute2/rt_tables 文件可能如下所示【路由表的持久化配置】:
```bash
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local tables
#
1024 local0
1025 local1
-- local, main, default, 和 unspec 是预留的标识符,分别对应于本地路由表、主路由表、默认路由表和未指定的路由表。
-- local0 和 local1 是用户自定义的本地路由表。
-- 这个文件的作用是为路由表标识符提供有意义的名称,使得用户和系统管理员能够更容易地理解每个路由表的用途。
-- 使用 ip route show table all 或 ip route list table all 命令可以列出当前系统中存在的路由表,这会显示在 /etc/iproute2/rt_tables 文件中定义的标识符和名称